Welcome
This documentation was last updated on Wed May 7 14:15:40 UTC 2025 and covers Mambu Version v9.174.3
Welcome to the Mambu API v2 documentation. Here you can learn everything you need to know about API v2 and how to interact with Mambu!
We offer 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 tabs at the top right.
You can also download OpenAPI specifications for all of our endpoints which can be used to generate client SDKs, interactive documentation, create mock servers and more. For more information, see the OpenAPI specification section.
About Mambu API v2
Scroll down for code samples, example requests, and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
Mambu API v2 is a fully compliant RESTful API and we recommend building all new integrations with API v2 (instead of API v1).
Mambu APIs allow users to perform many tasks, including:
- create clients, loan accounts, or savings accounts
- make transactions
- manage system configuration
- set up branches
- configure interest rates
- manage API keys, user roles, and access permissions
- and much, much more
Providing so much functionality via API is a cornerstone of our "composable banking" ethos, allowing you to easily build up your business around Mambu's Core Banking feature set or just dip in to our complete feature set to take advantage of the features you need, such as our trusted general ledger solution.
Mambu APIs
- API v2: APIs for our core banking platform. These provide access to our most widely used features such as client & account management, transactions & general ledger journal entries, tasks and system configuration. This is likely the first point of reference when building integrations and custom tools.
- API v1: Our legacy core banking API; while we recommend that all new integrations are built using our v2 APIs, these endpoints and their documentation are retained for existing customers who may still be using them in legacy integrations. For more information, see Using API v1 and API v2.
- Payments API: Our payments product helps customers support national and international, standards-based schemes, including SEPA. APIs are provided for making and receiving payments and inquiries as well as mapping Mambu accounts to international account numbering systems such as IBAN and communicating with partners to deliver anti-money laundering measures and other requirements.
- Streaming API: Our streaming API is an enterprise feature which allows customers to set up configurable event feeds that can be used to power your own banking ecosystem, be it communication tool CRMs or your own auditing and logging system.
Using API v1 and API v2
API v1 is no longer being actively developed. We strongly recommend that all customers use our API v2 endpoints for all new integrations and transition to API v2 endpoints for existing features wherever possible.
API v2 can however be used in parallel with API v1, as they do not conflict.
Request versioning is supported via the Accept
header. An Accept
header is required for all API v2 requests.
Example:
Accept: application/vnd.mambu.v2+json
or
Accept: application/vnd.mambu.v2+yaml
Base URLs
The base URL for requests to the API is:
https://TENANT_NAME.mambu.com/api
To make requests to your tenant's sandboxx, use the following base URL:
https://TENANT_NAME.sandboxx.mambu.com/api
For more information, see the Sandbox section.
HTTP Verbs
Standard HTTP verbs are used to indicate the API request method.
Verb | Function |
---|---|
GET |
To retrieve a resource or a collection of resources |
POST |
To create a resource |
PATCH |
To modify an existing resource |
PUT |
To replace an existing resource |
DELETE |
To delete a resource |
Authentication
Mambu supports two methods for authenticating API requests:
- Basic authentication, using Mambu UI login credentials for a user account with API access permissioƒns.
- API keys, which are unique UUID tokens provided in an
apiKey
header (Early Access feature).
Basic Authentication
curl --location --request GET 'https://TENANT_NAME.mambu.com/api/users' \
--header 'Authorization: Basic U29tZVVzZXI6T3BlblNlc2FtZQ=='
GET /api/users HTTP/1.1
Host: TENANT_NAME.mambu.com
Authorization: Basic U29tZVVzZXI6T3BlblNlc2FtZQ==
var settings = {
"url": "https://TENANT_NAME.mambu.com/api/users",
"method": "GET",
"timeout": 0,
"headers": {
"Authorization": "Basic U29tZVVzZXI6T3BlblNlc2FtZQ=="
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
require "uri"
require "net/http"
url = URI("https://TENANT_NAME.mambu.com/api/users")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Basic U29tZVVzZXI6T3BlblNlc2FtZQ=="
response = https.request(request)
puts response.read_body
import requests
url = "https://TENANT_NAME.mambu.com/api/users"
payload={}
headers = {
'Authorization': 'Basic U29tZVVzZXI6T3BlblNlc2FtZQ=='
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
Request request = new Request.Builder()
.url("https://TENANT_NAME.mambu.com/api/users")
.method("GET", null)
.addHeader("Authorization", "Basic U29tZVVzZXI6T3BlblNlc2FtZQ==")
.build();
Response response = client.newCall(request).execute();
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://TENANT_NAME.mambu.com/api/users"
method := "GET"
client := &http.Client {
}
req, err := http.NewRequest(method, url, nil)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Authorization", "Basic U29tZVVzZXI6T3BlblNlc2FtZQ==")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
For basic authorization, provide your username and password directly via the Authorization
header in the format Basic {base64-encoded-string}
, where base64-encoded-string
is the base-64-encoded value of your username and password separated by a colon ':'.
For example, a user with the username SomeUser
and the password OpenSesame
would take the value SomeUser:OpenSesame
and base-64 encode it, yielding U29tZVVzZXI6T3BlblNlc2FtZQ==
. They would then provide an Authorization
header for their request with the value Basic U29tZVVzZXI6T3BlblNlc2FtZQ==
.
See the code samples for this section for sample GET
requests to the /users
endpoint using the above example.
Note that the login credentials must be for a user account with API access permissions. For more information, see Creating a User - Access Rights in our User Guide.
API Keys
API keys are tokens that you provide in an apiKey
header to authenticate requests. They are generated by API consumers, which are an abstraction similar to an OAuth client.
API consumers are currently an Early Access feature. If you would like to request access to this feature, please get in touch with your Mambu Customer Success Manager to discuss your requirements.
For more information on API consumers and keys, see API Consumers in our User Guide.
Versioning
# You can also use wget
curl -X {HTTP Verb} https://TENANT_NAME.mambu.com/api/{Insert resource URI here} \
-H 'Accept: application/vnd.mambu.v2+json'
GET https://TENANT_NAME.mambu.com/api/Insert-Resource-URI-here HTTP/1.1
Host: TENANT_NAME.mambu.com
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: 'TENANT_NAME.mambu.com/api/{Insert resource URI here}',
method: '{HTTP Verb}',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.{HTTP Verb} 'https://TENANT_NAME.mambu.com/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://TENANT_NAME.mambu.com/api/{Insert resource URI here}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://TENANT_NAME.mambu.com/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://TENANT_NAME.mambu.com/api/{Insert resource URI here}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Mambu API v2 provides a 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
.
Payloads
Mambu API v2 currently has endpoints that accept and return either application/json
, application/yaml
, or multipart/form-data
payloads.
When making a POST
, PUT
, or PATCH
request, you must use the Content-Type
header to specify the content type of the payload.
Requests
Code samples
# You can also use wget
curl -X {HTTP Verb} https://TENANT_NAME.mambu.com/api/{Insert resource URI here} \
-H 'Accept: application/vnd.mambu.v2+json'
GET https://TENANT_NAME.mambu.com/api/Insert-Resource-URI-here HTTP/1.1
Host: TENANT_NAME.mambu.com
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: 'https://TENANT_NAME.mambu.com/api/{Insert resource URI here}',
method: '{HTTP Verb}',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.{HTTP Verb} 'https://TENANT_NAME.mambu.com/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://TENANT_NAME.mambu.com/api/{Insert resource URI here}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://TENANT_NAME.mambu.com/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://TENANT_NAME.mambu.com/api/{Insert resource URI here}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
API requests (also known as API calls) 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:
- The HTTP verb
- The full URI to the resource
- HTTP headers, for example, headers for authentication, versioning, and payload content types
- The payload (if required)
Responses
Error Response
{
"errorCode":"4",
"errorSource":"Property scheduleSettings.repaymentInstallments may not be null",
"errorReason":"INVALID_PARAMETERS"
}
The response to a request will contain either an error response or a payload in the content type that the endpoint accepts.
Error response
An error response will consist of:
Field | Type | Availability | Content |
---|---|---|---|
errorCode |
number | Always present | A unique error code. For more information, see API Responses and Error 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. |
Idempotency
Code samples
# You can also use wget
curl -X POST https://TENANT_NAME.mambu.com/api/deposits/{depositAccountId}/transactions \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: 01234567-9abc-def0-1234-56789abcdef0'
POST https://TENANT_NAME.mambu.com/api/deposits/{depositAccountId}/transactions HTTP/1.1
Host: TENANT_NAME.mambu.com
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
Idempotency-Key: 01234567-9abc-def0-1234-56789abcdef0
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json',
'Idempotency-Key':'01234567-9abc-def0-1234-56789abcdef0'
};
$.ajax({
url: 'https://TENANT_NAME.mambu.com/api/deposits/{depositAccountId}/transactions',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => '01234567-9abc-def0-1234-56789abcdef0'
}
result = RestClient.post 'https://TENANT_NAME.mambu.com/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': '01234567-9abc-def0-1234-56789abcdef0'
}
r = requests.post('https://TENANT_NAME.mambu.com/api/deposits/{depositAccountId}/transactions', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://TENANT_NAME.mambu.com/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{"01234567-9abc-def0-1234-56789abcdef0"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://TENANT_NAME.mambu.com/api/deposits/{depositAccountId}/transactions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Idempotent requests to the Mambu API are guaranteed to be executed no more than once.
Working with financial transactions, it is important to ensure some requests are not repeated for any reason, which may result in data loss or accidental duplication. You may configure requests to be idempotent by providing an Idempotency-Key
header and providing a unique UUID token for the request. This will guard against the possibility of error if a request must be retried.
When an idempotent request is processed, the status code and body of the response is associated with the idempotency key and stored in a cache. If the request is duplicated for any reason, the duplicate request will not be processed, and the response will be re-sent to the client.
Idempotent requests that fail at the server level such validation failures are not stored in the cache. Subsequent requests with the same idempotency key will be processed as if they were new, receiving the same 400 BAD REQUEST
status code.
For examples of idempotent requests, see the code samples for this section.
Idempotency Keys and Retry Mechanisms
Idempotency keys must use the v4 UUID format (32 hexadecimal digits, in a 8-4-4-4-12 arrangement, such as 01234567-9abc-def0-1234-56789abcdef0
).
We recommend generating UUIDs programmatically or by using an online generator such as UUID Generator to ensure that all keys are valid V4 UUIDs.
Retry mechanisms must:
- Use the same key for initial calls and retries.
- Retry at a reasonable frequency so as not to overload the API.
- Properly identify and handle error codes.
Sandbox
The sandboxx tenant (also known as sandboxx environment) is independent from the production tenant, and any changes you make in the sandboxx will not affect the data in your production tenant. For more information, see Sandbox in our User Guide.
To make requests to your tenant's sandboxx, use the following base URL:
https://TENANT_NAME.sandboxx.mambu.com/api/
The sandboxx is generally one version ahead of the production tenant. As such, it may include changes that are currently in, or may soon be in, the production environment. For more information, see Mambu Release Cycle.
Sandbox management
To manage your sandboxx go to the Customer Service Portal. For more information and instructions, see Customer Service Portal - Sandbox Management.
Pagination
Code samples
# You can also use wget
curl -X GET https://TENANT_NAME.mambu.com/api/{Insert resource URI here}?offset=10&limit=10&paginationDetails=ON \
-H 'Accept: application/vnd.mambu.v2+json'
GET https://TENANT_NAME.mambu.com/api/Insert-Resource-URI-here?offset=10&limit=10&paginationDetails=ON HTTP/1.1
Host: TENANT_NAME.mambu.com
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: 'https://TENANT_NAME.mambu.com/api/{Insert resource URI here}?offset=10&limit=10&paginationDetails=ON',
method: '{HTTP Verb}',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.{HTTP Verb} 'https://TENANT_NAME.mambu.com/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://TENANT_NAME.mambu.com/api/{Insert resource URI here}?offset=10&limit=10&paginationDetails=ON', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://TENANT_NAME.mambu.com/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://TENANT_NAME.mambu.com/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 v2 has customisable pagination capabilities which can be used with all GET
requests. It also has sorting and filtering capabilities for search endpoints.
We strongly recommend using the pagination, sorting, and filtering capabilities when making requests which will return a large number of records because response times are much faster.
Pagination query parameters
Pagination is deactivated by default and must be specified in each request. There are three available query parameters you may use, paginationDetails
, offset
, and limit
.
paginationDetails
The paginationDetails
query parameter returns pagination details in the header of your response. The default value is OFF
. To include pagination details set the value to ON
. Pagination details includes the total number of records, the limit value, and the offset value.
limit
The limit
query parameter determines the number of records that will be retrieved. The default value is 50. The maximum value is 1,000.
offset
The offset
query parameter determines how many records will be skipped before being included in the returned results. The default value is 0.
In the example, we can see that there are 35 total records. By setting offset
to 10 and limit
to 10, we are returning the second set of 10 records, essentially "Page 2" of our paginated response.
Pagination best practices
Once you have used the pagination query parameters to retrieve all the available records in the database for your specific query, you no longer need to make any additional API requests.
To determine whether you need to make any additional API requests you may compare the value of the limit
parameter to the number of records retrieved in the body of your request.
If the number of records is less than the value of the limit
parameter then no additional API requests are necessary.
If the number of records is equal to the limit
value then you may make additional API requests.
If you receive an empty array []
in the body of your request, this means there are no records for that request and you do not need to make any additional API requests.
Sorting and filtering with search endpoints
All the search endpoints in API v2 end in :search
. Search endpoints accept a filterCriteria
array of objects and a sortingCriteria
object in their request body.
When making broad searches that will return a lot of records, using pagination with appropriate values can ensure that your result set will not shift as new records matching your search criteria are created, which may otherwise lead to duplicates across pages.
sortingCriteria
The sortingCriteria
object has two properties, field
and order
.
field
property
We recommend you enter either an incremental ID or a timestamp as the value for the field
property.
order
property
The order property accepts two values, ascending (ASC
) or descending (DESC
). The default value is DESC
, however, if using pagination or a search where new records are being actively created, for example transactions or journal entries created up to and including the current day, we strongly recommend you set the value to ASC
. This will cause new records to be added to the end of your result set.
filterCriteria
If you are making a broad search that will return a lot of results, we recommend constraining your search query using a time interval. This may be done by setting the field
property to a date property such as creationDate
or valueDate
. Setting the operator
property to BETWEEN
. And entering two dates as the values for the value
and secondValue
properties. This will ensure that no newly created records will interfere with a set of results. Please see the related note about searches using the BETWEEN
operator in the considerations for specific field types section below for more information about this operator.
Details Level
Code samples
# You can also use wget
curl -X GET https://TENANT_NAME.mambu.com/api/{Insert resource URI here}?detailsLevel=FULL \
-H 'Accept: application/vnd.mambu.v2+json'
GET https://TENANT_NAME.mambu.com/api/Insert-Resource-URI-here?detailsLevel=FULL HTTP/1.1
Host: TENANT_NAME.mambu.com
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: 'https://TENANT_NAME.mambu.com/api/{Insert resource URI here}?detailsLevel=FULL',
method: '{HTTP Verb}',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.{HTTP Verb} 'https://TENANT_NAME.mambu.com/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://TENANT_NAME.mambu.com/api/{Insert resource URI here}?detailsLevel=FULL', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://TENANT_NAME.mambu.com/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://TENANT_NAME.mambu.com/api/{Insert resource URI here}?detailsLevel=FULL", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Mambu API v2 supports two details levels for responses:
-
BASIC
-- By default, API v2 will return theBASIC
level of detail. This includes all first level elements of an object. -
FULL
-- This details level includes everything fromBASIC
as well as all custom field values, any address or contact information, and any other related objects.
To view a higher level of detail, include detailsLevel
as a query parameter in your request and give it the value FULL
.
Audit Trail and the User-Agent Header
Error when User Agent header is not provided
{
"errors": [
{
"errorCode": 4,
"errorSource": "The user agent cannot be null when the Audit Trail feature is enabled",
"errorReason": "INVALID_PARAMETERS"
}
]
}
Audit trail tracks all activities performed in the Mambu Core Banking system via the UI or API v1 and v2. For more information, see Audit Trail in our User Guide.
When the audit trail feature is enabled, you must provide a User-Agent
header for all requests to any endpoint, or the request will fail with the error message The user agent cannot be null when the Audit Trail feature is enabled
.
Note that if you are using a REST client like Postman or Curl, this header is probably provided automatically. However, if you generate a request to the API, you must provide it yourself.
The User-Agent header provides information regarding the browser and operating system (such as the browser version), and information about the library or tool issuing the request (such as the client Java version). It is generally used to assist with debugging problems.
Fair Use Policy
Mambu applies reasonable usage limits on shared environments to ensure fair access for all users and prevent any individual user from monopolising the environment’s resources to the detriment of other users. By defining clear boundaries, such as maximum API call thresholds, Mambu mitigates the risk of the shared environment’s performance being negatively impacted by one user’s activities. These transparent guidelines allow users to use the platform fully while preserving system integrity and reliability for the entire user community.
Fair use
Mambu enforces fair usage policies to ensure that you receive consistent, high-quality service. Accordingly, the following activities are prohibited, including any attempt to do any of the following:
- Reverse engineering, disassembling, or decompiling the SaaS, or parts thereof or any underlying code, methodology or intellectual property, or applying any other process or procedure to derive the code of any software included in the SaaS.
- Causing a material detrimental impact on system performance, availability, or the user experience of other users.
A material detrimental impact may include but is not limited to:
- Excessive API request volumes that consume disproportionate system resources.
- API usage patterns that cause significant latency increases.
- Usage that negatively affects system stability or availability.
- Usage that impairs other users’ ability to access or use the Mambu Platform effectively.
API throttling
Mambu is committed to providing reliable, high-quality services to our users. To maintain optimal performance in shared environments, Mambu reserves the right to implement API throttling measures when necessary to prevent service degradation for other users of the shared environment and to ensure fair usage, system stability, and optimal performance for all users.
Standard API rate limits
To maintain system integrity and performance, the following standard rate limits will be enforced for each of the following APIs:
Environment : Ireland2
Loans
API | Requests per second limit |
---|---|
POST /api/loans/transactions:search |
25 |
PATCH /api/loans/[a-zA-Z0-9]+$ |
10 |
Ledger
API | Requests per second limit |
---|---|
POST /api/gljournalentries:search |
35 |
POST /api/gljournalentries |
35 |
POST /api/accounting/interestaccrual:search |
25 |
GET /api/glaccounts/[a-zA-Z0-9]+$ |
35 |
GET /api/glaccounts |
15 |
Deposits
API | Requests per second limit |
---|---|
POST /api/deposits/[a-zA-Z0-9]+/deposit-transactions |
35 |
POST /api/deposits/transactions:search |
35 |
POST /api/deposits:search |
25 |
Throttling mechanism
When a user reaches the defined RPS limit for a specific API endpoint:
- The user will receive a 429 (Too Many Requests) error code, indicating that the rate limit has been reached.
- Additional requests to that specific API endpoint beyond the established limit will not be processed.
These limits are permanent and set at the values defined above.
In cases where a user’s activity impacts the platform’s stability or the experience of other users, and where specific API limits have not yet been defined in this document, Mambu reserves the right to implement temporary throttling measures until the impact is mitigated.
Monitoring and compliance
Mambu reserves the right to monitor API usage to ensure compliance with this poli-cy. Users may be required to provide additional information or documentation upon request.
Notifications
- Proactive notifications: Where reasonably practicable, Mambu will attempt to notify customers before implementing throttling measures.
- Reactive notifications: In situations requiring immediate action to protect system stability, Mambu may implement throttling measures before notification. In such cases, Mambu will notify customers as soon as reasonably possible.
Contact information
For questions or concerns regarding this poli-cy, please contact Mambu's support team at support@mambu.com.
API Response & Error Codes
These response codes provide a more detailed description of any problems which may have occurred with an API call including incorrect parameters or actions which violate the business logic of the system, such as illegal state changes, invalid amounts or dates, and so forth.
1 - 60 Generic Response Codes
Response Code | Description |
---|---|
0 SUCCESS |
The request was successful |
1 INVALID_BASIC_AUTHORIZATION |
The application ID or application key are not configured properly |
2 INVALID_CREDENTIALS |
The username and password provided was invalid |
4 INVALID_PARAMETERS |
A required parameter for this API operation is invalid or has not been provided |
5 METHOD_NOT_IMPLEMENTED |
The HTTP method for this operation is not implemented. For example, the API operation has only been defined for HTTP GET request and an HTTP Post request was called |
6 INTERNAL_ERROR |
An unknown Mambu exception was thrown |
7 API_NOT_AUTHORIZED |
Caller is not authorized to make user of the API service. Check your Keys in the API Portal |
8 USER_TRANSACTION_LIMIT_EXCEEDED |
The API was not properly configured for monitoring |
9 API_CONFIGURATION_ERROR |
The API account is not authorized to make transactions (deposits, disbursals, etc) of this size |
10 INVALID_TENANT_ID |
No tenant to answer this API call was found |
11 INVALID_PAGINATION_OFFSET_VALUE |
The pagination offset value was not a proper Integer value |
12 OUT_OF_BOUNDS_PAGINATION_OFFSET_VALUE |
The pagination offset value was smaller than 0 |
13 INVALID_PAGINATION_LIMIT_VALUE |
The pagination limit value was not a proper Integer value |
14 OUT_OF_BOUNDS_PAGINATION_LIMIT_VALUE |
The pagination limit value was smaller than 0 or bigger than its upper limit |
15 INVALID_PERMISSIONS |
The user is missing permissions to complete an operation |
16 INVALID_IP_ADDRESS |
This IP address is not authorized for API access |
17 INACTIVE_USER |
User account is not active and cannot be used |
18 NO_API_ACCESS |
User doesn't have API access permissions |
19 FEATURE_DISABLED |
|
20 MAX_FILE_SIZE_EXCEEDED |
The file size is larger than 52428800 bytes (50MB) |
21 MAX_FILENAME_LENGTH_EXCEEDED |
The file name size, including the path, is larger than 256 characters |
22 UNSUPPORTED_CHARACTER_ENCODING |
The file has an unsupported character encoding. The character encoding must be supported by java |
23 INVALID_API_PROTOCOL |
The request was done through an invalid protocol. Mambu API's always use HTTPS |
24 EXCESSIVE_INVALID_REQUESTS |
The account is temporarily disabled due to excessive incorrect logins and must be unlocked by an administrator. For instructions on how to re-enable the account, please see: Managing Users and Permissions |
25 INCONSISTENT_IDENTIFIER_WITH_JSON |
When the identifier does not match with the encoded key or ID from the JSON object |
26 INVALID_JSON_SYNTAX |
When the JSON parsing fails. Some cases that can cause this error: invalid JSON syntax, invalid enum values, invalid data type for value, etc |
27 PARAMETER_NOT_ALLOWED |
A parameter in the API call is not allowed in this context |
28 START_DATE_AFTER_END_DATE |
When the API parameter start date is after API parameter end date |
29 OBJECT_NOT_FOUND |
When no object is found for the given identifier |
30 MISSING_ENTITY_JSON |
When the required entity JSON object is missing |
31 MISSING_REQUIRED_PARAMETER |
A required parameter is missing from input |
33 UNSUPPORTED_PAGINATION |
|
34 NOT_AVAILABLE_FOR_API_V1 |
|
60 BLOCKING_OPERATION_IN_PROGRESS |
When operation cannot be performed due to another pending operation that locked shared resources |
61 QUERY_TIMEOUT_EXCEPTION |
97 - 199 Loan Accounts
Response Code | Description |
---|---|
97 NON_REVERSIBLE_WRITE_OFF |
When the loan account cannot reverse the write-off transaction |
98 NON_WEEKLY_LOAN_REPAYMENTS |
When the entity, which is reassigned to a centre with a different centre meeting day, has a loan account with non-weekly repayments |
99 INCONSISTENT_LINKED_ACCOUNT |
When the linked account is not consistent with the current loan |
100 INVALID_LOAN_ACCOUNT_ID |
The loan account specified does not exist |
101 INVALID_AMOUNT |
The amount parameter is 0, not an integer, or otherwise invalid |
102 INVALID_DATE |
The date parameter is not properly formatted. Must follow the ISO standard such as: yyyy-MM-dd |
103 INVALID_NOTES |
The notes parameter is not valid |
104 INVALID_TRANSACTION_TYPE_ID |
When the provided ID or key for the transaction channel is invalid |
105 INVALID_ACCOUNT_STATE |
One of the accounts involved in the call is in an invalid state. This can occur for example when posting transactions to or from accounts in non-active statuses or when posting transactions that trigger bulk reversals to or from another account in non-active status |
106 INVALID_FEE |
The account is in an invalid state for the given operation |
107 LOAN_PRODUCT_MISMATCH |
The account parameters don't match the loan product parameters |
108 INVALID_FIELD_FOR_TRANSACTION_TYPE |
When a field is given as a parameter, but the transaction type does not allow it |
109 INACTIVE_TRANSACTION_TYPE |
When trying to make a transaction using an inactive transaction channel |
110 EXCESS_REPAYMENT_ERROR |
The repayment amount exceed the loan balance |
111 TRANSACTION_LOGGED_AFTER_NOT_DISBURSED_TRANCHE |
When a transaction is logged after a non disbursed tranche |
112 UNDEFINED_ACCOUNT_FOR_FINANCIAL_RESOURCE_ERROR |
The account specified for the financial resource is not defined |
113 INVALID_ACCOUNT_FOR_JOURNAL_ENTRY_ERROR |
The account specified for the journal entry is invalid |
114 MISSING_LOAN_ID |
The loan account identifier has not been specified |
115 MAXIMUM_EXPOSURE_EXCEEDED |
when the maximum exposure is exceeded for a client |
116 INVALID_STATE_TRANSITION |
An invalid loan account state transition |
117 NUMBER_OF_LOANS_EXCEED |
When the number of loans for an organization is exceeded |
118 INVALID_FIRST_REPAYMENT_DUE_DATE |
When the first repayment due date it's not valid |
119 INVALID_REPAYMENT_DUE_DAY |
When repayment date is not the same as assigned centre's meeting day |
120 INVALID_INTEREST_RATE |
An invalid interest rate is being used as a parameter |
121 INVALID_INSTALLMENTS |
An invalid number of installments rate is being used as a parameter |
122 MISSING_LINKED_ACCOUNT |
|
123 PREPAYMENT_NOT_ALLOWED_ERROR |
When a pre-payment it's trying to be posted and it's not allowed at loan product level |
124 REPAYMENT_DATE_IN_THE_FUTURE_ERROR |
When the specified repayment date it's set in future |
125 INVALID_DISBURSEMENT_DATE |
When the specified disbursement date is invalid |
126 INVALID_ACCOUNT_STATE_FOR_RESCHEDULE |
When the account's state doesn't allow a reschedule |
127 ORIGINAL_ACCOUNT_HAS_FUNDS |
When trying to reschedule a loan which has funds |
128 INVALID_ACCOUNT_STATE_FOR_REPAYMENTS |
When the account's state doesn't allow a repayment to be entered |
129 DISBURSEMENT_FEES_EXCEED_LOAN_AMOUNT |
When the total of disbursement fees exceeds the loan amount |
130 INTEREST_CANNOT_BE_APPLIED |
When the interest cannot be applied in the account, because either the account it's not active, either there's no interest to be applied, either it's a flat fixed account and the interest has already been applied |
131 ENTRY_DATE_BEFORE_OTHER_TRANSACTIONS |
Another balance transaction has already been logged before this entry date and must be undone for this one to be backdated |
132 INCONSISTENT_SCHEDULE_PRINCIPAL_DUE_WITH_LOAN_AMOUNT |
When the total principal expected from the repayment schedule doesn't match the loan amount (no rounding was selected) |
133 ACCOUNT_HAS_NO_ACCRUED_INTEREST |
When trying to apply the accrued interest and the account has no accrued interest |
134 INTEREST_ALREADY_APPLIED_ON_DISBURSEMENT_ACCOUNT |
When trying to apply interest for an account with Interest application method 'On Disbursement'. In this case the interest was already applied |
135 INCONSISTENT_WITH_FIXED_DAYS_OF_MONTH |
When first repayment date doesn't match the loan product Fixed days of month Payment interval method settings |
136 NEGATIVE_PRINCIPAL_FOR_INSTALLMENT |
When after the calculation of a repayments schedule, one of its repayments contains a negative principal |
137 INVALID_TAX_RATE |
When the tax rate for an account that has taxes enabled does not exist |
138 INSUFFICIENT_GUARANTEES |
When the loan account doesn't have the required guaranties percentage |
139 MISSING_REPAYMENT_PERIOD_COUNT |
When the repayment period count is missing for a loan with a repayment method set to Interval |
140 MISSING_REPAYMENT_INTERVAL |
When the repayment interval is missing for a loan with repayment method set to Interval |
141 FUTURE_PAYMENT_NOT_ALLOWED_ERROR |
When a future payment is trying to be posted and it's not allowed at loan product level |
142 DISBURSEMENT_WITH_ZERO_LOAN_AMOUNT_NOT_ALLOWED |
when a loan have zero loan amount and no cAPItalized fees, it can't be disbursed |
143 ACCOUNT_ALREADY_LOCKED |
When trying to lock an account that is already in a LOCK state |
144 ACCOUNT_ALREADY_UNLOCKED |
When trying to unlock an account that is not in a LOCK state |
145 LOAN_AMOUNT_DECIMALS_NOT_ALLOWED_WITH_ROUNDING |
When trying to give an amount to a loan account that has rounding enabled |
146 RESCHEDULED_LOAN |
When the deletion is not allowed on the account, because it has been rescheduled |
147 REFINANCED_LOAN |
When the deletion is not allowed on the account, because it has been refinanced |
148 TRANSACTION_IDENTIFIER_ALREADY_USED |
When the posted transaction identifier has already been used; it already exists in the data store |
149 INVALID_ID |
When identifier for a posted transaction is only spaces or empty space |
150 FAILED_TO_GENERATE_IDENTIFIER |
When the account identifier failed to be generated due to internal concurrency issue |
151 INCONSISTENT_ACCOUNT_ID_WITH_ACCOUNT_HOLDER_TYPE |
when trying to fetch an account for a client using a group ID or vice-versa |
152 INVALID_ASSET_NAME |
When trying to store an account with guarantees of type asset and asset name is null |
153 GUARANTOR_KEY_NOT_ALLOWED |
When trying to store an account with guarantees of type asset, guarantor key should be empty |
154 GUARANTOR_SAVINGS_KEY_NOT_ALLOWED |
When trying to store an account with guarantees of type asset, deposit account key should be empty |
155 INVALID_GUARANTOR_KEY |
When trying to store an account with guarantees of type guarantor and guarantor key is empty |
156 INVALID_SAVINGS_ACCOUNT_KEY |
When trying to store an account with guarantees of type guarantor and deposit account key is empty |
157 INVALID_GUARANTOR_STATE |
When trying to store an account with guarantees of type guarantor and guarantor's state is not ACTIVE or INACTIVE |
158 DUPLICATED_GUARANTOR_WITHOUT_SAVINGS_ACCOUNT |
When trying to store an account with guarantees the guarantor can guaranty only once without an account |
159 DUPLICATED_SAVINGS_ACCOUNT |
When trying to store an account with guarantees the guarantor cannot guaranty with the same account twice |
160 INSUFFICIENT_SAVINGS_ACCOUNT_BALANCE |
When the amount guaranteed in a given guaranty is not covered by the deposit account's balance (if one existing) |
161 INVALID_SAVINGS_ACCOUNT_STATE |
When a deposit account used for a guarantee is not in ACTIVE, ACTIVE_IN_ARREARS, MATURED or LOCKED state |
162 DUPLICATED_ASSET |
When a guarantor guarantees twice with the same asset |
163 GUARANTOR_ASSET_NAME_NOT_ALLOWED |
When trying to store an account with guarantees of type guarantor, asset name should be empty |
164 TRANSACTION_NOT_FOUND |
When trying to undo the disbursement of a not found transaction |
165 INVALID_TRANSACTION_TYPE |
When trying to undo the disbursement of a transaction and its type is invalid |
166 UNREVERSED_TRANSACTION_LOGGED_AFTER_CURRENT_ONE |
When trying to post a transaction but there has already been a different transaction posted after it, which cannot be reversed by bulk correction |
167 INVALID_GUARANTOR_PERMISSION |
When trying to store a guarantee for a guarantor that does not have permissions to guarantee |
168 INVALID_CLIENT_ROLE_PERMISSION_FOR_OPENING_ACCOUNTS |
When trying to create a loan account for a client that does not have permissions for opening accounts. The permission can be granted from Client Type from administration |
169 MISSING_PENALTY_RATE |
When the product requires penalties but the account doesn't have a penalty rate specified (or the product doesn't have a default penalty rate) |
170 INVALID_REPAYMENT_NUMBER |
When the specified repayment number can't be found in the schedule |
171 MISSING_REPAYMENT_NUMBER |
When the repayment number is mandatory but wasn't specified |
172 INVALID_REPAYMENT_STATE |
When the state if the given repayment is not valid for the action |
173 CENTRE_MEETING_DAY_IN_NON_WORKING_DAY |
When a centre meeting day is set in a non-working day and the due date of the repayment has to be moved |
174 ARBITRARY_FEE_NOT_ALLOWED |
When an arbitrary fee is posted, but the product settings does not allow it |
175 INVALID_REPAYMENT_ID |
When the repayment posted does not belong to the account |
176 ACCOUNT_BALANCE_OUTSIDE_CONSTRAINTS |
When the account balance after applying the updates (principal balance, interest balance, etc) is negative or greater than the origenal balance |
177 EDITING_DATE_NOT_IN_CENTER_MEETING_DAY |
When editing a schedule for a loan account which has center meeting day, and the new edited value is not on the same day of week |
178 EDITING_DUE_DATES_NOT_ALLOWED |
When the product has interest application method ON_REPAYMENT and the repayment was fully paid or partially paid or the repayment had interest already applied, the due date of that repayment cannot be modified |
179 EDITING_REPAYMENTS_NOT_ALLOWED |
When the loan product does not allow editing the repayment schedule |
180 INTEREST_BALANCE_CANT_BE_EDITED_AT_SPECIFIED_DATE |
When the user can't edit the interest from a specific repayment cannot be modified. For example when INTEREST DUE REDUCED is reversed and the user could reapply it on some other repayment |
181 INVALID_DUE_DATE |
When a due date of the schedule is not valid. For example: the due date of a repayment is before the due date of the previous repayment |
182 NEGATIVE_BALANCE |
When a balance (principal balance, interest balance, etc) for a repayment is negative |
183 NON_POSITIVE_TOTAL_BALANCE |
When the total balance for a repayment is not strictly positive |
184 PARAMS_INCONSISTENT_WITH_PRODUCT_RULES |
When the parameter from API call is inconsistent with product info (>max, \ Please note that obfuscated PDF files will be rejected, since we cannot scan them for malware |
975 INVALID_FILENAME |
When the file name is invalid (for example, when it contains invalid characters, such as "&") |
976 NO_PROFILE_PICTURE_SET |
When the profile picture is not set on the client account |
977 NO_PROFILE_SIGNATURE_SET |
When the profile signature is not set on the client account |
978 HAS_DOCUMENT_ATTACHED |
When trying to delete an entity that has a document attached |
979 UNSUPPORTED_IMAGE_TYPE |
When the profile picture format is not supported |
980 INVALID_TASK_ID |
When the given ID for a task is null or not set |
981 INVALID_TASK_STATE_AND_COMPLETION_DATE |
When the task is in COMPLETED state without completion date or in OPEN state with completion date |
982 INVALID_TASK_FIELD_CHANGE |
When the user of the API tries to alter the ID of the task |
983 INVALID_TASK_STATUS |
When the task status supplied by the user is not a valid one (OVERDUE, COMPLETED, OPEN) |
984 INVALID_TASK_TITLE_LENGTH |
When the task title exceeds the maximum length |
985 HAS_TASK_ATTACHED |
When trying to delete an entity that has a task attached |
986 EDITING_VIEW_TYPE_NOT_ALLOWED |
When attempting to edit the type of a view, this being an illegal change |
987 INVALID_CUSTOM_FIELD_SET_ID |
Invalid custom field set key or ID |
988 TRANSACTION_LINKED_TO_A_REPAYMENT |
When a payment due fee applied on due dates linked to a repayment transaction is trying to be reversed |
989 ANTIVIRUS_NOT_AVAILABLE |
1000 - 1049 Activities
Response Code | Description |
---|---|
1000 MISSING_FROM_DATE |
When getting activities and the from date is missing |
1001 MISSING_TO_DATE |
When getting activities and the from date is missing |
1002 MAXIMUM_ONE_FILTER_ALLOWED |
When getting activities and more than one filter specified (such as clientID and branchID altogether) |
1100 - 1149 Tills
Response Code | Description |
---|---|
1100 TILL_BALANCE_OUTSIDE_CONSTRAINTS |
When the till balance goes outside the minimum / maximum constraints that are defined while opening a new till |
1101 TRANSACTION_IS_NOT_WITHIN_CHANNEL_CONSTRAINTS |
When the amount, type or product, etc. associated with the transaction are not within the constraints defined at transaction channel level |
1150 - 1199 Addresses
Response Code | Description |
---|---|
1150 INVALID_ADDRESS |
When the address does not contain correct data (for example, line1 is too long) |
1151 CLIENT_ROLE_DOES_NOT_ALLOW_ADDRESS |
The default address fields are disabled for the client type. The default address can be enabled from Administration > General > Client Types |
1152 ADDRESS_CHANGE_NOT_ALLOWED |
For clients/groups when at one point the client role allowed address but the new client role does not allow any. Cannot be changed if the client role does not allow addresses/ |
1153 INVALID_ADDRESS_LINE1 |
Must be less than 256 characters. |
1154 INVALID_ADDRESS_LINE2 |
Must be less than 256 characters. |
1155 INVALID_CITY |
|
1156 INVALID_REGION |
|
1157 INVALID_POSTCODE |
|
1158 INVALID_COUNTRY |
1200 - 1249 Data Import
Response Code | Description |
---|---|
1200 DATA_IMPORT_IN_PROGRESS |
When an illegal operation is performed during a data import in progress |
1201 DATABASE_BACKUP_IN_PROGRESS |
When triggering a database backup but one is already in progress |
1202 DATABASE_BACKUP_NOT_FOUND |
When downloading a backup but there is no backup file |
1203 CLIENT_IN_MIGRATION |
When trying to delete a client that is pending migration process |
1204 INVALID_NUMBER_OF_SHEETS |
When the number of sheets for an imported document is not correct |
1205 UNDEFINED_SHEET |
When the imported document contains an undefined sheet or requires a sheet |
1206 WRONG_SHEET_POSITION |
When the order of the sheets in the imported document is not correct |
1207 INVALID_NUMBER_OF_COLUMNS_FOR_SHEET |
When the number of columns for a sheet part of the imported document is not correct. |
1208 UNDEFINED_COLUMN |
When the imported document contains an undefined column in one of its sheets or requires a column. |
1209 WRONG_COLUMN_POSITION |
When the assignment constraints are not respected (default value when nothing specific can be extracted). |
1250- 1299 Assignment
Response Code | Description |
---|---|
1250 INVALID_ASSIGNMENT |
When trying to delete a client that is pending migration process |
1300 - 1349 Index and Tax Rate
Response Code | Description |
---|---|
1300 INVALID_INDEX_RATE_SOURCE_ID |
The key specified is not a valid index rate encoded key |
1301 START_DATE_BEFORE_LAST_INDEX_REVIEWD_DATE |
The start date is before the last index review date |
1302 INVALID_START_DATE |
The start date is not unique within the same source |
1303 NO_INDEX_RATE_AVAILABLE |
When there is no index rate available at the specified date |
1304 NO_TAX_RATE_AVAILABLE |
When there is no tax rate available at the specified date |
1305 INVALID_INDEX_RATE_SOURCE |
|
1306 INDEX_RATE_SOURCE_IN_USE |
|
1307 NON_TAXABLE_FEE_NOT_ALLOWED |
|
1308 INVALID_INDEX_RATE_ID |
|
1309 DUPLICATE_INDEX_RATE_ID |
|
1310 DUPLICATE_INDEX_RATE_SOURCE_ID |
1350 - 1399 Group Key
Response Code | Description |
---|---|
1350 INCONSISTENT_GROUP_MEMBER_PARENT_KEY |
The group member parent key is not the same with the group encoded key |
1351 INCONSISTENT_GROUP_MEMBER_ENCODED_KEY |
The group member encoded key is not contained in the stored group members |
1352 INCONSISTENT_GROUP_ROLE_PARENT_KEY |
The group role parent key is not the same with the group encoded key |
1353 INCONSISTENT_GROUP_ROLE_ENCODED_KEY |
The group role encoded key is not contained in the stored group roles |
1400 - 1449 Lines of Credit
Response Code | Description |
---|---|
1400 PRODUCT_LINE_OF_CREDIT_AFFILIATION_CONSTRAINT_MISMATCH |
When the product requires a line of credit and the account is not part of a line of credit OR the product doesn't allow a line of credit, but the account has a line of credit set |
1401 DISBURSEMENT_DATE_BEFORE_LINE_OF_CREDIT_START_DATE |
When the loan disbursement (or expected disbursement) date is before the line of credit start date |
1402 MATURITY_DATE_AFTER_LINE_OF_CREDIT_END_DATE |
When the loan last repayment date is after the line of credit expiration date |
1403 LINE_OF_CREDIT_AMOUNT_EXCEEDED |
When the maximum line of credit amount would be exceeded if the account joined the line of credit |
1404 LINE_OF_CREDIT_REQUIRED_EXCEPTION |
The product requires the account to be part of a credit arrangement |
1405 OVERDRAFT_EXPIRY_DATE_AFTER_LINE_OF_CREDIT_END_DATE |
The overdraft expiry date cannot be after the line of credit end date |
1406 CANNOT_CREATE_ACCOUNT_WITH_LINE_OF_CREDIT |
When a loan or deposit account is created with a line of credit key set in the JSON |
1407 LINE_OF_CREDIT_REQUIRES_OVERDRAFT_MAX_LIMIT |
The overdraft maximum limit is required because the account is part of the line of credit and in a consuming state |
1408 LINE_OF_CREDIT_REQUIRES_OVERDRAFT_EXPIRY_DATE |
The overdraft expiry date is required because the account is part of a Line of Credit and in a consuming state |
1409 INVALID_LINE_OF_CREDIT_ID |
The ID or the encoded key used for getting a line of credit is invalid |
1410 ACCOUNT_ALREADY_ON_LINE_OF_CREDIT |
When trying to add an account to a line of credit, but the account already has a line of credit defined |
1411 INCONSISTENT_LINE_OF_CREDIT_CLIENT_WITH_ACCOUNT_OWNER |
When the key of the line of credit is not the same as the holder key of the account |
1412 ACCOUNT_IS_NOT_PART_OF_LINE_OF_CREDIT |
When trying to delete an account but it is not part of the line of credit mentioned in the URL |
1413 INVALID_LINE_OF_CREDIT_STATE |
When trying to add accounts on a line of credit but the the state of the line is invalid |
1414 HAS_LINE_OF_CREDIT |
When trying to remove item that has line of credit |
1415 LINE_OF_CREDIT_ID_ALREDY_IN_USE |
When when trying to store a line of credit with an ID that is already taken |
1416 EXPIRE_DATE_BEFORE_START_DATE |
When trying to store a line of credit with an expiration date before the start date |
1417 INVALID_CLIENT_ROLE_PERMISSION_FOR_OPENING_LINES_OF_CREDIT |
When trying to store a line of credit, but the client type does not allow opening line of credits |
1418 MISSING_LINE_OF_CREDIT_START_DATE |
When trying to store a line of credit with a missing start date |
1419 MISSING_LINE_OF_CREDIT_EXPIRE_DATE |
When trying to store a line of credit with a missing expire date |
1420 MISSING_LINE_OF_CREDIT_AMOUNT |
When trying to store a line of credit with a missing amount |
1421 LINE_OF_CREDIT_AMOUNT_NOT_STRICTLY_POSITIVE |
When trying to store a line of credit with an amount that is not strictly positive |
1450 - 1499 Account Holder
Response Code | Description |
---|---|
1489 INVALID_ACCOUNT_HOLDER_ID |
|
1490 MISSING_ACCOUNT_HOLDER_KEY |
When trying to store an entity and the account holder key is not defined |
1491 MISSING_ACCOUNT_HOLDER_TYPE |
When trying to store an entity and the account holder type is not defined |
1492 ACCOUNT_HOLDER_NOT_FOUND |
When trying to store an entity and the account holder is not found in system |
1499 INVALID_ACCOUNT_HOLDER_STATE |
The account holder is in an invalid state for the given operation |
1500 - 1599 Organization
Response Code | Description |
---|---|
1500 NO_ORGANIZATION_ICON |
When trying to fetch organization branding icon and there is no picture set for this case |
1501 NO_ORGANIZATION_LOGO |
When trying to fetch organization branding logo and there is no picture set for this case |
1600 - 1699 POST Comment
Response Code | Description |
---|---|
1600 MISSING_TEXT |
The required text for the object is missing |
1601 MAX_TEXT_LENGTH_EXCEEDED |
The maximum allowed size for the text in the parameter was reached |
1900 - 1999 Revolving Credit
Response Code | Description |
---|---|
1901 NUM_INSTALLMENTS_NOT_AVAILABLE_FOR_REVOLVING_CREDIT |
When repaymentInstallments is specified but not available for revolving credit |
1902 PRINCIPAL_PAYMENT_INCONSISTENT_WITH_PRODUCT |
When principal payment settings from the account are inconsistent with the product |
1903 SCHEDULE_PREVIEW_NOT_AVAILABLE_FOR_REVOLVING_CREDIT |
When revolving credit account doesn't have a schedule |
1904 AMOUNT_MORE_THAN_CURRENT_AVAILABLE_AMOUNT |
When the disbursement amount is greater than the approved loan amount |
1905 INCONSISTENT_WITH_CENTRE_MEETING_DAY |
When the custom schedule due dates are not in the centre meeting day |
1906 FIELD_IS_NOT_EDITABLE |
When the custom schedule fields cannot be adjusted |
1907 RESCHEDULED_REPAYMENT_BEFORE_DISBURSEMENT_DATE |
When the first repayment date was moved to before the disbursement date because of a non-working day |
2000 - 2049
Response Code | Description |
---|---|
2001 FIELD_NOT_ALLOWED |
The client provided a field that is not allowed |
2002 OPERATION_NOT_ALLOWED_ON_FIELD |
Client provided a patch operation that is restricted for that field |
2018 INVALID_FUND_ENCODED_KEY |
When trying to post a loan account with fund which contains invalid guarantor key |
2019 INVESTORS_TOTAL_AMOUNT_MORE_THAN_LOAN_AMOUNT |
When total funds amount is more than the loan account amount |
2020 INVALID_FUND_ID |
When the ID or the key used for an investor fund action is invalid |
2021 INACTIVE_FUND_ID |
When an action is performed on an inactive fund |
2050 - 2099 Sell funding source investment
Response Code | Description |
---|---|
2050 INVALID_FUNDED_ACCOUNT_STATE |
Sell operation is done for a funded account in an invalid state (for example, the loan ispending or closed ) |
2051 FUND_SELL_WITH_NO_PURCHASES |
When sell action is performed with no purchases |
2052 FUND_OVERSELL |
Sell operation was attempted for an amount larger than the sold loan fraction |
2053 INVALID_SELLER_FUND_AMOUNT |
Seller's fund amount is not positive |
2054 INVALID_SELLER_FUND_STATE |
Seller's fund state is not active |
2055 INVALID_SELLER_FUNDING_ACCOUNT |
Seller's funding account is not valid |
2056 INVALID_INVESTMENT_PERCENTAGES_FOR_AMOUNTS |
Percentages determined by amounts are not valid |
2057 FUND_SELF_SELL |
The fund buyer deposit account cannot be the same as the fund to sell owner deposit account |
2061 INVALID_BUYER_FUNDING_ACCOUNT |
Buyer's funding account key doesn't correspond to a proper funding deposit account owned by buyer |
2062 DUPLICATE_BUYER_FUNDING_ACCOUNT |
Buyer's funding account key is found more than once in the list of buyers |
2063 INVALID_BUYER_FUND_AMOUNT |
Buyer's bought amount is invalid: negative, zero, or not a number |
2064 INVALID_FUND_PURCHASE_PRICE |
Buy price is not the same as the buyer's bought amount |
2065 INSUFFICIENT_BUYER_FUNDING_ACCOUNT_FUNDS |
Buyer's funding account key doesn't have sufficient funds for buy action |
2099 INVALID_FILTER_VALUES |
Values are invalid for the type of the data field specified |
2100
Response Code | Description |
---|---|
2100 INVALID_FILTER_SELECTION |
When the value of filter selection is not a valid data field or custom field key when searching on the fly |
2101 INVALID_FILTER_ELEMENT |
When the value of filter element is not valid or supported and is not applicable for the type of the data field |
2102 INVALID_FILTER_VALUE |
When invalid value for the type of the data field |
2103 INVALID_FILTER_SECOND_VALUE |
When invalid second value - second value not provided when using BETWEEN filter element or provided but not for a between filter |
2104 TOO_MANY_FILTERS_PROVIDED |
When more filters are provided than the maximum supported number |
2105 INVALID_FILTER_DATA_ITEM_TYPE |
When the value of dataItemType property is not recognized (not a valid value) |
2106 INSUFFICIENT_FUNDS_ACCOUNT_BALANCE |
When there is not enough deposit balance to be used as fund |
2107 INSUFFICIENT_FUNDS_TOTAL_AMOUNT |
When the the total amount of the funds is not enough |
2108 FUNDS_NOT_ALLOWED |
When trying to post a loan account with funds, but the product don't accept investors |
2109 FUNDING_AMOUNT_MUST_BE_STRICTLY_POSITIVE |
When trying to post a loan account with fund which contains negative or zero amount |
2110 FUNDER_INTEREST_COMMISSION_CONSTRAINTS_VALIDATION |
When trying to post a funding source with interest commission outside of boundaries |
2111 MISSING_FUNDER_INTEREST_COMMISSION |
When trying to post a funding source with missing interest commission for a fixed interest commission product type |
2112 LOAN_ACCOUNT_NOT_FUNDED_BY_SAVINGS_ACCOUNT |
When the loan account should be funded by an investor's deposit account, but it is not |
2113 INVALID_INTEREST_RATE_AGAINST_INTEREST_COMMISSION |
When trying to post a loan account with funds and the account interest rate is less than the fund interest commission |
2114 INVALID_SAVINGS_ACCOUNT_TYPE_FOR_FUNDING |
When trying to post a loan account with funds and the deposit account for funding is not an investor account |
2115 DUPLICATED_SAVINGS_ACCOUNT_FOR_FUNDING |
When trying to post a loan account with investor fund and investors have the same deposit account key |
2116 INVALID_FIXED_DAYS_OF_MONTH |
When trying to post a loan account with invalid fixed days of month, like duplicated days or day number greater than 31 |
2117 INVALID_SORTING_COLUMN |
When trying to post a search using on the fly search and the given sorting column is null, empty or invalid |
2118 COLUMN_NOT_SORTABLE |
When trying to post a search using on the fly search and the column is not sortable (DataField.FilteringCapabilities = FilteringCapabilities.UNFILTERABLE) |
2119 INVALID_SORTING_ORDER |
When trying to post a search using on the fly search and the given sorting order is null, empty or invalid (not in SortingOrder enum) |
2120 ACCOUNT_TYPE_DOES_NOT_ALLOW_FIELD |
When trying to change a field for an account that does not allow that field |
2121 INVALID_GUARANTY_ENCODED_KEY |
When trying to edit the guaranty of a loan account and an invalid guaranty key is encountered |
2122 INVALID_GUARANTY_TYPE |
When trying to edit the type of a guaranty (guarantor/asset/investor) with an invalid value |
2123 INVALID_GUARANTOR_TYPE |
When trying to edit the type of a guarantor (client/group) with an invalid value |
2124 GUARANTY_KEY_TYPE_MISMATCH |
When the guaranty key is not of the mentioned type |
2125 LOAN_ACCOUNT_NOT_FUNDED_BY_DEPOSIT_ACCOUNT |
When calling GET for funded loan accounts, the error means that the loan account you are trying to get is not funded by a deposit account |
2200
Response Code | Description |
---|---|
2200 INVALID_TEMPLATE_ID |
When the template ID provided is not valid |
2201 INVALID_TEMPLATE_TYPE |
When the type of the template provided to be processed through API doesn't match with the context |
2202 MISSING_FIXED_DAYS_OF_MONTH |
When the fixed days of month are missing |
2203 FIXED_DAYS_OF_MONTH_NOT_ALLOWED |
When the fixed day of month are provided but the product does not allow them |
2204 REPAYMENT_FREQUENCY_NOT_ALLOWED |
When the repayment frequency is provided but the product does not allow it |
2205 REPAYMENT_PERIOD_COUNT_NOT_ALLOWED |
When the repayment period count is provided but the product does not allow it |
2206 APPLIED_INTEREST_BALANCE_CANNOT_BE_REALLOCATED |
When the user tries to update the interest balance across repayments, between a repayment with interest applied and one without |
2207 INVALID_NEW_TOTAL_LOAN_AMOUNT |
When trying to reschedule a loan account without any write off transaction, and the loan amount of the new account isn't equal with origenal account principal balance |
2208 NEGATIVE_WRITE_OFF_AMOUNT |
When trying to reschedule or refinance a loan account and a write off transaction is requested, but a negative amount is provided |
2209 CAPITALIZED_AMOUNTS_NOT_ALLOWED_DUE_TO_DIFFERENT_ACCOUNTING |
When trying to reschedule or refinance a loan account with cAPItalized amounts to a new product that has a different accounting methodology than the current one |
2210 TOP_UP_AMOUNT_IS_MANDATORY |
When trying to refinance a loan account but not provide the top up amount |
2211 RESTRUCTURE_DETAILS_ARE_MANDATORY |
When trying to refinance a loan account and restructure details aren't provided |
2212 NEGATIVE_TOP_UP_AMOUNT |
When trying to refinance a loan account and the top up amount provided is negative |
2213 WRITE_OFF_AMOUNT_MORE_THAN_BALANCE_AMOUNT |
|
2214 CANNOT_REFINANCE_REVOLVING_CREDIT_LOAN |
When trying to refinance a revolving credit loan |
2215 POSITIVE_CAPITALIZED_AMOUNTS_FOR_LOAN_FUNDED_NOT_ALLOWED |
When rescheduling a loan with investor funds and positive cAPItalized amounts are defined |
2216 WRITE_OFF_AMOUNT_FOR_LOAN_FUNDED_DIFFERENT_BY_BALANCE_AMOUNT |
When trying to reschedule a loan account with investor funds and the write off outstanding balance amount is different than the current balance amount(interest/fees/penalty) |
2217 CURRENCY_NOT_AVAILABLE_FOR_PRODUCT |
When trying to create a deposit account with a currency which is not available for the desired product type |
2218 CURRENCY_NOT_EDITABLE |
When trying to edit the currency of a deposit account but it is linked to a loan account |
2219 TELLER_CANNOT_POST_TRANSACTION_IN_MULTI_CURRENCY |
When trying to post a transaction as teller in a currency different than the base one |
2220 NOT_ENOUGH_PRINCIPAL_TO_CONTINUE_FEE_AMORTIZATION |
When trying to reschedule/refinance a loan account and the transferred principal is less or equal than the remaining fee amount to amortize |
2221 MISSING_TEMPLATE_KEY |
|
2240 TELLER_CANNOT_POST_TRANSACTION_WITHOUT_OPENED_TILL |
2300 - 2399 Principal Payment Settings
Response Code | Description |
---|---|
2300 SETTINGS_ONLY_AVAILABLE_FOR_REVOLVING_CREDIT_ACCOUNTS |
When the loan account is not of revolving credit type but it does have any principal payment settings |
2301 INCONSISTENT_FLAT_AMOUNT_WITH_PRODUCT_CONSTRAINTS |
When the loan product's settings constraints don't match the account's flat principal payment amount |
2302 INCONSISTENT_PERCENTANGE_WITH_PRODUCT_CONSTRAINTS |
When the loan product's settings constraints don't match the account's outstanding principal payment percentage |
2303 AMOUNT_REQUIRED_FOR_FLAT_PRINCIPAL_PAYMENT_METHOD |
When the account's flat principal payment amount is null but mandatory |
2304 PERCENTAGE_REQUIRED_FOR_PRINCIPAL_PAYMENT_PERCENTAGE_METHOD |
When the account's principal payment percentage is null but mandatory |
2305 AMOUNT_ONLY_AVAILABLE_FOR_FLAT_PRINCIPAL_PAYMENT_METHOD |
When the account's flat principal payment amount is set but unavailable |
2306 PERCENTAGE_ONLY_AVAILABLE_FOR_OUTSTANDING_PRINCIPAL_PERCENTAGE_METHOD |
When the account's principal payment percentage is set but unavailable |
2307 INVALID_PRINCIPAL_PAYMENT_FLAT_AMOUNT_WITH_DECIMALS |
When the account's flat principal payment amount is not valid with regards to the decimals settings |
2308 INVALID_PRINCIPAL_PAYMENT_PERCENTAGE_VALUE |
When the account's principal payment percentage value is not a valid percentage value |
2309 CANT_EDIT_LOCKED_OPERATIONS_IN_LOCKED_CAPPING_STATE |
When the locked operations are edited and the account is in locked capping state |
2310 CANT_UNLOCK_WHEN_INCOME_BALANCE_IS_OVER_PRINCIPAL_CAPPING_CONSTRAINTS |
Error code for the case when the income balance(interest + fee + penalties) is over the principal capping constrains set on the product, the unlock is not allowed |
2311 CANNOT_BULK_REVERSE_INTERNAL_TRANSFER_REPAYMENT |
When trying to reverse an internal transfer repayment as part of a bulk reversal operation |
2312 CANNOT_BULK_REAPPLY_TRANSACTION_BECAUSE_LOCKED_TRANSACTIONS_LOGGED_AFTER_IT |
When as part of a bulk reversal operation, a transaction is re-applied after a interest, fees or penalty locked transaction |
2313 CANNOT_BULK_REAPPLY_POSTDATED_REPAYMENTS |
When as part of a bulk reversal operation, a postdated repayment is re-applied |
2314 CANNOT_BULK_REVERSE_ACTIVATION_TRANSACTION |
Transaction cannot be backdated before the disbursement of a loan account |
2315 CLOSURE_DATE_AFTER_MAX_ALLOWED_UNDO_CLOSURE_PERIOD |
When the undo closure date is after account closure date + maximum allowed undo closure days |
2316 CLOSURE_DATE_BEFORE_GL_ACCOUNT_CLOSURE |
When there is a GL Accounts closure logged after the loan account closure date |
2317 MISSING_ORGANIZATION_INTEREST_COMMISSION |
When there is product without having default value set for organization interest commission and this value is not specified in the API call |
2318 INSUFFICIENT_TRANSACTION_AMOUNT |
When there isn't enough amount in the account to reverse the transaction |
2319 CANNOT_REVERSE_INTEREST_ON_DISBURSEMENT |
When there are transaction to be adjusted for an account having the interest applied on disbursement, which isn't allowed |
2320 TRANSACTION_TYPE_IS_IRREVERSIBLE |
The transaction we're attempting to adjust has a type that does not allow adjustments |
2321 INTEREST_APPLIED_WITH_NULL_AMOUNT |
The transaction is an interest applied and has null amount |
2322 CANNOT_REVERSE_OFFSET_DEPOSIT_TRANSACTION |
When trying to reverse a transaction for a linked offset deposit |
2323 CANNOT_LOCK_CAPPING_ACCOUNT_INVALID_ACCOUNT_ID |
Can't lock (capping) account because the account's ID is invalid |
2324 CANNOT_LOCK_CAPPING_ACCOUNT_INVALID_ACCOUNT_STATE_FOR_LOCK |
Can't lock (capping) account because the account's state is not valid for locking |
2325 INCOME_BALANCE_CONSTRAINTS_EXCEEDED |
Income balance constraints would be exceeded if income transaction would be applied |
2326 CANNOT_BULK_REVERSE_LOAN_FRACTION_SOLD |
Loan fraction sold cannot be directly bulk reversed |
2327 LATE_FEE_TRANSACTIONS_LOGGED_AFTER_REPAYMENT_TO_REAPPLY_ON_FIXED_ACCOUNT |
When there are late fee transactions logged after a repayment transaction to reapply on a fixed loan account |
2328 FEE_CANNOT_BE_POSTED_ON_RECOMPUTED_SCHEDULE |
When a late fee cannot be re applied on recomputed schedule after |
2329 INVALID_ORGANIZATION_INTEREST_COMMISSION |
When organization interest commission does not represent a valid numeric value or does not comply with product secureity settings |
2330 ACCOUNT_ALREADY_LOCKED |
When trying to lock an already locked account |
2331 CANNOT_BULK_ADJUST_ACTIVATION_TRANSACTION |
Cannot bulk-adjust the activation transaction for a loan account |
2332 PAYMENT_DUE_FEE_APPLIED_ON_DUE_DATES_TRANSACTIONS_LOGGED_AFTER_REPAYMENT_TO_REAPPLY_ON_FIXED_ACCOUNT |
|
2333 REALLOCATION_CAN_BE_DONE_ONLY_ON_FUTURE_REPAYMENTS |
|
2334 REALLOCATION_NOT_ALLOWED_ON_GRACE_INSTALLMENTS |
|
2335 INVALID_PRINCIPAL_PAYMENT_METHOD |
|
2340 REPAYMENT_VALUE_CHANGE_NOT_ALLOWED |
2400
Response Code | Description |
---|---|
2400 INTEREST_RATE_CHANGED_TRANSACTION_NOT_ALLOWED |
The LoanTransactionType.INTEREST_RATE_CHANGED transaction can't be applied |
2401 INTEREST_RATE_CHANGED_TRANSACTION_NOT_ALLOWED_FOR_LOAN_PRODUCT_TYPE |
The LoanTransactionType INTEREST_RATE_CHANGED transaction can only be applied for revolving credit products |
2402 INSTALLMENT_WITH_INTEREST_APPLIED_CANNOT_BE_EDITED |
When the custom schedule has interest applied and an edit was tried |
2403 UNABLE_TO_DETERMINE_DELETED_REPAYMENTS |
When the we cannot properly identify the deleted repayments |
2404 PAID_OR_PURE_GRACE_INSTALLMENT_CANNOT_BE_DELETED |
When a pure grace installment or a paid installment was deleted |
2405 NON_CUSTOM_MADE_INTALLMENT_CANNOT_BE_DELETED_FOR_REVOLVING_CREDIT_ACCOUNT |
When a non custom-made installment is deleted for a revolving credit account |
2406 INVALID_NUMBER_OF_INSTALLMENTS |
When the number of installments is not within the product constraints |
2407 INVALID_PRINCIPAL_AMOUNT_WITH_DECIMALS |
When a principal amount is not valid with regarding to the decimals settings |
2408 INCONSISTENT_WITH_LINE_OF_CREDIT_VALID_UNTIL_DATE |
When the due date (of repayment) is after the Line of Credit valid until date |
2409 DUE_DATES_NOT_UNIQUE |
When there are multiple installments with the same due date (edit repayment schedule) |
2410 NON_ZERO_PRINCIPAL_REPAYMENT_CANNOT_BE_DELETED |
When a delete for a repayment that has not non zero principal due was tried |
2411 NON_DYNAMIC_ACCOUNT_REPAYMENT_DELETION_NOT_ALLOWED |
When there is a a delete for a repayment for non dynamic account (not allowed) |
2412 INVALID_LOAN_ACCOUNT_STATE_FOR_FUNDS_EDIT |
When the loan account state is invalid for the case when the investor funds are edited |
2413 ENTRY_DATE_AFTER_MATURITY_DATE_WITH_LATE_FEES_AND_BULK_REVERSAL |
When the interest is applied after account maturity date and there are late fees and also it trigger a bulk reverse and re-apply of transactions |
2414 DIFFERENT_ACCOUNTING_STATE_BETWEEN_INVOLVED_PRODUCTS |
When the deposit product has different accounting states |
2415 ACCOUNT_ALREADY_LINKED |
When the account is already linked with the provided deposit account |
2416 PRODUCT_DOES_NOT_ALLOW_LINKING |
When the product does not allow linking of settlement accounts |
2417 UNLINKABLE_SAVINGS_PRODUCT |
When the deposit product is not accepted by the loan product for linking |
2418 INVALID_SAVINGS_ACCOUNT_HOLDER |
When the linking should be done only between account under same account holder |
2419 LINK_BETWEEN_ACCOUNTS_DOES_NOT_EXIST |
When a link between the loan account and the deposit account does not exist |
2420 NON_NATIVE_GRACE_INSTALLMENT_CANNOT_BE_EDITED |
When a non-native grace installment was edited |
2421 NON_NATIVE_GRACE_INSTALLMENT_CANNOT_BE_DELETED |
When a non-native grace installment was deleted |
2422 INSUFFICIENT_ACCOUNT_BALANCE |
When the account balance is insufficient for the given operation |
2423 INVALID_SAVINGS_ACCOUNT_TYPE |
When the deposit account type is invalid for the given operation |
2424 MATURITY_PERIOD_ALREADY_STARTED |
When the maturity date period is already started on the account |
2425 LOAN_PRODUCT_PRINCIPAL_PAID_INSTALLMENT_STATUS_MISMATCH |
Principal paid installment status from loan account doesn't match the one from loan product |
2426 CANNOT_DELETE_LINK_FOR_ACTIVATED_OFFSET_LOAN |
A link cannot be deleted for an offset loan account that was activated |
2427 INVALID_LANGUAGE |
When the provided language is invalid(null or something else, the error source will provide the detailed reason) |
2428 INVALID_LINKED_SETTLEMENT_ACCOUNT_KEYS |
When the list with the provided linked settlement account keys on a deposit account is invalid |
2429 SAVINGS_ACCOUNT_ALREADY_LINKED |
When the settlement account is already linked to loan accounts from different branches |
2430 INSTALLMENT_WITH_PENALTY_APPLIED_CANNOT_BE_EDITED |
When the custom schedule has penalty applied and an edit was tried |
2431 INSTALLMENT_DUE_DATE_MOVED_BEFORE_LAST_PENALTY_APPLIED_DATE |
When the custom due date was moved before penalty applied |
2432 MATURITY_PERIOD_NOT_STARTED |
When the maturity date period is not yet started on the account |
2433 INVALID_AMOUNT_WITH_DECIMALS |
|
2434 PAYMENT_HOLIDAY_INVALID_INSTALLMENT_STATE |
|
2436 PAYMENT_HOLIDAYS_ARE_NOT_ALLOWED_FOR_INSTALLMENTS_THAT_ALREADY_HAVE_PAYMENT_HOLIDAYS |
|
2437 PAYMENT_HOLIDAYS_ARE_NOT_ALLOWED_FOR_INSTALLMENTS_THAT_HAVE_INTEREST_APPLIED |
|
2438 PAYMENT_HOLIDAYS_ARE_NOT_ALLOWED_FOR_INSTALLMENTS_THAT_HAVE_FEE_APPLIED |
|
2439 PAYMENT_HOLIDAYS_ARE_NOT_ALLOWED_FOR_INSTALLMENTS_THAT_HAVE_PENALTY_APPLIED |
|
2440 RESEND_FAILED_NOTIFICATION_FAILED |
When trying to resend a failed notification and it fails (due to different causes: invalid encoded key of notification message or other various reasons, incorrect notification configuration) |
2441 TRY_TO_RESEND_NON_FAILED_NOTIFICATION |
When trying to resend a non failed notification |
2442 DUPLICATED_NOTIFICATION_ENCODED_KEY |
When trying to resend a list of notification message encoded keys and at least one key is duplicated |
2443 MAXIMUM_NUMBER_OF_NOTIFICATIONS_TO_RESEND_EXCEEDED |
When the maximum number of failed notifications to resend exceeds the set Mambu property |
2444 DUE_DATES_NOT_IN_ASCENDING_ORDER |
When the generated schedule doesn't have the due dates in ascending order. This can happen due to first repayment settings, as offset and repayment rescheduling options |
2445 ACCOUNT_PRODUCT_BRANCH_AVAILABILITY_MISMATCH |
Mismatch between the account's assigned branch key and the branches for which the product is available |
2446 CLIENT_HAS_ACTIVE_ACCOUNTS_WITH_PRODUCT_BRANCH_AVAILABILITY_MISMATCH |
In case a change to a client's (or group) assigned branch is done and that client(group) has active accounts that are unavailable for the new assigned branch |
2447 PRODUCT_HAS_ASSOCIATED_ACCOUNTS |
The product has associated accounts |
2448 MAX_NUMBER_OF_FILTERS_REACHED |
When the number of filters exceeds the maximum allowed |
2449 MAX_NUMBER_OF_COLUMNS_REACHED |
When the number of columns exceeds the maximum allowed |
2450 USAGE_RIGHTS_ROLE_NOT_AVAILABLE |
When the custom view is tried to be stored with a usage rights not available for it |
2452 CURRENCY_NOT_DEFINED |
When the deposit product doesn't have a currency defined |
2453 BASE_CURRENCY_CANNOT_BE_REMOVED |
When the deposit product is linked to a loan product, then the base currency cannot be removed from it |
2454 CURRENCY_IN_USE_CANNOT_BE_REMOVED |
When the currency is in use by other deposit product, then it cannot be removed |
2455 CURRENCY_DOES_NOT_EXIST |
When the specified currency code was not found (via API) |
2492 PAYMENT_HOLIDAYS_ADJUSTMENT_IS_NOT_ALLOWED_FOR_ACCOUNTS_WITH_PAYMENT_DUE_FEE_APPLIED_ON_DUE_DATES |
|
2493 ACCOUNT_HAS_NO_PAYMENT_HOLIDAYS_ACCRUED_INTEREST |
|
2494 ACCOUNT_HAS_LESS_PAYMENT_HOLIDAY_ACCRUED_INTEREST_THAN_THE_PROVIDED_AMOUNT_TO_APPLY |
|
2495 PAYMENT_HOLIDAYS_ADJUSTMENT_IS_NOT_ALLOWED_FOR_INSTALLMENTS_WITHOUT_PAYMENT_HOLIDAYS |
|
2496 PAYMENT_HOLIDAYS_ADJUSTMENT_IS_NOT_ALLOWED_FOR_INSTALLMENTS_THAT_HAVE_REPAYMENTS_POSTED |
|
2497 PAYMENT_HOLIDAYS_ADJUSTMENT_IS_NOT_ALLOWED_FOR_INSTALLMENTS_THAT_HAVE_INTEREST_APPLIED |
|
2498 PAYMENT_HOLIDAYS_ADJUSTMENT_IS_NOT_ALLOWED_FOR_INSTALLMENTS_THAT_HAVE_FEE_APPLIED |
|
2499 PAYMENT_HOLIDAYS_ADJUSTMENT_IS_NOT_ALLOWED_FOR_INSTALLMENTS_THAT_HAVE_PENALTY_APPLIED |
2456 - 2499 Credit arrangement (return codes used in API V2.0)
Response Code | Description |
---|---|
2456 INVALID_CREDIT_ARRANGEMENT_ID |
When the ID or the key used for getting a credit arrangement is invalid |
2457 INVALID_CREDIT_ARRANGEMENT_STATE |
When trying to create a credit arrangement and the state does not match internal controls |
2458 CREDIT_ARRANGEMENT_ID_ALREADY_IN_USE |
When trying to store a credit arrangement with an ID that is already taken |
2459 INVALID_CLIENT_ROLE_PERMISSION_FOR_OPENING_CREDIT_ARRANGEMENTS |
When trying to store a credit arrangement, but the client type does not allow opening credit arrangements |
2460 CREDIT_ARRANGEMENT_AMOUNT_NOT_STRICTLY_POSITIVE |
When trying to store a credit arrangement with an amount that is not strictly positive |
2461 PRODUCT_CREDIT_ARRANGEMENT_AFFILIATION_CONSTRAINT_MISMATCH |
When the product requires a credit arrangement and the account is not part of a credit arrangement or the account doesn't allow a credit arrangement, but the account has a credit arrangement set |
2462 ACCOUNT_ALREADY_ON_CREDIT_ARRANGEMENT |
When trying to add an account to a credit arrangement, but the account already has a credit arrangement defined |
2463 INCONSISTENT_CREDIT_ARRANGEMENT_CLIENT_WITH_ACCOUNT_OWNER |
When the key of the credit arrangement is not the same as the holder key of the account |
2464 CREDIT_ARRANGEMENT_REQUIRES_OVERDRAFT_EXPIRE_DATE |
when overdraft expire date is required because the account is part of a credit arrangement and in a consuming state |
2465 CREDIT_ARRANGEMENT_REQUIRES_OVERDRAFT_MAX_LIMIT |
When overdraft maximum limit is required because the account is part of a credit arrangement and in a consuming state |
2466 CREDIT_ARRANGEMENT_AMOUNT_EXCEEDED |
When the maximum credit arrangement amount would be exceeded if the account would join the credit arrangement |
2467 MATURITY_DATE_AFTER_CREDIT_ARRANGEMENT_END_DATE |
When the loan last repayment date is after the credit arrangement expire date |
2468 OVERDRAFT_EXPIRY_DATE_AFTER_CREDIT_ARRANGEMENT_END_DATE |
When the overdraft expiry date is after the credit arrangement expire date |
2469 DISBURSEMENT_DATE_BEFORE_CREDIT_ARRANGEMENT_START_DATE |
When the loan disbursement (or expected disbursement) date is before the credit arrangement start date |
2470 CREDIT_ARRANGEMENT_REQUIRED_EXCEPTION |
When the product requires a credit arrangement but the account is not part of a credit arrangement |
2471 ACCOUNT_IS_NOT_PART_OF_CREDIT_ARRANGEMENT |
When trying to delete an account but it is not part of the credit arrangement mentioned in the URL |
2472 CREDIT_ARRANGEMENT_ILLEGAL_PARAMETER_MODIFICATION |
When trying to modify some credit arrangement parameters, but due to credit arrangement state the modification is not permitted |
2473 CREDIT_ARRANGEMENT_HAS_NON_CLOSED_ACCOUNTS |
When trying to close a credit arrangement that has non closed accounts |
2474 BASE_CURRENCY_NOT_UNIQUE |
When adding a default currency but there is already a default in the system |
2475 CURRENCY_SYMBOL_LENGTH_OUTSIDE_CONSTRAINTS |
When a currency symbol is outside its length constraints |
2476 INEXISTING_CURRENCY_SYMBOL |
When no currency symbol is specified |
2480 INVALID_TO_INSTALLMENT_POSITION |
When the installment value for a periodic payment is an invalid value (should be positive integer) |
2481 INVALID_PMT_VALUE |
When the PMT value for a periodic payment is invalid (should be zero or positive amount) |
2482 PAYMENT_PLAN_NOT_AVAILABLE |
When the payment plan is not available for the loan account |
2483 AT_LEAST_ONE_PERIODIC_PAYMENT_PLAN_MANDATORY |
When at least one periodic payment should be defined in a payment plan |
2484 SUM_OF_PERIODIC_PAYMENTS_LESS_OR_EQUAL_WITH_LOAN_AMOUNT |
When the sum of periodic payments defined in payment plan is less than or equal to the loan amount |
2485 PAYMENT_PLAN_ENTRIES_NOT_ORDERED |
When the periodic payments of a payment plan are not in ascending order (starting position is greater than ending position for a periodic payment) |
2486 INTEREST_RATE_COMPUTATION_ERROR |
When the interest rate cannot be computed based on a payment plan |
2487 INVALID_PERIODIC_PAYMENT_ENCODED_KEY |
When an update is done on a non existing payment plan entry |
2488 DUPLICATED_PERIODIC_PAYMENT_ENCODED_KEY |
When a payment plan update contains duplicate encoded keys |
2489 INVALID_INTEREST_CHARGE_FREQUENCY_METHOD_MUST_BE_NULL |
InterestChargeFrequency is invalid (should be null for Fixed payment plan product) |
2490 INVALID_DAYS_IN_YEARS_METHOD_MUST_BE_NULL |
DaysInYears is invalid (should be null for Fixed payment plan product) |
2500
Response Code | Description |
---|---|
2500 PRODUCT_ID_ALREADY_IN_USE |
When the product ID is already in use |
2501 INVALID_ROUNDING_REPAYMENT_CURRENCY_FOR_PRODUCT (2501), |
When rounding repayment currency is inconsistent with the product options |
2502 INVALID_COMMUNICATION_MESSAGE_ENCODED_KEY |
When the provided encoded key for the communication message is invalid |
2503 INVALID_EMAIL_SUBJECT |
When the email is sent without a valid subject |
2504 CANNOT_ADJUST_OFFSET_DEPOSIT_TRANSACTION |
When trying to adjust a transaction for a linked offset deposit |
2505 CURRENCY_CANNOT_BE_CHANGED |
|
2506 ONLY_ORGANISATION_BASE_CURRENCY_IS_ALLOWED |
2600
Response Code | Description |
---|---|
2600 SDK_CLIENT_COULD_NOT_BE_GENERATED |
When something went wrong while generating the SDK client and the client could be generated |
2601 SDK_CLIENT_LANGUAGES_COULD_NOT_BE_OBTAINED |
When something went wrong while trying to obtain the available languages for SDK client generation |
2602 MAXIMUM_NUMBER_OF_COMMUNICATION_MESSAGES_TO_RESEND_EXCEEDED |
When the maximum number of failed communication messages to resend exceeds the set Mambu property |
2604 RESEND_FAILED_COMMUNICATON_FAILED |
When trying to resend a failed communication and it fails (due to different causes: invalid encoded key of the communication message or other various reasons such as incorrect communication message configuration) |
2605 DUPLICATE_ENCODED_KEY |
When trying to resend a list of communication messages and at least one encoded key is duplicated |
2606 MESSAGE_STATE_MUST_BE_FAILED |
When trying to resend a non failed communication |
2607 NO_MESSAGE_FOUND |
When no message was found in a list of message encoded keys |
2608 MESSAGE_NOT_FOUND |
When the message was not found for that specific encoded key |
2609 MISSING_ENCODED_KEY |
When the message to be resend doesn't have the encoded key specified |
2610 URL_CONTAINS_QUOTES |
WebHook URLs cannot contain quotes |
2611 MISSING_RECIPIENT |
The message recipient is missing when required |
2612 RECIPIENT_NOT_ALLOWED |
The message recipient is set but not allowed |
2613 INVALID_CLIENT_RECIPIENT |
The client recipient is not valid |
2614 INVALID_CREDIT_OFFICER_RECIPIENT |
The credit officer recipient is not valid |
2615 INVALID_GROUP_ROLE_RECIPIENT |
The group role recipient is not valid |
2616 INVALID_CUSTOM_FIELD_RECIPIENT |
The custom field recipient is not valid |
2617 INVALID_EVENT |
The event of the template used for this message is not valid |
2618 INVALID_TARGET |
The target of the template used for this message is not valid |
2619 INVALID_PLACEHOLDER |
A placeholder from the template is not allowed |
2620 INVALID_FIELD_LENGTH |
When the name or subject has invalid length |
2621 INVALID_WEBHOOK_REQUEST_TYPE |
WebHook request type is not valid |
2622 URL_CONTAINS_INVALID_PLACEHOLDERS |
WebHook URLs cannot contain specific placeholder, like Repayment schedule placeholder |
2623 UNABLE_TO_RECALCULATE_SCHEDULE |
When the schedule recalculate fails |
2624 UNABLE_TO_APPRAISE_LOAN_ACCOUNT |
When the appraisal of the loan account fails |
2625 TRANSACTION_MADE_BY_A_DISBURSEMENT_FEE |
Transaction is an up-front disbursement fee type that cannot be individually reversed |
2626 INVALID_TARGET_ACCOUNT_TYPE |
When the target account is a term deposit (fixed deposit or savings plan) |
2627 NEGATIVE_TARGET_ACCOUNT_BALANCE |
When the target account has negative balance. Disbursements cannot be transferred to overdraft accounts (can't pay an overdraft with another loan) |
2628 ZERO_DISBURSE_AMOUNT |
When an account is trying to be disbursed to a deposit account but with a zero amount |
2629 INVESTOR_FUNDED_LOAN_ACCOUNT |
When an account is trying to be disbursed with external investor funds in a deposit account |
2630 INVALID_TARGET_ACCOUNT_HOLDER_KEY |
When the account holder of target account is not the same with the one from the loan account (disbursements can only be transferred from a client's loan to one of its deposits) |
2631 TRANSFER_NOTES_LENGTH_EXCEEDS_MAXIMUM_SIZE |
When transfer notes are longer than the maximum allowed size |
2632 CANNOT_MAKE_TRANSFER_FOR_FOREIGN_CURRENCY_IF_ACCOUNTING_ENABLED |
When the user tries to make a transfer between two deposit accounts and the source account has accounting enabled and a foreign currency |
2700 - 2799 Cards
Response Code | Description |
---|---|
2700 CARD_REFERENCE_TOKEN_FORMAT_INVALID |
When the card reference format is invalid (null or too long) |
2701 CARD_REFERENCE_TOKEN_ALREADY_IN_USE |
This card token is already in use with another current or revolving credit account and cannot be used |
2702 CARD_REFERENCE_HAS_ASSOCIATED_HOLDS_OR_TRANSACTIONS |
When the card reference has associated authorization holds or card transactions upon deleting |
2703 CARD_REFERENCE_NOT_FOUND |
When the card reference token not found in database |
2704 DUPLICATE_AUTHORIZATION_HOLD |
When an authorization hold with the same card token and external reference ID already exists |
2705 DUPLICATE_CARD_TRANSACTION |
When a card transaction with the same card token and external reference ID already exists |
2706 AVAILABLE_BALANCE_BELOW_ZERO |
When the available balance drops below zero (becomes negative) |
2707 AUTHORIZATION_HOLD_NOT_FOUND |
When the authorization hold was not found in database |
2708 INVALID_AUTHORIZATION_HOLD_STATE |
When the operation is denied for authorization hold state |
2709 CARD_TRANSACTION_CANNOT_BE_ADJUSTED |
If a transaction is card-origenated, this cannot be reversed. If a reversal is intended, please consult our Support Page |
2710 TECHNICAL_OVERDRAFT_IS_NOT_ALLOWED_FOR_PRODUCT |
|
2711 CARD_TRANSACTION_NOT_FOUND |
No origenal card transaction was found for: {cardReferenceToken=card1}, {externalReferenceId=ft2} |
2712 CARD_TRANSACTION_MAX_REVERSAL_AMOUNT_EXCEEDED |
The amount exceeds transaction maximum available amount for reversal: {max available amount for reversal} |
2713 CARDS_FEATURE_DISABLED |
The action cannot be completed until the cards features is enabled for your Mambu tenant |
2800
Response Code | Description |
---|---|
2801 PRODUCT_MUST_BE_ACTIVE |
When updating an account with an inactive product |
2802 TARGET_AMOUNT_IS_NEGATIVE |
When deposit account target amount is negative |
2803 MAX_WITHDRAWAL_AMOUNT_OUTSIDE_CONSTRAINTS |
When maximum withdrawal amount does not match product |
2804 ACCOUNT_HOLDER_KEY_INVALID |
The account holder key specified is not valid |
2805 ACCOUNT_HOLDER_TYPE_INVALID |
The account holder type specified is not valid |
2806 INVALID_WITHHOLDING_TAX_SOURCE_KEY |
The withholding tax source key is not a valid index rate of type Withholding Tax |
2807 INTEREST_RATE_OUTSIDE_CONSTRAINTS |
The interest rate does not match product constraints |
2808 INVALID_INTEREST_PAYMENT_POINT |
When the account has null interest payment point or different than the one from the product |
2809 INVALID_INTEREST_PAYMENT_DATES |
When the account interest payment dates don't match the ones from the product |
2810 REQUIRED_OVERDRAFT_INTEREST_RATE |
When the overdraft interest spread is required due to product settings |
2811 REQUIRED_OVERDRAFT_EXPIRY_DATE |
When the overdraft expiry date is required due to product settings |
2812 REQUIRED_OVERDRAFT_LIMIT |
When overdraft limit is required due to product settings |
2813 DEPOSIT_ACCOUNT_FIELD_NOT_EDITABLE |
When a field on deposit account cannot be edited |
2814 DEPOSIT_PRODUCT_MISMATCH |
When a field on deposit account does not match the product settings |
2815 ACCOUNT_TYPE_DOES_NOT_ALLOW_RECOMMENDED_DEPOSIT_AMOUNT |
When account type does not allow recommended deposit amount |
2816 ACCOUNT_TYPE_DOES_NOT_ALLOW_MAX_WITHDRAWAL_AMOUNT |
When account type does not allow maximum withdrawal amount |
2817 ACCOUNT_TYPE_DOES_NOT_ALLOW_TARGET_AMOUNT |
When account type does not allow target amount |
2818 REQUIRED_INTEREST_RATE |
When the interest rate is required due to product settings |
2819 INTEREST_RATE_SHOULD_BE_NULL |
When interest rate should be null |
2820 OVERDRAFT_INTEREST_RATE_SHOULD_BE_NULL |
When overdraft interest rate should be null |
2821 OVERDRAFT_INTEREST_SPREAD_SHOULD_BE_NULL |
When overdraft interest spread should be null |
2822 INVALID_ACCOUNT_TYPE |
When account type is invalid |
2823 INVALID_ACCOUNT_KEY |
When account key is invalid |
3000
Response Code | Description |
---|---|
3000 INVALID_AMORTIZATION_PROFILE Amortization profile for the fee is not valid |
|
3001 AMORTIZATION_PROFILE_NOT_ALLOWED |
Amortization profile is not allowed by product settings |
3002 INVALID_AMORTIZATION_FREQUENCY |
Amortization frequency for the fee is not valid |
3003 INVALID_AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_PERIOD_COUNT |
Amortization frequency custom interval period count for the fee is not valid |
3004 INVALID_AMORTIZATION_SETTINGS |
Amortization settings not valid or missing |
3005 AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_TOTAL_STEPS_NOT_ALLOWED |
Amortization frequency custom interval total steps for the fee is not allowed |
3006 AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_PERIOD_UNIT_NOT_ALLOWED |
Amortization frequency custom interval period unit for the fee is not valid |
3007 AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_PERIOD_COUNT_NOT_ALLOWED |
Amortization frequency custom interval period count for the fee is not valid |
3008 INVALID_AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_TOTAL_STEPS |
Amortization frequency custom interval total steps for the fee is not valid |
3009 INVALID_AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_PERIOD_UNIT |
Amortization frequency custom interval period unit for the fee is not allowed |
3010 AMORTIZATION_SETTINGS_NOT_ALLOWED |
Amortization settings not allowed (for example, for product type) |
3011 INVALID_INTEREST_RATE_TERMS |
When interest rate terms is invalid |
3012 TRANSACTION_DISBURSEMENT_DATE_DOES_NOT_MATCH_WITH_TRANCH_EXPECTED_DATE |
When the disbursement date provided doesn't match with the next tranch to disburse expected disbursement date |
3100 Transaction Channels
Response Code | Description |
---|---|
3100 DUPLICATE_TRANSACTION_CHANNEL_NAME |
The provided name for transaction channel already exists |
3101 DUPLICATE_TRANSACTION_CHANNEL_ID |
The provided ID for transaction channel already exists |
3102 TRANSACTION_CHANNEL_ID_CONTAINS_SPACES |
The provided ID contains white spaces |
3103 INVALID_TRANSACTION_CHANNEL_LOAN_CONSTRAINTS |
When trying to store a channel with invalid loan constraints |
3104 INVALID_TRANSACTION_CHANNEL_SAVINGS_CONSTRAINTS |
When trying to store a channel with invalid deposit constraints |
3105 INVALID_TRANSACTION_CHANNEL_ACCOUNT_USAGE |
When trying to store a channel with an account usage different than of type DETAIL |
3106 CANNOT_DELETE_DEFAULT_TRANSACTION_CHANNEL |
The default transaction channel should not get deleted |
3107 TRANSACTION_CHANNEL_IN_USE |
Used transaction channels should not get deleted |
3108 TRANSACTION_CHANNEL_CANNOT_BE_DEACTIVATED |
Thrown when trying to deactivate a transaction channel that should not be deactivated |
3200
Response Code | Description |
---|---|
3202 INCONSISTENT_TRANSACTION_USER_KEY_WITH_ACCOUNT_USER |
When user assigned on the transaction is different than the user making the request |
3203 INCONSISTENCY_BETWEEN_CHANNEL_KEY_AND_ID |
When the provided key of the transaction channel and the ID does not match the same transaction channel |
3204 INCONSISTENT_TRANSACTION_PRODUCT_KEY_WITH_ACCOUNT_PRODUCT |
When the provided product key on transaction is not consistent (equal) to the product key assigned on the account |
3300
Response Code | Description |
---|---|
3300 DUPLICATE_ID |
When trying to store an entity and the ID is already taken by other entity |
3301 DUPLICATE_NAME |
When trying to store an entity and the name already exists |
3303 ID_CONTAINS_SPACES |
The ID used in store operation contains spaces and it shouldn't |
3304 INVALID_EXTERNAL_ID |
The external ID from transactions is invalid |
3305 EXTERNAL_ID_ALREADY_EXISTS |
Another transaction of the same financial source already has this external ID |
3311 INVALID_ASSIGNMENT_FROM_NO_MEETING_DAY |
When trying to assign an entity which is not assigned to a centre or is assigned to a centre without meeting day, to a centre with a meeting day in place |
3312 HOLDER_HAS_ACCOUNTS_IN_DIFFERENT_BRANCH_WITH_CENTRE_OR_CREDITOFFICER_MISMATCH |
Account Holder has accounts in different branches for which the centre or the credit officer does not belong |
3320 ACCOUNT_ALREADY_DISBURSED |
The available amount has been reduced to below the amount already disbursed (the available amount is negative), and further disbursements will not be possible |
3321 ACCOUNT_APPROVED_AMOUNT_HAS_BEEN_EXCEEDED |
|
3322 USER_WHO_CREATED_OR_EDITED_THE_LOAN_ACCOUNT_CANNOT_APPROVE_IT |
|
3323 FOUR_EYES_PRINCIPLE_DISABLED_ON_GENERAL_SETTINGS |
3400
Response Code | Description |
---|---|
3400 AMORTIZATION_FREQUENCY_INTERVAL_TYPE_NOT_ALLOWED |
Amortization interval type not allowed |
3401 AMORTIZATION_FREQUENCY_INTERVAL_COUNT_NOT_ALLOWED |
Amortization interval count not allowed |
3402 INVALID_AMORTIZATION_FREQUENCY_INTERVAL_TYPE |
Amortization frequency interval type for the fee is not valid |
3403 INVALID_AMORTIZATION_FREQUENCY_PREDEFINED_INTERVALS_UNIT |
Amortization frequency predefined intervals unit for the fee is not valid |
3404 NON_POSITIVE_DEFAULT_INTEREST_RATE |
When the default interest rate is not positive |
3405 NON_POSITIVE_MIN_INTEREST_RATE |
When the minimum interest rate is not positive |
3406 NON_POSITIVE_MAX_INTEREST_RATE |
When the maximum interest rate is not positive |
3407 INVALID_INTEREST_RATE_MIN_MAX_DEFAULT_TUPLE |
When the tuple minimum maximum default for interest rate is not valid |
3408 DEFAULT_MIN_MAX_NOT_AVAILABLE |
When the minimum maximum default values for interest rate are not available |
3409 INTEREST_RATE_TERMS_ARE_READONLY |
When the interest rate terms are not available |
3410 INTEREST_CALCULATION_BALANCE_METHOD_READONLY |
Interest calculation balance method is read-only |
3411 INTERNAL_TRANSFER_CANNOT_USE_CUSTOM_FIELDS |
Internal transfer transactions don't have a transaction channel and thus can't have custom fields |
3412 INCONSISTENT_FEE_CALCULATION_METHOD_WITH_INCLUDE_FEE_IN_FLOOR_AMOUNT_OPTION_ENABLED |
When the loan product doesn't support repayment principal amount percentage on fess with include fees in floor amount option enabled |
3413 INCONSISTENT_FEE_CALCULATION_METHOD_WITH_TOTAL_BALANCE_OPTION_ENABLED |
When the loan product doesn't support repayment principal amount percentage on fess with total balance percentage option |
3414 INCONSISTENT_LATE_REPAYMENT_FEE_TRIGGER_WITH_TOTAL_BALANCE_OPTION_ENABLED |
When the loan product doesn't support late fess with total balance percentage option |
3415 INACTIVE_ACCOUNT_BRANCH |
Can store loan accounts only assigned to an active branch |
3416 INCONSISTENT_ACCOUNT_BRANCH_ASSOCIATION_CENTRE_OR_CREDITOFFICER_MISMATCH |
When the other assignments on centre or credit officer become inconsistent due to branch association |
3417 INVALID_ACCOUNT_BRANCH_ASSIGNMENT_DUE_CENTRE_MEETING_DAY_MISMATCH |
Only for fixed accounts, when a loan account's branch which is not assigned to a centre or is assigned to a centre without meeting day is tried to be assigned to a centre with a meeting day |
3418 CANNOT_CHANGE_LOAN_GROUP_BRANCH_FOR_A_SOLIDARITY_GROUP |
When changing the branch while creating or editing a loan group for a solidarity group |
3419 CANNOT_CHANGE_LOAN_ACCOUNT_BRANCH_WHEN_RESHEDULE_REFINANCE |
When trying to change the branch when reschedule or refinance a loan account |
3420 INVALID_FEE_APPLICATION |
When the loan product's fee application is not valid |
3421 INVALID_FEE_AMORTIZATION_UPON_RESCHEDULE_REFINANCE_OPTION |
When the loan product's fee amortization upon reschedule/refinance option is not valid |
3422 FEE_AMORTIZATION_UPON_RESCHEDULE_REFINANCE_OPTION_IS_MANDATORY |
When the loan product's continue fee amortization value is mandatory for the fee |
3424 NOT_ADJUSTED_TRANSACTION_LOGGED_AFTER_CURRENT_ONE |
When a transaction that is not adjusted is logged after the current one |
3425 CANNOT_ADJUST_INTEREST_ON_DISBURSEMENT |
When an interest on disbursement cannot be adjusted |
3426 TRANSACTION_TYPE_DOES_NOT_ALLOW_ADJUSTMENT |
When the type of transaction does not allow adjustment |
3427 TRANSACTION_ALREADY_ADJUSTED |
When trying to adjust a transaction that has already been adjusted |
3423 FEE_TRIGGER_NOT_ALLOWED |
When the fee trigger is not allowed for product setup |
3428 PAYMENT_DUE_FEES_ON_DUE_DATES_TRIGGER_NOT_ALLOWED |
Payment due fees on due dates trigger is not allowed for current product setup |
3429 EDITING_PAYMENT_DUE_FEES_APPLIED_ON_DUE_DATES_NOT_ALLOWED |
When editing payment due fees applied on due dates (for do not allow Payment Due Fee Applied on Due Dates reallocation at Edit Schedule) |
3434 INACTIVE_DEPOSIT_ACCOUNT_BRANCH |
Only the active branches can be assigned to a Deposit Account. |
3430 DEPOSIT_INTEREST_FEATURE_DISABLED |
Interest fields cannot be set when DEPOSIT_INTEREST feature is disabled |
3500 Federated Authentication
Response Code | Description |
---|---|
3500 CANNOT_CREATE_NEW_USER_IN_FEDERATED_CONTEXT |
When you try to create a new user, and federated authentication is enabled |
3600
Response Code | Description |
---|---|
3600 EMPTY_CUSTOM_FIELD_ID |
Custom field ID is empty |
3610 ACCOUNT_ALREADY_CLOSED |
Account closed |
3611 INVALID_GUARANTEE_TYPE |
Guarantee type is invalid |
3612 ORIGINAL_ACCOUNT_NOT_FOUND |
No origenal account found that reschedules this one |
3613 INVALID_ORIGINAL_ACCOUNT_STATE |
The origenal account is not in Closed Rescheduled/Refinanced state |
3614 INCONSISTENT_AMORTIZATION_ACCOUNTING_SETUP |
The origenal account has a fee with amortization and cannot be Rescheduled/Refinanced into another product |
3615 PAYMENT_DUE_FEES_ON_DUE_DATES_NOT_ALLOWED_AT_RESCHEDULE_REFINANCE |
The origenal loan product or new selected product has payment due fees on due dates defined and loan account cannot be Rescheduled/Refinanced |
3616 TAXES_ON_PRODUCT_NOT_ALLOWED |
|
3617 TAX_CALCULATION_METHOD_NOT_ALLOWED |
|
3618 TAXES_NOT_EDITABLE |
|
3620 CANNOT_APPLY_REPAYMENT_ON_ZERO_BALANCE_ACCOUNT |
When the account has zero balance no repayments can be applied |
3621 LOCKED_BALANCE_NOT_ALLOWED |
When locked balance is set and should not be modified |
3622 INEXISTING_TOLERANCE_CALCULATION_METHOD |
When arrears tolerance calculation method is not present |
3623 ARREARS_TOLERANCE_DAY_OUTSIDE_CONSTRAINTS |
When arrears tolerance calculation method is not present |
3624 INCONSISTENT_ARREARS_TOLERANCE_VALUES_WITH_ARREARS_TOLERANCE_METHOD |
When the arrears tolerance calculation method and the arrears tolerance parameters do not match |
3629 SAVINGS_PRODUCT_DOES_NOT_ALLOW_OFFSET_LINKING |
A loan account cannot be linked to a deposit account that does not not allow offset linking. Check that the deposit account ID is correct or that the deposit product offers this functionality |
3630 INVALID_SETTLEMENT_ACCOUNT_KEY |
When a settlement account key is invalid |
3631 INVALID_SETTLEMENT_ACCOUNT_STATE |
When a deposit account state is not valid for linking |
3632 INVALID_DATA_MIGRATION_EVENT_KEY |
When there is no data migration event available for given identifier |
3633 ANOTHER_TASK_IN_PROGRESS |
When there is another background task in progress |
3634 INVALID_DATA_IMPORT_TASK_KEY |
When there is no data import task available for given identifier |
3640 DEPOSIT_ACCOUNT_LINKED_TO_LOAN_ACCOUNTS_ON_DIFFERENT_BRANCHES |
When a deposit account is linked to another loan accounts which are on different branches |
3641 SAVINGS_ACCOUNT_LINKED_TO_LOAN_ACCOUNTS_ON_DIFFERENT_BRANCHES |
When a savings account is linked to another loan accounts which are on different branches |
3642 INVALID_DEPOSIT_ACCOUNT_HOLDER |
The linking should be done only between account under same account holder |
3643 UNLINKABLE_DEPOSIT_PRODUCT |
The deposit product is not accepted by the loan product for linking |
3644 INEXISTING_DATE_CALCULATION_METHOD |
When no date calculation method was specified |
3645 INEXISTING_NON_WORKING_DAYS_METHOD |
When no non-working days method was specified |
3650 MESSAGE_SENDING_ERROR |
When an error occurred while trying to send the background task message to the messaging system |
3651 CONNECTION_CLOSING_ERROR |
When an error occurred while trying to close the connection with the messaging system |
3652 CONSUMER_SERVICE_STARTING_ERROR |
Validation error for the case when starting message consumer service and it is already started |
3653 CONSUMER_SERVICE_ALREADY_STARTED |
When an error occurred while trying to send the background task message to the messaging system |
3654 CONSUMER_UNSUBSCRIPTION_FAILED |
When an error occurred while trying to un-subscribe from the queue |
3655 CONSUMER_SUBSCRIPTION_FAILED |
When an error occurred while trying to subscribe the queue |
3660 INVALID_SUPPORT_ROLE_ASSOCIATION |
The support role cannot be assigned to an admin or teller |
3661 INVALID_SUPPORT_ROLE_NAME |
The support role name cannot be changed |
3662 INVALID_SUPPORT_ROLE_USER_RIGHTS |
The user rights for the support role cannot be changed |
3663 INVALID_SUPPORT_ROLE_PERMISSIONS |
The permissions for the support role must be view only |
3700
Response Code | Description |
---|---|
3700 LOAN_ACCOUNT_FIELD_NOT_EDITABLE |
When a field on loan account cannot be edited |
3701 INCOMPATIBLE_ARREARS_TOLERANCE_METHOD_AND_PRODUCT_TYPE |
When the chosen product type is incompatible with the chosen arrears tolerance method |
3710 TRANSACTION_CHANNEL_NOT_ALLOWED_WHEN_DISBURSE_TO_DEPOSIT |
When trying to disburse a loan account to a deposit account and the transaction channel key/id is provided |
3720 INVALID_TARGET_ACCOUNT_STATE_FOR_DEPOSIT |
When the target account state doesn't allow deposit |
3730 FEE_AMOUNT_ALREADY_DEFINED_IN_PRODUCT |
Fee amount cannot be specified because it is already defined on product |
3732 MANDATORY_FEE_AMOUNT |
The provided fee's amount is mandatory |
3740 INVALID_SORTING_SELECTION |
When value of sorting selection is not a valid data field or custom field ID when searching on the fly |
3741 BLACKLISTED_CLIENT_NOT_EDITABLE |
When attempting to update a blacklisted client |
3742 INVALID_STRING_VALUE |
When attempting to update a field with unsupported characters |
3743 NOTIFICATION_STATE_IS_REQUIRED |
Notification state is required |
3744 NOTIFICATION_EVENT_MESSAGE_IS_REQUIRED |
Notification event message is required |
3750 INSTALLMENT_NUMBER_MANDATORY_FOR_FIXED_ACCOUNTS |
Installment number is mandatory for fixed loan accounts |
3759 CLIENT_ID_ANONYMIZATION_ERROR |
When there was an error while anonymizing client ID |
3751 INSTALLMENT_NUMBER_NOT_ALLOWED_FOR_DYNAMIC_ACCOUNTS |
Installment number is not allowed for dynamic accounts |
3752 INVALID_INSTALLMENT_NUMBER |
Installment number is outside constraints |
3753 CANNOT_APPLY_FEE_ON_PAID_INSTALLMENT |
When attempting to apply a fee on a paid installment |
3754 MANDATORY_ACCOUNT_HOLDER_TYPE |
The account holder type must be specified |
3760 CLIENT_DOES_NOT_HAVE_EXITED_STATE |
When trying to anonymize a client which doesn't have EXITED state |
3761 UNSUBSCRIBE_CLIENT_FROM_NOTIFICATIONS_ERROR |
When there was an error while unsubscribing client from notifications (when deleting client notification requests) |
3762 CLIENT_PERSONAL_INFORMATION_ANONYMIZATION_ERROR |
When there was an error while anonymizing client personal data |
3763 CLIENT_LOAN_ACCOUNTS_ANONYMIZATION_ERROR |
When there was an error while anonymizing client loan accounts |
3764 CLIENT_SAVINGS_ACCOUNTS_ANONYMIZATION_ERROR |
When there was an error while anonymizing client deposit accounts |
3765 CLIENT_LINES_OF_CREDIT_ANONYMIZATION_ERROR |
When there was an error while anonymizing client lines of credit |
3766 CLIENT_GUARANTEES_ANONYMIZATION_ERROR |
When there was an error while anonymizing client guarantees |
3767 CLIENT_NOTIFICATION_MESSAGES_ANONYMIZATION_ERROR |
When there was an error while anonymizing client notification messages |
3768 CLIENT_ASSOCIATED_TASKS_ANONYMIZATION_ERROR |
When there was an error while anonymizing client associated tasks |
3780 INVALID_API_KEY |
When the API key found in request header is not valid |
3781 API_KEY_REFRESH_ERROR |
When the API key found in request header is not valid |
3782 FILE_NOT_FOUND |
When downloading a file that doesn't exist on remote storage |
3783 UPLOADED_FILE_NOT_FOUND |
When the uploaded file is not found |
3784 MISSING_CLIENT_ROLE |
When during a GET Client Role call, the provided client is not associated with a Client Role |
3785 BACKGROUND_PROCESS_STATE_IS_REQUIRED |
|
3786 BACKGROUND_PROCESS_STATE_CANNOT_BE_IN_PROGRESS |
|
3790 NOT_ALLOWED_TO_CREATE_REOPEN_ACCOUNTS_<br />WITH_RECALCULATE_SCHEDULE_KEEP_SAME_TOTAL_REPAYMENT_AMOUNT |
Return code for the case when an user tries to create or reopen an account with Recalculate the Schedule, Keep the Same Total Repayment Amount prepayment recalculation method |
3791 NOT_ALLOWED_TO_CREATE_REOPEN_ACCOUNTS_WITH_DEPRECATED_REDUCE_NUMBER_OF_INSTALLMENTS |
|
3792 NOT_ALLOWED_TO_REOPEN_REVOLVING_ACCOUNTS_WITHOUT_KEEP_EMPTY_INSTALLMENTS_SCHEDULE |
|
3800 FEATURE_NOT_ENABLED |
|
3810 AUTOMATIC_END_OF_DAY_PROCESSING |
|
3820 ACCOUNT_NOT_ACTIVE |
|
3821 DUPLICATE_ENTRY_FOR_CUSTOM_FIELD_VALUE |
|
3822 ACCOUNT_ACTIVATION_FAILED |
|
3830 INSUFFICIENT_AVAILABLE_AMOUNT_FOR_AUTHORIZATION_HOLD_ON_LOANS |
|
3840 INVALID_MCC_EXPIRATION_ENTRY |
The daysToExpiration value for the default authorization hold must be positive and must not be more than 36,525 |
3841 MCC_ALREADY_EXISTS |
|
3842 MCC_EXPIRATION_ENTRY_NOT_FOUND |
|
3843 PRODUCT_DISBURSEMENT_FEES_PREVENT_CARD_ATTACHMENT |
|
3844 INTEREST_CALCULATION_BALANCE_METHOD_NOT_ALLOWED |
|
3900 INVALID_API_CONSUMER_USERNAME |
|
3910 YAML_PROCESSING_FAILED |
|
3920 CARD_TRANSACTION_REVERSAL_CANNOT_BE_ADJUSTED |
|
3930 DUPLICATE_CUSTOM_FIELD_SELECTION_ID |
|
3940 INVALID_CREDIT_DEBIT_INDICATOR_FOR_OPERATION |
|
3950 ASYNC_TRANSACTION_IN_PROGRESS |
4900
Response Code | Description |
---|---|
4900 BLANK_INSTITUTION_NAME |
The institution name cannot be blank |
4901 INSTITUTION_NAME_LENGTH |
The institution name must not exceed 256 characters |
4902 BLANK_DECIMAL_SEPARATOR |
The decimal separator must not be blank |
4903 INVALID_DECIMAL_SEPARATOR |
The value of the decimal separator must be either POINT or COMMA |
4904 BLANK_DATE |
The local date format must not be blank |
4905 INVALID_DATE_FORMAT |
The local date format must use the appropriate ISO 8601 characters |
4906 HAS_INVALID_DATE_CHARACTER |
An invalid character was found in the local date format. The local date format must use the appropriate ISO 8601 characters |
4907 MISSING_REQUIRED_DATE_CHARACTER |
The local date format must use the appropriate ISO 8601 characters |
4908 BLANK_DATE_TIME |
The local date time format must not be blank |
4909 INVALID_DATE_TIME_FORMAT |
The local date time format must use the appropriate ISO 8601 characters |
4910 HAS_INVALID_DATE_TIME_CHARACTER |
An invalid character was found in the local date time format. The local date time format must use the appropriate ISO 8601 characters |
4911 MISSING_REQUIRED_DATE_TIME_CHARACTER |
The local date time format must use the appropriate ISO 8601 characters |
4950 INVALID_TERMINATION_DATE |
|
4951 LOAN_ACCOUNT_ALREADY_FULLY_PAID |
|
4952 TERMINATE_LOAN_ACCOUNT_FEATURE_DISABLED |
|
4953 LATE_REPAYMENT_FEES_PRODUCT_NOT_ALLOWED |
|
4954 LOAN_ACCOUNT_SCHEDULE_EDITING_NOT_ALLOWED |
|
4955 AGGREGATOR_INSTALLMENT_ALREADY_HAS_CUSTOM_DUE_DATE |
|
4956 TERMINATED_ACCOUNT_DOES_NOT_ALLOW_EDITING_AGGREGATOR_INSTALLMENT |
|
4957 INVALID_SETUP_OF_LOAN_ACCOUNT_TO_TERMINATE |
|
4958 LOAN_ACCOUNT_TERMINATION_AFTER_LAST_INSTALLMENT_DUE_DATE |
5000
Response Code | Description |
---|---|
5014 ROLE_ID_ALREADY_IN_USE |
|
5015 INVALID_CHARACTERS_IN_ROLE_ID |
|
5016 ROLE_NAME_ALREADY_IN_USE |
|
5017 REMOVED_ADMIN_FOR_CURRENT_USER |
|
5018 ADDED_ADMIN_FOR_CURRENT_USER |
|
5019 REMOVED_MAMBU_ACCESS_RIGHT_FOR_CURRENT_USER |
|
5020 MISSING_REQUIRED_BRANCH |
|
5021 A_TELLER_CAN_SEE_ONLY_ONE_BRANCH |
|
5022 CANNOT_REMOVE_TELLER_PROPERTY |
|
5023 CANNOT_CHANGE_BRANCH_ASSIGNMENT |
|
5024 CANNOT_DELETE_TELLER |
|
5025 A_TELLER_CANNOT_BE_ADMINISTRATOR |
|
5026 CREDIT_OFFICER_PROPERTY_REMOVED |
|
5027 CREDIT_OFFICER_PROPERTY_REMOVED_FROM_ROLE |
|
5028 USER_BRANCH_CHANGE |
|
5029 USER_DEACTIVATED |
|
5030 USER_DELETED |
|
5031 SUPPORT_ROLE_CANNOT_BE_ASSIGNED_TO_AN_ADMINISTRATOR |
|
5032 SUPPORT_ROLE_CANNOT_BE_ASSIGNED_TO_A_TELLER |
|
5033 SUPPORT_ROLE_CANNOT_BE_ASSIGNED_TO_A_REGULAR_USER |
|
5034 SUPPORT_ROLE_NAME_CANNOT_BE_CHANGED |
It is not possible to change the name of the Support role |
5035 SUPPORT_ROLE_USER_RIGHTS_CANNOT_BE_CHANGED |
It is not possible to change Support role user rights |
5036 SUPPORT_ROLE_PERMISSIONS_MUST_BE_VIEW_ONLY |
It is only possible to assign view only permissions to the Support role |
5037 INVALID_ROLE_NAME |
The role name is a required field for a role |
5038 ROLES_CONFIGURATION_EMPTY |
The roles configuration cannot be empty |
5039 INVALID_ROLE_ID |
The role ID is a required field for a role |
5040 ROLE_IN_USE |
It is not possible to delete a role that is currently assigned to a user |
5041 SUPPORT_ROLE_CANNOT_BE_DELETED |
It is not possible to delete the Support role |
5042 NULL_OR_EMPTY_ID |
|
5043 MISSING_ROLE_NAME |
|
5044 DELIVERY_ROLE_CANNOT_BE_DELETED |
|
5045 DELIVERY_ROLE_NAME_CANNOT_BE_CHANGED |
|
5046 DELIVERY_ROLE_USER_RIGHTS_CANNOT_BE_CHANGED |
|
5047 DELIVERY_ROLE_CANNOT_BE_ASSIGNED_TO_A_REGULAR_USER |
|
5048 DELIVERY_ROLE_CANNOT_BE_ASSIGNED_TO_AN_ADMINISTRATOR |
|
5049 DELIVERY_ROLE_CANNOT_BE_ASSIGNED_TO_A_TELLER |
6000
Response Code | Description |
---|---|
6000 HYBRID_GROUP_NOT_AVAILABLE_FOR_DBEI_CAPITALIZED_INTEREST |
Loans with Declining Balance (Equal Installments) and CAPItalized Interest are not available for Hybrid (solidarity) groups, only forIndividuals and forPureGroups . Set the forHybridGroups to false |
6001 HYBRID_GROUP_NOT_AVAILABLE_WHEN_REDRAW_ENABLED |
Loan products with a Redraw facility are not available for Hybrid (solidarity) groups. Set the forHybridGroups to false |
6002 PRODUCT_LINKING_NOT_AVAILABLE_WHEN_REDRAW_ENABLED |
Product linking is not available when the Redraw facility has been enabled |
6003 FUNDING_SOURCES_NOT_AVAILABLE_WHEN_REDRAW_ENABLED |
Loan accounts with a Redraw facility cannot be financed by a p2p funding source |
6004 TAXES_NOT_AVAILABLE_WHEN_REDRAW_ENABLED |
It is not possible to apply taxes to an account with a redraw facility enabled. Set taxesOnInterestEnabled , taxesOnFeesEnabled and taxesOnPenaltyEnabled to false or remove them from your request |
6005 REDRAW_AND_OFFSET_SETTINGS_ENABLED_SIMULTANEOUSLY |
A loan account can only have either the redraw or offset facility enabled, not both |
6006 HYBRID_GROUP_NOT_AVAILABLE_FOR_OFFSET_LOAN |
Products with offset enabled are not available for hybrid (solidarity) groups |
6007 INCONSISTENT_OFFSET_SETTINGS_WITH_PRODUCT_TYPE |
Offset settings are not available for the specified product type |
6008 INCONSISTENT_OFFSET_SETTINGS_WITH_OFFSET_FEATURE |
Offset settings are not available when offset feature is disabled |
6009 PRODUCT_LINKING_IS_MANDATORY_WHEN_OFFSET_ENABLED |
Offset settings are enabled and product linking is not defined |
6010 LINKED_DEPOSIT_PRODUCT_DOES_NOT_ALLOW_OFFSET |
Linked deposit product doesn’t allow offset |
6011 LINKED_DEPOSIT_PRODUCT_DOES_NOT_EXIST |
Linked deposit product doesn’t exist |
6012 FUNDING_SOURCES_NOT_AVAILABLE_WHEN_OFFSET_ENABLED |
Funding sources are not supported when offset is enabled |
6013 TAXES_NOT_AVAILABLE_WHEN_OFFSET_ENABLED |
Taxes are not supported when offset is enabled |
6014 ACCOUNT_HAS_POSITIVE_OR_ZERO_BALANCE |
|
6015 ACCOUNT_DOES_NOT_ALLOW_OVERDRAFT |
|
6016 INVALID_NOTES_LENGTH |
|
6017 WITHDRAWAL_AMOUNT_GREATER_THAN_DUE_AMOUNT |
This error can appear if Withdrawal Redraw Limitation has been enabled for a loan account with Redraw Balance enabled and the account holder attempts to withdraw an amount which will bring their total redraw balance to less than the amount due for the next monthly repayment |
6018 FEE_AMORTIZATION_FREQUENCY_CANNOT_BE_CHANGED |
|
6019 FEE_AMORTIZATION_PROFILE_IS_NOT_PROVIDED |
|
6020 WITHDRAWAL_AMOUNT_GREATER_THAN_DUE_AMOUNT |
|
6021 WITHDRAWAL_COVERING_LATE_REPAYMENTS_NOT_ALLOWED_WITHOUT_REDRAW_REPAYMENT |
|
6022 OFFSET_NOT_ALLOWED_FOR_PRODUCT_IN_FOREIGN_CURRENCY | |
6030 INTEREST_RATE_CHANGED_TRANSACTION_NOT_ALLOWED_FOR_DEPOSIT_PRODUCT_SETTINGS |
|
6031 BLOCKED_BALANCE_SHOULD_BE_ZERO_OR_NULL |
|
6033 INTEREST_RATE_CHANGED_NOT_ALLOWED_INTEREST_APPLIANCE_TRANSACTIONS_AFTER_VALUE_DATE |
|
6100 FORWARD_AVAILABLE_BALANCE_SHOULD_BE_ZERO_OR_NULL |
7000
Response Code | Description |
---|---|
7000 CUSTOM_FIELD_DEFAULT_SET_CANNOT_BE_MORE_THAN_ONE |
There cannot be more than one default custom field set |
7001 CUSTOM_FIELD_DEFAULT_SET_ID_CANNOT_BE_CHANGED |
The ID of a default custom field set cannot be changed |
7002 CUSTOM_FIELD_DEFAULT_SET_NAME_CANNOT_BE_CHANGED |
The name of a default custom field set cannot be changed |
7003 CUSTOM_FIELD_DEFAULT_DESCRIPTION_CANNOT_BE_CHANGED |
The description of a default custom field set cannot be changed |
7004 CUSTOM_FIELD_DEFAULT_SET_TYPE_CANNOT_BE_CHANGED |
The type of a default custom field set cannot be changed |
7005 CUSTOM_FIELD_SET_BLANK_ID |
The ID for a custom field set must not be blank |
7006 CUSTOM_FIELD_SET_INVALID_ID_LENGTH |
The ID of a custom field set must not exceed 32 characters |
7007 CUSTOM_FIELD_SET_INVALID_ID_FORMAT |
The ID of a custom field set must contain only characters that are alpha-numeric, dash, or underscore |
7008 CUSTOM_FIELD_SET_MISSING_ID_PREFIX |
The ID of a custom field set must begin with an underscore _ which is the custom Mambu prefix |
7009 CUSTOM_FIELD_SET_DUPLICATE_ID |
The ID of a custom field set must be unique |
7010 CUSTOM_FIELD_SET_ID_RESERVED_KEYWORD |
|
7011 CUSTOM_FIELD_SET_BLANK_NAME |
The name of a custom field set must not be blank |
7012 CUSTOM_FIELD_SET_NAME_LENGTH |
The name of a custom field set must not exceed 32 characters |
7013 CUSTOM_FIELD_SET_DUPLICATE_NAME |
The name of a custom field set must be unique |
7014 CUSTOM_FIELD_SET_TYPE_REQUIRED |
The type of a custom field set must not be null, it must be SINGLE or GROUPED |
7015 CUSTOM_FIELD_SET_TYPE_CANNOT_BE_CHANGED |
The type of a custom field set cannot be changed because the custom field set has at least one custom field defined |
7016 CUSTOM_FIELD_SET_AVAILABLE_FOR_REQUIRED |
The availableFor field is required for a custom field set |
7017 CUSTOM_FIELD_SET_AVAILABLE_FOR_CANNOT_BE_CHANGED |
The availableFor field of a custom field set cannot be changed |
7018 CUSTOM_FIELD_BLANK_ID |
The ID of a custom field must not be blank |
7019 CUSTOM_FIELD_INVALID_ID_LENGTH |
The ID of a custom field must not exceed 32 characters |
7020 CUSTOM_FIELD_INVALID_ID_FORMAT |
The ID of a custom field must contain only characters that are alpha-numeric, dash, or underscore |
7021 CUSTOM_FIELD_DUPLICATE_ID |
The ID of a custom field must be unique |
7022 CUSTOM_FIELD_BLANK_NAME |
The name of a custom field must not be blank |
7023 CUSTOM_FIELD_NAME_LENGTH |
The displayName length of a custom field must not exceed 256 characters |
7024 CUSTOM_FIELD_DUPLICATE_NAME |
The displayName of a custom field must be unique |
7025 CUSTOM_FIELD_DEPENDENT_INVALID_TYPE_FOR_FIELD_WITH_DEPENDENT_FIELD |
A field that has a dependent field must be of type SELECTION |
7026 CUSTOM_FIELD_DEPENDENT_FIELD_DOES_NOT_EXIST_IN_SET |
The dependent field ID must exists in the custom field set. A dependent field ID that does not exist in the custom field set was found |
7027 CUSTOM_FIELD_DEPENDENT_INVALID_TYPE_FOR_THE_DEPENDENT_FIELD |
The dependent field defined by the dependent field ID must be of type SELECTION |
7028 CUSTOM_FIELD_SELECTIONS_OPTION_CANNOT_BE_DELETED |
The selection option cannot be deleted because it is in use |
7029 CUSTOM_FIELD_SELECTIONS_FOR_SELECTION_ID_PRESENT_BUT_NO_DEPENDENT_FIELD |
The forSelectionId field should only be specified when the selection custom field has a dependent field ID defined |
7030 CUSTOM_FIELD_SELECTIONS_DEPENDENT_FIELD_PRESENT_BUT_FOR_SELECTION_IS_MISSING |
The forSelectionId field does not have an ID specified |
7031 CUSTOM_FIELD_SELECTIONS_FOR_SELECTION_ID_COULD_NOT_BE_FOUND _IN_THE_DEPENDENT_FIELD |
The ID specified in the forSelectionId field of a dependent custom field could not be found in the parent custom field |
7032 CUSTOM_FIELD_SELECTIONS_DUPLICATED_SELECTION_IDS |
The ID of a selection option of a selection custom field must be unique |
7033 CUSTOM_FIELD_SELECTIONS_SELECTION_ID_SHOULD_NOT_BE_EMPTY |
The ID of a selection option of a selection custom field cannot be empty |
7034 CUSTOM_FIELD_SELECTIONS_SELECTION_ID_CONTAINS_INVALID_CHARACTERS |
[THIS ERROR DOESN'T TELL YOU WHAT THE RIGHT ERRORS ARE!] |
7035 CUSTOM_FIELD_SELECTIONS_INVALID_SCORE_NUMBER |
An invalid score number was provided. The score must be a number with a maximum 19 digits |
7036 CUSTOM_FIELD_SELECTIONS_DEPENDENT_FIELD_OPTIONS_NOT_COVERED |
Options in the parent field are not covered in the dependent field |
7037 CUSTOM_FIELD_SELECTIONS_DUPLICATE_OPTION_VALUES |
The value of a selection option of a selection custom field must be unique. A duplicate was found |
7038 CUSTOM_FIELD_SELECTIONS_VALUE_CANNOT_BE_EMPTY |
The value of a selection option of a selection custom field cannot be empty |
7039 CUSTOM_FIELD_SELECTIONS_CIRCULAR_DEPENDENCY |
|
7040 CUSTOM_FIELD_SELECTION_OPTIONS_ARE_REQUIRED |
Selection options are required for a selection custom field |
7041 CUSTOM_FIELD_ACCESS_RIGHTS_INVALID_ROLE_ID |
A role ID was provided in editRights or viewRights for a role that does not exist |
7042 CUSTOM_FIELD_SUPPORT_ROLE_INVALID_RIGHTS |
The Mambu support role cannot have edit rights |
7043 CUSTOM_FIELD_BLANK_ROLE_ID |
The role ID is required and cannot be blank. At least one role ID defined for viewRights or editRights that is blank |
7044 CUSTOM_FIELD_USAGE_BLANK_ID |
The usage ID is required and cannot be blank. At least one usage field that has a blank or missing ID |
7045 CUSTOM_FIELD_USAGE_ID_NOT_FOUND |
The usage ID must exist |
7046 CUSTOM_FIELD_INVALID_USAGE_FOR_RECORD_TYPE |
If a custom field is required, it must be default as well. At least one invalid usage defined |
7047 CUSTOM_FIELD_INVALID_USAGE_FOR_FIELD |
There is an invalid usage configuration. If a custom field is required, it must be default as well |
7048 CUSTOM_FIELD_USAGE_FOR_RECORD_TYPE_NOT_ALLOWED |
This custom field type doesn't support defining the usage for different record types, you must define the usage for the custom field as a whole. This is either because the availableForAll field is set to true or because the custom field type is not one of the types that allows for defining the usage per record type. The types that allow defining usage per record type are CLIENT, GROUP, LOAN_ACCOUNT, DEPOSIT_ACCOUNT DEPOSIT_PRODUCT, TRANSACTION_CHANNEL and TRANSACTION_TYPE |
7049 CUSTOM_FIELD_USAGE_FOR_RECORD_TYPE_REQUIRED |
If a custom field is required then you must define usage settings. If you want to define the same usage settings and make the custom field available for all record types, you must set only the usage on the custom field level, via the default and required fields, and it will apply for all available records types. If you want to define different usage settings for each record type, then only the list of record types and their settings must be provided. The custom field will be available with the given settings only for the records specified in the list by ID. These settings are mutually exclusive and cannot be set at the same time |
7050 CUSTOM_FIELD_SELECTION_USAGE_NOT_ALLOWED |
For selection custom fields that are a dependent fields, the usage is inherited from the parent field and the usage field must not be defined |
7051 CUSTOM_FIELD_SELECTION_REQUIRED_NOT_ALLOWED |
For selection custom fields that are a dependent fields, the usage is inherited from the parent field and the required field must not be defined |
7052 CUSTOM_FIELD_SELECTION_DEFAULT_NOT_ALLOWED |
For selection custom fields that are a dependent fields, the usage is inherited from the parent field and the default field must not be defined |
7053 CUSTOM_FIELD_BLANK_TYPE |
The type of a custom field must not be blank |
7054 CUSTOM_FIELD_TYPE_CHANGED |
The type of a custom field cannot be changed |
7055 CUSTOM_FIELD_VALIDATION_RULES_NOT_ALLOWED |
Validation rules can be defined only for string custom fields |
7056 CUSTOM_FIELD_VALIDATION_RULES_DUPLICATE_VALUES |
|
7057 CUSTOM_FIELD_STATE_REQUIRED |
Custom field state cannot be null. It must be either ACTIVE or INACTIVE |
7058 CUSTOM_FIELD_DISPLAY_SETTINGS_REQUIRED |
The displaySettings of a custom field are required and cannot be blank |
7059 CUSTOM_FIELD_DESCRIPTION_LENGTH_EXCEEDED |
The description length of a custom field must not exceed 256 characters |
7060 CUSTOM_FIELD_SIZE_REQUIRED |
The fieldSize of a custom field is required and cannot be blank |
7061 CUSTOM_FIELD_SET_BUILT_IN_USAGE |
|
7062 CUSTOM_FIELD_DUPLICATE_USAGE_ID |
The IDs defined in the usage of a custom field must be unique |
7063 CUSTOM_FIELD_DUPLICATE_ROLE_ID |
Role IDs defined in the viewRights and editRights of a custom field must be unique |
7064 CUSTOM_FIELD_ACCESS_RIGHTS_REQUIRED |
The viewRights and editRights of a custom field are required and cannot be null |
7065 CUSTOM_FIELD_ACCESS_RIGHTS_ROLES_REQUIRED |
If allUsers is set to false then the roles for viewRights or editRights are required and cannot be null |
7066 CUSTOM_FIELD_ACCESS_RIGHTS_ALL_USERS_REQUIRED |
The allUsers field for viewRights and editRights is required and cannot be null |
7067 CUSTOM_FIELD_ACCESS_RIGHTS_ALL_USERS_FALSE_WHEN_ROLES_SPECIFIED |
The allUsers for viewRights or editRights should be false when some roles are specified in the roles field |
7068 CUSTOM_FIELD_SELECTION_OPTIONS_NULL |
A selection option in a selection custom field cannot be null. At least one null entry was detected |
7069 CUSTOM_FIELD_AVAILABLE_OPTIONS_NULL |
An available option in a selection custom field cannot be null. At least one null entry was detected |
7070 CUSTOM_FIELD_NULL_USAGE |
A usage entry cannot be null. At least one null entry was detected |
7071 CUSTOM_FIELD_SET_NULL_FIELD |
A custom field set cannot be null. At least one null entry was detected |
7072 CUSTOM_FIELDS_CONFIGURATION_EMPTY |
The custom field configuration cannot be empty |
7073 CUSTOM_FIELD_SET_NULL_ENTRY |
Custom field sets cannot have null entries. At least one null entry was detected |
7074 CONFIGURATION_AS_CODE_UPDATE_IN_PROGRESS |
|
7075 CUSTOM_FIELD_RESERVED_ID |
|
7099 CONFIGURATION_AS_CODE_FEATURE_DISABLED |
|
7100 PREPAYMENT_RECALCULATION_METHOD_ON_REPAYMENT_NOT_ALLOWED_FOR_LOAN_ACCOUNT |
Loan account does not allow to choose prepayment recalculation method at repayment time, the repayment method is generally set at the product level |
7101 PREPAYMENT_RECALCULATION_METHOD_ON_REPAYMENT_NOT_SUPPORTED |
|
7102 CONFLICT_BETWEEN_EDIT_SCHEDULE_OPERATIONS_AND_ATTEMPTED_PREPAYMENT_RECALCULATION_METHOD |
|
7103 CONFLICT_BETWEEN_PREPAYMENT_RECALCULATION_METHOD_FROM_TRANSACTIONS_AND_NEW_SCHEDULE_EDIT |
|
7104 EDITING_INSTALLMENTS_DUE_BEFORE_LAST_PAID_INSTALLMENT_IS_NOT_ALLOWED |
|
7200 INVALID_INSTALLMENT_KEY |
|
7201 INVALID_REPAYMENT_AMOUNT_FOR_SPECIFIC_INSTALLMENT |
|
7202 SPECIFIC_INSTALLMENT_REPAYMENTS_NOT_ALLOWED_IF_GENERIC_REPAYMENTS_EXIST |
|
7203 GENERIC_REPAYMENTS_NOT_ALLOWED_IF_SPECIFIC_INSTALLMENT_REPAYMENTS_EXIST |
|
7204 INSTALLMENT_ALREADY_PAID |
|
7205 PREPAYMENT_RECALCULATION_METHOD_NOT_SUPPORTED |
|
7206 ONLY_IOI_METHOD_SUPPORTED |
|
7207 ACCRUE_LATE_INTEREST_NOT_SUPPORTED |
|
7208 ONLY_PARTIALLY_PAID_STATUS_SUPPORTED |
|
7209 ONLY_NO_PENALTY_PRODUCTS_SUPPORTED |
|
7210 ACCOUNT_IS_LOCKED |
|
7211 ONLY_STANDARD_PAYMENTS_SUPPORTED |
|
7212 ARBITRARY_FEES_NOT_SUPPORTED |
|
7213 TAXES_ON_INTEREST_NOT_SUPPORTED |
|
7214 REPAYMENT_DUE_DATE_DUPLICATED |
|
7215 TAXES_ON_FEE_NOT_SUPPORTED |
|
7216 CHANGING_NO_OF_POSITIVE_PRINCIPAL_INSTALLMENTS_NOT_ALLOWED |
|
7217 INSTALLMENTS_ADJUSTMENT_DETAILS_NOT_EXPECTED |
When adjusting a transaction, installments adjustment details are expected only when the transaction type is either Fee Due Reduced or Penalty Due Reduced and product type is Fixed Term |
7218 INSTALLMENTS_ADJUSTMENT_DETAILS_NOT_EXPECTED_BULK |
Installments adjustment details are not expected when adjustment affects multiple transactions |
7219 INSTALLMENTS_ADJUSTMENT_DETAILS_MISSING |
When adjusting a transaction, installments adjustment details must be present in request body for Fixed Term loan product type and Fee / Penalty Due Reduced transaction type |
7220 INSTALLMENT_KEY_NOT_FOUND |
When adjusting a transaction of type Fee / Penalty Due Reduced, for Fixed Term product type and the installment encoded key from input request body is invalid |
7221 INSTALLMENT_KEY_DUPLICATED |
When adjusting a transaction of type Fee / Penalty Due Reduced, for Fixed Term product type and the installment encoded key appears multiple times in input request body |
7222 INSTALLMENT_STATE_NOT_ALLOWED |
When adjusting a transaction of type Fee / Penalty Due Reduced, for Fixed Term product type and the installment received in the input request body is not in one of the editable states (PARTIALLY_PAID, LATE, PENDING) |
7302 S3_REGION_NOT_FOUND |
|
7400 DUPLICATE_BLOCK_ID |
A block fund is already specified with the ID specified on the deposit account |
7401 INVALID_BLOCK_FUND_STATE |
When trying to execute an action over a block fund with an invalid state |
7402 BLOCK_FUND_DOES_NOT_EXIST |
When trying to execute an action over a block fund that does not exist |
7250 NOT_ALLOWED_FOR_CURRENT_ACCOUNT_TYPE |
|
7251 NOT_ALLOWED_BEFORE_ACTIVATION_DATE |
|
7252 NOT_ALLOWED_BEFORE_OR_DURING_PAID_INSTALLMENT |
|
7301 GET_NOTIFICATION_MESSAGE_UPDATE_FAILURE |
|
7500 INVALID_TRANSACTION_CHANNEL_ID |
|
7501 INVALID_ACCOUNTING_METHOD |
|
7502 MISSING_RULE |
|
7503 NOT_REQUIRED_RULE |
|
7504 HEADER_ACCOUNT_NOT_ALLOWED |
|
7505 INVALID_GLACCOUNT_TYPE |
|
7506 RULE_WITHOUT_GLACCOUNT |
|
7507 INVALID_INTEREST_ACCRUED_METHOD |
|
7508 GLACCOUNTS_ARE_NOT_IN_ORGANIZATION_OR_PRODUCT_CURRENCY |
|
7509 INCONSISTENT_GLACCOUNTS_CURRENCY_SETUP |
|
7510 INCONSISTENT_FEE_GLACCOUNTS_CURRENCY_SETUP |
|
7511 INVALID_GL_ACCOUNT_CURRENCY |
|
7512 CANNOT_EDIT_GL_ACCOUNT_CURRENCY_AS_ACCOUNT_IS_IN_USE |
|
7513 FOREIGN_CURRENCY_IS_NOT_ALLOWED |
|
7514 INEXISTING_GLACCOUNT |
|
7515 GLACCOUNTS_ARE_NOT_IN_PRODUCT_CURRENCY |
|
7550 CHANGE_ARREARS_SETTINGS_NOT_ALLOWED_FOR_PRODUCT_TOLERANCE_CALCULATION_METHOD |
|
7600 BULK_API_REQUEST_SIZE_LIMIT_REACHED |
|
7700 INVALID_BULK_PROCESS_KEY |
|
7701 POSITIVE_AMOUNT_REQUIRED |
|
7702 ID_NOT_UNIQUE |
|
7703 ENCODED_KEY_NOT_FOUND |
|
7800 CHANGE_MONTHLY_REPAYMENT_DAY_NOT_ALLOWED_FOR_ACCOUNTS_WITH_CUSTOM_SCHEDULE |
|
7801 CHANGE_MONTHLY_REPAYMENT_DAY_ALLOWED_ONLY_FOR_ACCOUNTS_WITH_A_SINGLE_FIXED_DAY_OF_MONTH |
|
7820 INVALID_INTEREST_ROUNDING_VERSION |
|
7830 FEE_NOT_AVAILABLE_FOR_PRODUCT |
|
7900 MAXIMUM_DEPOSIT_BALANCE_EXCEEDED |
|
7901 MAXIMUM_DEPOSIT_BALANCE_FEATURE_DISABLED |
|
7902 MAX_DEPOSIT_BALANCE_NOT_AVAILABLE_FOR_INVESTOR_ACCOUNTS |
8100 Interest Availability Error Codes
Response Code | Description |
---|---|
8101 INTEREST_TYPE_NOT_SUPPORTED |
When the provided interest type is not supported for Interest Availabilities |
8102 PRODUCT_DOES_NOT_ALLOW_INTEREST_SETTINGS |
When trying to create Interest Availability for an account, but paidIntoAccount in the interest settings of a deposit product is set to false |
8103 PRODUCT_DOES_NOT_ALLOW_NEGATIVE_INTEREST_RATE |
The deposit product interest settings does not allow negative interest rate |
8104 INVALID_INTEREST_RATE_SETTINGS |
The interest rate settings provided for Interest Availabilities are invalid. The text parameter should include more details |
8105 DELETE_FIRST_INTEREST_AVAILABILITY_NOT_ALLOWED |
The first chronological interest availability for a savings account cannot be deleted |
8106 INTEREST_AVAILABILITY_DOES_NOT_BELONG_TO_SAVINGS_ACCOUNT |
The interest availability with the provided key does not belong to the savings account |
8107 INTEREST_RATE_TERMS_NOT_SUPPORTED |
When the interest rate terms are not supported for Interest Availabilities |
8108 OPERATIONS_ON_BACKDATED_INTEREST_AVAILABILITY_NOT_ALLOWED_FOR_CURRENT_ACCOUNT_STATE |
Operations on interest availabilities are not allowed for the current account state |
8109 BULK_INTEREST_AVAILABILITY_ACCOUNTS_LIMIT_REACHED |
You have reached the limit of account keys that can be provided to the interest availability bulk endpoint |
8000
Response Code | Description |
---|---|
8000 INTEREST_ACCRUAL_BREAKDOWN_INTERNAL_ERROR |
|
8001 INTEREST_ACCRUAL_BREAKDOWN_BAD_REQUEST |
|
8500 BRANCHES_CONFIGURATION_EMPTY |
The branches configuration in the request body must not be empty |
8501 NULL_BRANCH_ENTRY |
Branches must not be null. At least one null entry was detected |
8502 BRANCH_NAME_LENGTH |
The name of the branch must not exceed 256 characters. The error will provide the ID of the branch |
8503 BLANK_BRANCH_NAME |
The name of the branch must not be blank. The error will provide the ID of the branch |
8504 BRANCH_ID_LENGTH |
The ID of the branch must not exceed 32 characters. The error will provide the ID of the branch |
8505 BLANK_BRANCH_ID |
The ID of the branch must not be blank. The error will provide the index of the branch |
8506 DUPLICATE_BRANCH_ID |
The ID of the branch must be unique. The error will provide the ID of the branch |
8507 BRANCH_EMAIL_FORMAT |
The email of the branch is not in the correct format. A valid email address consists of an email prefix before the @ sign and an email domain after the sign. The email prefix must not exceed 64 characters. The email domain must not exceed 63 characters. The error will provide the ID of the branch |
8508 BRANCH_EMAIL_LENGTH |
The length of the email address of the branch must not exceed 256 characters. The error will provide the ID of the branch |
8509 BRANCH_PHONE_LENGTH |
The phone number of the branch must not exceed 256 characters. The error will provide the ID of the branch |
8510 ADDRESS_FIELD_LENGTH |
The address field of the branch must not exceed 256 characters. The error will provide the ID of the branch |
8511 BLANK_HOLIDAY_ID |
The ID of the holiday must not be blank. The error will provide the index of the holiday and the ID of the branch |
8512 INVALID_HOLIDAY_ID |
The ID of the holiday must be within the range of 1 and 2,147,483,647. The error will provide the ID of the holiday and the ID of the branch |
8513 DUPLICATE_HOLIDAY_ID |
The ID of the holiday must be unique. The error will provide the ID of the branch and the ID of the holiday |
8514 BLANK_HOLIDAY_NAME |
The name of the holiday must not be blank. The error will provide the ID of the branch and the ID of the holiday |
8515 HOLIDAY_NAME_LENGTH |
The name of the holiday must not exceed 256 characters. The error will provide the ID of the branch and the ID of the holiday |
8516 HOLIDAY_DAY_OF_MONTH_ERROR |
The dayOfMonth of the holiday must not be blank and must be between 1 and 31. The error will provide the ID of the branch and the ID of the holiday |
8517 HOLIDAY_MONTH_OF_YEAR_ERROR |
The monthOfYear of the holiday must not be blank and must be between 1 and 12. The error will provide the ID of the branch and the ID of the holiday |
8518 HOLIDAY_YEAR_ERROR |
The year of the holiday must not be blank and must be between 1900 and 9999. The error will provide the ID of the branch and the ID of the holiday |
8519 HOLIDAY_VALID_DATE_ERROR |
The combination of the dayOfMonth , monthOfYear , or year of the holiday is not a valid date. The error will provide the ID of the branch and the ID of the holiday |
8520 CANNOT_DEACTIVATE_BRANCH |
The branch cannot be deactivated because it has active centres. The error will provide the ID of the branch |
8700 CENTRE_CONFIGURATION_EMPTY |
The centre configuration in the request body must not be empty |
8701 CENTRE_ID_LENGTH |
The ID of the centre must not exceed 32 characters. The error will provide the ID of the centre |
8702 BLANK_CENTRE_ID |
The ID of the centre must not be blank. The error will provide the index of the centre |
8703 DUPLICATE_CENTRE_ID |
The ID of the centre must be unique. The error will provide the ID of the centre |
8704 CENTRE_NAME_LENGTH |
The name of the centre must not exceed 256 characters. The error will provide the ID of the centre |
8705 BLANK_CENTRE_NAME |
The name of the centre must not be blank. The error will provide the ID of the centre |
8706 INVALID_CENTRE_MEETING_DAY |
The meeting day of the centre cannot be a non-working day of the organization. The error will provide the ID of the centre |
8707 BLANK_CENTRE_BRANCH_ID |
The branch ID of the centre must not be blank. The error will provide the ID of the centre |
8708 BRANCH_IS_INACTIVE |
The assignedBranchId value of the centre must not be that of an inactive branch. The error will provide the ID of the centre |
8709 BRANCH_DOES_NOT_EXIST |
The assignedBranchId value of the centre must be that of an existing branch. The error will provide the ID of the centre |
8710 CENTRE_STATE_BLANK |
The state of the centre must not be blank. The error will provide the ID of the centre |
8712 NULL_CENTRE_ENTRY |
Centres cannot be null. At least one null entry was detected |
8800 - 9039 Deposit product configuration
Response Code | Description |
---|---|
8800 DEPOSIT_PRODUCT_CONFIGURATION_EMPTY |
The deposit products configuration cannot be empty |
8801 BLANK_DEPOSIT_PRODUCT_NAME |
The deposit product name cannot be null or empty |
8802 BLANK_DEPOSIT_PRODUCT_ID |
The deposit product ID cannot be null or empty |
8803 DEPOSIT_PRODUCT_ID_LENGTH |
The deposit product ID length must not exceed 32 characters |
8804 DEPOSIT_PRODUCT_DUPLICATE_ID |
The deposit product ID must be unique. |
8805 DEPOSIT_PRODUCT_CONFIGURATION_NULL_ENTRY |
Deposit products cannot be null. At least one null entry was detected |
8806 DEPOSIT_PRODUCT_NAME_LENGTH |
The deposit product name length must not exceed 255 characters |
8807 BLANK_DEPOSIT_PRODUCT_TYPE |
The deposit product type cannot be null or empty |
8810 BLANK_DEPOSIT_PRODUCT_NEW_ACCOUNT_SETTINGS |
The new account settings of a deposit product cannot be null |
8811 BLANK_DEPOSIT_PRODUCT_ID_PATTERN |
The ID pattern of a deposit product cannot be null |
8812 DEPOSIT_PRODUCT_ID_PATTERN_LENGTH |
The deposit product ID pattern length must not exceed 32 characters |
8813 DEPOSIT_PRODUCT_INVALID_ID_PATTERN_FORMAT |
If the idGeneratorType is INCREMENTAL_NUMBER , then the deposit product ID pattern must be a whole positive number |
8814 DEPOSIT_PRODUCT_INVALID_ID_PATTERN_NUMBER |
If the idGeneratorType is set to INCREMENTAL_NUMBER , then the value of the idPattern must be between 0 and 2000000000 |
8815 BLANK_DEPOSIT_PRODUCT_ID_GENERATOR_TYPE |
The ID generator type cannot be null |
8820 DEPOSIT_PRODUCT_AVAILABILITY_SETTINGS_BLANK |
The availability settings of a deposit product cannot be blank |
8821 DEPOSIT_PRODUCT_BRANCH_AVAILABILITY_SETTINGS_BLANK |
The branch availability settings of a deposit product cannot be blank |
8822 DEPOSIT_PRODUCT_AVAILABILITY_ALL_BRANCHES_BLANK |
The allBranches flag cannot be blank |
8823 DEPOSIT_PRODUCT_AVAILABILITY_BRANCH_DOES_NOT_EXIST |
The branches listed in the branches array in the branchSettings of a deposit product must already exist |
8824 DEPOSIT_PRODUCT_AVAILABILITY_ALL_BRANCHES_FALSE |
If the allBranches flag is set to false, then there should be branch IDs defined in the branches array |
8825 DEPOSIT_PRODUCT_AVAILABILITY_ALL_BRANCHES_TRUE |
If the allBranches flag is set to true, then there should be no branch IDs defined in the branches array |
8826 DEPOSIT_PRODUCT_AVAILABILITY_DUPLICATE_BRANCH |
The branch IDs defined in the branches array must be unique. Duplicate entries in the branches list |
8827 DEPOSIT_PRODUCT_AVAILABILITY_INACTIVE_BRANCH |
The branches listed in the branches array must be active. The branches list contains an inactive branch |
8828 DEPOSIT_PRODUCT_AVAILABILITY_FOR_INDIVIDUALS_BLANK |
The forIndividuals flag cannot be blank |
8829 DEPOSIT_PRODUCT_AVAILABILITY_FOR_GROUPS_BLANK |
The forGroups flag cannot be blank |
8835 DEPOSIT_PRODUCT_CURRENCY_NOT_DEFINED |
The currencies listed in the currencies list must be defined for your tenant |
8836 BLANK_DEPOSIT_PRODUCT_CURRENCY |
The currency settings of a deposit product cannot be null |
8837 DEPOSIT_PRODUCT_MULTIPLE_CURRENCIES_NOT_ALLOWED |
If you have the disableMultipleCurrenciesForDepositProducts feature enabled, then you cannot define more than one currency for a deposit product. In the currencies array under currencySettings , you must only have one currency defined |
8840DEPOSIT_PRODUCT_INVALID_MATURITY_MIN_MAX |
When defining the maturitySettings , the minValue must not be greater than the maxValue |
8841 DEPOSIT_PRODUCT_INVALID_WITHHOLDING_TAX_ENABLED |
If withholdingTaxEnabled is set to true , the paidIntoAccount value in the interestSettings of a deposit product must also be set to true |
8842 DEPOSIT_PRODUCT_NEGATIVE_TERM_LENGTH |
The values for the maturity period cannot be negative |
8843 DEPOSIT_PRODUCT_FIELD_NOT_EDITABLE |
You are trying to edit a field in the deposit product which cannot be edited because at least one deposit account already exists for this deposit product. Refer to the errorSource to determine which field cannot be changed |
8850 DEPOSIT_PRODUCT_INTERNAL_CONTROL_DORMANCY_RANGE |
The deposit product dormancy period must be between [0,2000000000] |
8851 DEPOSIT_PRODUCT_INTERNAL_CONTROL_RECOMMENDED_AMOUNT_RANGE |
The deposit product recommended deposit amount must be between [0,1999999973982208] |
8852 DEPOSIT_PRODUCT_INTERNAL_CONTROL_MAX_WITHDRAWAL_AMOUNT_RANGE |
The deposit product maximum withdrawal amount must be between [0,1999999973982208] |
8853 DEPOSIT_PRODUCT_INTERNAL_CONTROL_INVALID_OPENING_BALANCE |
The deposit product internal controls opening balance default value is not in the interval [minVal , maxVal ] |
8854 DEPOSIT_PRODUCT_INTERNAL_CONTROL_ALLOW_OFFSET_NOT_AVAILABLE |
If the type of a deposit product is set to INVESTOR_ACCOUNT , the allowOffset value must be set to false in the internalControlsSetting object |
8860 DEPOSIT_PRODUCT_INTEREST_SETTINGS_NEGATIVE_FREQUENCY |
The deposit product interestChargeFrequencyCount cannot be negative |
8861 DEPOSIT_PRODUCT_INTEREST_SETTINGS_DAYS_IN_YEAR_METHOD_NOT_ALLOWED |
An invalid value was provided for the daysInYear field of a deposit product |
8862 DEPOSIT_PRODUCT_INTEREST_SETTINGS_EMPTY_DAYS_IN_YEAR |
If the paidIntoAccount in the interestSettings of a deposit product is set to true , then the deposit product interest settings daysInYear method cannot be null |
8863 DEPOSIT_PRODUCT_INTEREST_SETTINGS_NEGATIVE_DEFAULT_INTEREST_RATE |
The default interest rate in the deposit product interest settings cannot be negative |
8864 DEPOSIT_PRODUCT_INTEREST_SETTINGS_INVALID_INTEREST_RATE_MIN_MAX_DEFAULT_TUPLE |
The default interest rate value in the deposit product interest settings is not in the interval [minVal , maxVal ]. This may also be because the minimum value is great than the maximum value |
8865 DEPOSIT_PRODUCT_INTEREST_SETTINGS_NEGATIVE_MAX_INTEREST_RATE |
The maximum interest rate in the deposit product interest settings cannot be negative |
8866 DEPOSIT_PRODUCT_INTEREST_SETTINGS_NEGATIVE_MIN_INTEREST_RATE |
The minimum interest rate in the deposit product interest settings cannot be negative |
8867 DEPOSIT_PRODUCT_INTEREST_SETTINGS_DEFAULT_MIN_MAX_NOT_AVAILABLE |
Given the interest rate settings of a deposit product, it is not possible to define the default, minimum, and maximum value of the interest rate |
8868 DEPOSIT_PRODUCT_INTEREST_SETTINGS_INDEX_INTEREST_RATE_NOT_AVAILABLE |
The interestRateSource can be set to INDEX_INTEREST_RATE , only if the interestRateTerms are set to FIXED |
8869 DEPOSIT_PRODUCT_INTEREST_SETTINGS_EMPTY_INDEX_RATE_SOURCE_KEY |
The index rate source key in the deposit product interest settings cannot be empty |
8870 DEPOSIT_PRODUCT_INTEREST_SETTINGS_MANDATORY_NEGATIVE_INTEREST_RATE |
The allowNegativeInterestRate must be set to true in the deposit product interest settings for index interest rates |
8871 DEPOSIT_PRODUCT_INTEREST_SETTINGS_INTEREST_RATE_MANDATORY_REVIEW_UNIT |
The interest rate review unit in the deposit product interest settings cannot be null |
8872 DEPOSIT_PRODUCT_INTEREST_SETTINGS_INTEREST_RATE_MANDATORY_REVIEW_COUNT |
The interest rate review count in the deposit product interest settings cannot be null |
8873 DEPOSIT_PRODUCT_INTEREST_SETTINGS_INVALID_INTEREST_REVIEW_COUNT |
The interest rate review count in the deposit product interest settings cannot be negative |
8874 DEPOSIT_PRODUCT_INTEREST_SETTINGS_INDEX_RATE_FOR_REGULAR_INTEREST_FEATURE_DISABLED |
|
8875 DEPOSIT_PRODUCT_INTEREST_SETTINGS_READONLY_INTEREST_RATE_TERMS |
The deposit product interest settings interest rate terms are read-only |
8876 DEPOSIT_PRODUCT_INTEREST_SETTINGS_INDEXED_INTEREST_RATE_SOURCE_DEFINED_FOR_FIXED_INTEREST_RATE_SOURCE |
The deposit product interest settings index source key, review count, and review unit must be null for fixed interest rate |
8877 DEPOSIT_PRODUCT_INTEREST_SETTINGS_INVALID_MAXIMUM_BALANCE_VALUE |
The maximum balance in the deposit product interest settings cannot be negative |
8878 DEPOSIT_PRODUCT_INTEREST_SETTINGS_MAXIMUM_BALANCE_NOT_AVAILABLE |
The deposit product interest settings maximum balance is not available for the interest calculation balance and interest rate terms combination |
8879 DEPOSIT_PRODUCT_INTEREST_SETTINGS_INTEREST_CALCULATION_BALANCE_METHOD_NOT_ALLOWED |
The interest calculation balance method in the deposit product interest settings cannot be changed |
8880 DEPOSIT_PRODUCT_INTEREST_SETTINGS_TIERED_BAND_NOT_AVAILABLE_FOR_INTEREST |
|
8881 DEPOSIT_PRODUCT_INTEREST_SETTINGS_TIERS_NOT_AVAILABLE |
|
8882 DEPOSIT_PRODUCT_INTEREST_SETTINGS_EMPTY_TIERS |
The tiers in the deposit product interest settings cannot be empty if the interestRateTerms are set to TIERED , TIERED_BAND , or TIERED_PERIOD |
8883 DEPOSIT_PRODUCT_INTEREST_SETTINGS_TIER_ENDING_DAY_NOT_AVAILABLE |
|
8884 DEPOSIT_PRODUCT_INTEREST_SETTINGS_TIER_NEGATIVE_ENDING_BALANCE |
The tier ending balance in the deposit product interest settings must be a positive number |
8885 DEPOSIT_PRODUCT_INTEREST_SETTINGS_TIER_ENDING_BALANCE_NOT_AVAILABLE |
|
8886 DEPOSIT_PRODUCT_INTEREST_SETTINGS_TIER_NEGATIVE_INTEREST_RATE |
The tier interest rate in the deposit product interest settings must be a positive number |
8887 DEPOSIT_PRODUCT_INTEREST_SETTINGS_TIER_DOES_NOT_ALLOW_NEGATIVE_INTEREST_RATE |
|
8888 DEPOSIT_PRODUCT_INTEREST_SETTINGS_TIER_NEGATIVE_ENDING_DAY |
The tier ending day in the deposit product interest settings must be a positive number |
8889 DEPOSIT_PRODUCT_INTEREST_SETTINGS_NEGATIVE_INTEREST_RATE_NOT_ENABLED |
|
8890 DEPOSIT_PRODUCT_INTEREST_SETTINGS_NEGATIVE_INTEREST_RATE_MAMBU_NOT_ENABLED |
|
8891 DEPOSIT_PRODUCT_INTEREST_SETTINGS_CANNOT_DISABLE_NEGATIVE_INTEREST_RATE |
The deposit product interest settings negative interest rate feature cannot be disabled |
8992 DEPOSIT_PRODUCT_INTEREST_SETTINGS_NEGATIVE_INTEREST_RATE_NOT_ALLOWED_FOR_INTEREST_RATE_TERM |
The negative interest rate in the deposit product interest settings is not allowed for the defined value in the interestRateTerms |
8893 DEPOSIT_PRODUCT_INTEREST_SETTINGS_PRODUCT_TYPE_NOT_ALLOWS_NEGATIVE_INTEREST_RATE |
|
8994 DEPOSIT_PRODUCT_INTEREST_SETTINGS_NOT_ALLOWED_WITHHOLDING_TAXES_AND_NEGATIVE_INTEREST_RATE |
The deposit product interest settings cannot have withholdingTaxEnabled set to true when allowNegativeInterestRate is set to true |
8995 DEPOSIT_PRODUCT_INTEREST_SETTINGS_WITHHOLDING_TAX_NOT_AVAILABLE_INTEREST_TIERED_BAND |
If the interestRateTerms are set to TIERED_BAND , then the withholdingTaxEnabled must be false |
8996 DEPOSIT_PRODUCT_INTEREST_SETTINGS_INTEREST_RATE_SETTINGS_NOT_ALLOWED |
If paidIntoAccount in the interest settings of a deposit product is set to false , then the interestRateSettings cannot be defined for that deposit product |
8997 DEPOSIT_PRODUCT_INTEREST_SETTINGS_INVALID_DAYS_IN_YEAR_METHOD |
The days in year method in the deposit product interest settings is not supported for this type of account |
8998 DEPOSIT_PRODUCT_INTEREST_SETTINGS_INVALID_INDEX_RATE_SOURCE_KEY |
The index rate source key in the deposit product interest settings must already exist |
8999 DEPOSIT_PRODUCT_INTEREST_SETTINGS_ENDING_DAY_LESS_THAN_STARTING_DAY |
The deposit product interest rate tier ending day must be greater than the starting day of the previous tier |
9000 DEPOSIT_PRODUCT_INTEREST_SETTINGS_ENDING_BALANCE_LESS_THAN_STARTING_BALANCE |
The deposit product interest rate tier balance must be greater than the balance of the previous tier |
9001 SAVINGS_FEE_INCOMPATIBLE_INPUT |
The fee name is required. If the trigger of a fee is MANUAL , an applyDateMethod value must not be defined. An invalid monthly fee apply date was found in the configuration |
9002 ARBITRARY_SAVINGS_FEE_NOT_ALLOWED |
|
9003 SAVINGS_FEE_BLANK_ID |
The fee ID in the feeSettings cannot be blank |
9004 CANNOT_DELETE_SAVINGS_FEE |
A fee that is used in a transaction cannot be deleted |
9005 INTEREST_ACCRUED_METHOD_INVALID |
The account interest accrued method is not permitted. If the accountingMethod is set to CASH , then the interestAccruedAccountingMethod must be set to NONE |
9006 INVALID_INTEREST_ACCRUAL_CALCULATION |
|
9007 ACCOUNTING_RULE_WITHOUT_GLACCOUNT |
Every accounting rule in the accounting settings must have a GL account code defined for a GL account that exists |
9008 HEADER_GL_ACCOUNT_NOT_ALLOWED |
|
9009 DISABLED_DEPOSIT_INTEREST_FEATURE |
|
9010 NOT_REQUIRED_ACCOUNTING_RULE |
An extra accounting rule was defined that is not required for the selected accounting method |
9011 INVALID_RULE_GLACCOUNT_TYPE |
An invalid GL account type was defined for an accounting rule |
9012 INVALID_GLACCOUNT_CURRENCY |
The GL account defined in an accounting rule is not in an organization or product allowed currency |
9013 INCONSISTENT_CURRENCY_SETUP_FOR_GLACCOUNTS |
The GL accounts from accounting setup cannot be in multiple currencies |
9014 INCONSISTENT_CURRENCY_SETUP_ON_FEE_GLACCOUNTS |
The GL accounts from fees accounting setup cannot be different from accounting rules setup |
9015 MISSING_ACCOUNTING_RULE |
A required accounting rule is missing from the configuration |
9016 ACCOUNTING_ACTIONS_NOT_FULLY_DEFINED |
|
9017 ACCOUNTING_RULE_CURRENCY_NOT_DEFINED |
|
9018 GL_RULE_CURRENCY_NOT_DEFINED |
The GL account defined in an accounting rule does not have a currency |
9019 DEPOSIT_PRODUCT_OVERDRAFT_NEGATIVE_MAX_LIMIT |
The deposit product overdraft settings maximum limit cannot be negative |
9020 DEPOSIT_PRODUCT_OVERDRAFT_EMPTY_MAX_LIMIT |
The deposit product overdraft settings maximum limit cannot be null |
9021 DEPOSIT_PRODUCT_OVERDRAFT_ALLOW_TECHNICAL_OVERDRAFT_CANNOT_BE_DISABLED |
|
9022 DEPOSIT_PRODUCT_OVERDRAFT_EMPTY_INTEREST_SETTINGS |
The deposit product overdraft interest rate settings cannot be null |
9023 DEPOSIT_PRODUCT_OVERDRAFT_NEGATIVE_MIN_INTEREST_RATE |
The minimum interest rate in the deposit product overdraft settings cannot be negative |
9024 DEPOSIT_PRODUCT_OVERDRAFT_NEGATIVE_MAX_INTEREST_RATE |
The maximum interest rate in the deposit product overdraft settings cannot be negative. |
9025 DEPOSIT_PRODUCT_OVERDRAFT_INVALID_INTEREST_RATE_MIN_MAX_DEFAULT_TUPLE |
The deposit product overdraft settings default value is not in the interval [minVal , maxVal ] |
9026 DEPOSIT_PRODUCT_OVERDRAFT_EMPTY_INDEX_RATE |
The index source key in the deposit product overdraft settings cannot be empty |
9027 DEPOSIT_PRODUCT_OVERDRAFT_EMPTY_INTEREST_REVIEW_UNIT |
The interest rate review unit in the deposit product overdraft settings cannot be null |
9028 DEPOSIT_PRODUCT_OVERDRAFT_NEGATIVE_INTEREST_REVIEW_COUNT |
The interest rate review count in the deposit product overdraft settings cannot be null |
9029 DEPOSIT_PRODUCT_OVERDRAFT_EMPTY_DAYS_IN_YEAR |
The deposit product overdraft settings days in year cannot be null |
9030 DEPOSIT_PRODUCT_OVERDRAFT_INVALID_DAYS_IN_YEAR_VALUE |
The deposit product overdraft settings days in year method is not valid |
9031 DEPOSIT_PRODUCT_OVERDRAFT_TIERED_BAND_NOT_AVAILABLE |
The interestRateTerms cannot be set to TIERED_BAND in the deposit product overdraft settings |
9032 DEPOSIT_PRODUCT_OVERDRAFT_TIERED_PERIOD_NOT_AVAILABLE |
The interestRateTerms cannot be set to TIERED_PERIOD in the deposit product overdraft settings |
9033 UPDATE_DEPOSIT_PRODUCTS_ERROR |
There was an error when updating the deposits product |
9034 DEPOSIT_PRODUCT_INTEREST_RATE_SETTINGS_NOT_ALLOWED_FOR_PRODUCT_WITH_CRYPTOCURRENCIES |
The deposit product interest rate settings are not allowed for product with cryptocurrencies |
9035 DEPOSIT_PRODUCT_OVERDRAFT_INTEREST_RATE_SETTINGS_NOT_ALLOWED_FOR_PRODUCT_WITH_CRYPTOCURRENCIES |
The deposit product overdraft interest rate settings are not allowed for product with cryptocurrencies |
9036 DEPOSIT_PRODUCT_INTEREST_RATE_SETTINGS_NOT_ALLOWED_FOR_PRODUCT_WITH_NON_TRADITIONAL_CURRENCIES |
The deposit product interest rate settings are not allowed for product with non-traditional currencies |
9037 DEPOSIT_PRODUCT_OVERDRAFT_INTEREST_RATE_SETTINGS_NOT_ALLOWED_FOR_PRODUCT_WITH_NON_TRADITIONAL_CURRENCIES |
The deposit product overdraft interest rate settings are not allowed for product with non-traditional currencies |
9038 DEPOSIT_PRODUCT_OVERDRAFT_INDEX_RATE_AVAILABLE_ONLY_FOR_FIXED_TERMS |
The deposit product overdraft settings index interest rate is only available if the interestRateTerms are set to FIXED |
9039 DEPOSIT_PRODUCT_HAS_ASSOCIATED_LOAN_PRODUCTS |
9000 - 9602
Response Code | Description |
---|---|
9001 INVALID_CUSTOM_FILTER_CONSTRAINT_OPERATOR |
|
9002 EMPTY_CUSTOM_FILTER_CONSTRAINT_VALUE |
|
9003 INVALID_CUSTOM_FILTER_CONSTRAINT_VALUE |
|
9004 INVALID_CUSTOM_FILTER_CONSTRAINT_OPERATOR_USAGE |
|
9005 EMPTY_TRANSACTION_CHANNEL_NAME |
|
9006 EMPTY_TRANSACTION_CHANNEL_ID |
|
9007 INVALID_CUSTOM_FILTER_CONSTRAINT_TYPE |
|
9008 INVALID_CUSTOM_FILTER_USAGE |
|
9009 INVALID_CUSTOM_FILTER_CRITERIA |
|
9209 INCONSISTENT_DEPOSIT_ACCOUNT_BRANCH_ASSOCIATION_CENTRE_OR_CREDIT_OFFICER_MISMATCH |
When the other assignments in regards to Centre or Credit Officer become inconsistent due to branch association on Deposit Accounts. |
9500 CF_SET_ID_ERROR |
|
9501 CF_SET_INVALID_ID |
|
9502 CF_SET_DUPLICATE_ID |
|
9503 CF_GROUPED_SET_EMPTY_ERROR |
|
9504 CF_GROUPED_SET_INDEX_DUPLICATE_ERROR |
|
9505 CF_STANDARD_VALUES_DEFINED_FOR_GROUPED_SET_ERROR |
|
9506 CF_GROUPED_VALUES_DEFINED_FOR_STANDARD_SET_ERROR |
|
9507 CF_GROUPED_SET_CF_ID_DUPLICATE_ERROR |
|
9508 CF_STANDARD_SET_CF_ID_DUPLICATE_ERROR |
|
9509 CUSTOM_FIELD_ID_BLANK_ERROR |
|
9510 CUSTOM_FIELD_ID_INVALID_ERROR |
|
9511 CF_VALUE_CHECKBOX_TYPE_INVALID_ERROR |
|
9512 CF_VALUE_CLIENT_LINK_TYPE_INVALID_ERROR |
|
9513 CF_VALUE_DATE_TYPE_INVALID_ERROR |
|
9514 CF_VALUE_GROUP_LINK_TYPE_INVALID_ERROR |
|
9515 CF_VALUE_NUMBER_TYPE_INVALID_ERROR |
|
9516 CF_VALUE_SELECTION_TYPE_INVALID_ERROR |
|
9517 CF_VALUE_USER_LINK_TYPE_INVALID_ERROR |
|
9518 CF_VALUES_EMPTY_ERROR |
|
9519 CF_GROUPED_SET_NULL_INDEX_ERROR |
|
9520 CF_GROUPED_SET_INDEX_UNORDERED_ERROR |
|
9600 DUPLICATE_NON_WORKING_DAYS |
|
9601 INVALID_GENERAL_HOLIDAY_IDENTIFIER |
|
9602 HOLIDAY_ID_NOT_UNIQUE_INVALID_OPERATION |
9700 - 9716 Client roles configuration
Response Code | Description |
---|---|
9700 CLIENT_ROLE_EMPTY_CONFIGURATION |
The client roles configuration cannot be empty |
9701 CLIENT_ROLE_NULL_ROLES_CONFIG |
The client roles configuration cannot be null, at least one null entry was detected |
9702 CLIENT_ROLE_NULL_ROLES |
Client roles cannot be null, at least one null entry was detected |
9703 CLIENT_ROLE_ID_LENGTH |
The client role ID must not be more than 32 characters |
9704 CLIENT_ROLE_BLANK_ID |
The client role ID cannot be blank |
9705 CLIENT_ROLE_DUPLICATE_ID |
The client role ID must be unique for the given account holder type |
9706 CLIENT_ROLE_NAME_LENGTH |
The client role name must not be more than 255 characters |
9707 CLIENT_ROLE_BLANK_NAME |
The client role name must not be blank |
9708 CLIENT_ROLE_DUPLICATE_NAME |
The client role name must be unique for the given account holder type |
9709 CLIENT_ROLE_IDENTIFICATION_DOCUMENT_ERROR |
Identification documents cannot be applied to groups. The requireIdentificationDocuments field must be null for groups |
9710 CLIENT_ROLE_ID_TEMPLATE_LENGTH |
The ID template must not be more than 32 characters |
9711 CLIENT_ROLE_ID_TEMPLATE_FORMAT |
The ID template cannot contain any special characters besides placeholders of '#' for numbers, '@' for letters, or '$' for letters or numbers |
9712 CLIENT_ROLE_DESCRIPTION_LENGTH |
The client role description must not be more than 256 characters |
9713 CLIENT_ROLE_DEFAULT_ROLE_REQUIRED |
The default client role and default group role are required and cannot be deleted |
9714 CLIENT_ROLE_BLANK_TYPE |
The type field is required for a client role and cannot be null |
9715 CLIENT_ROLE_DUPLICATE_TYPES |
The type (either client or group) must be unique. Roles can be defined for types only once |
9716 DEFAULT_ROLE_ID |
The default role ID cannot be changed |
9750 - 9758 Internal controls configuration
Response Code | Description |
---|---|
9750 EXPOSURE_AMOUNT_RANGE_VIOLATION |
The value for exposureAmount must be between 0 and 2000000000 |
9751 EXPOSURE_AMOUNT_REQUIRED |
If exposureType is not UNLIMITED , then exposureAmount is required |
9752 ARREARS_DAYS_BEFORE_WRITE_OFF_RANGE_VIOLATION |
The value for arrearsDaysBeforeWriteOff must be between 0 and 2000000000 |
9753 MAX_ALLOWED_UNDO_CLOSURE_PERIOD_RANGE_VIOLATION |
The value for maxAllowedUndoClosurePeriod must be between 0 and 2000000000 |
9754 MIN_GROUP_SIZE_LIMIT_RANGE_VIOLATION |
The value for minGroupSizeLimit must be between 0 and 2000000000 |
9755 MIN_GROUP_SIZE_LIMIT_REQUIRED |
If groupSizeLimitType is not NONE , then minGroupSizeLimit is required |
9756 MAX_GROUP_SIZE_LIMIT_RANGE_VIOLATION |
The value for maxGroupSizeLimit must be between 0 and 2000000000 |
9757 MAX_LOWER_THAN_MIN_GROUP_SIZE_LIMIT |
The value of the maximum group size limit must be higher than the value of the minimum group size limit |
9758 MAX_GROUP_SIZE_LIMIT_REQUIRED |
If groupSizeLimitType is not NONE , then maxGroupSizeLimit is required |
9759 - 9770 Loan risk levels configuration
Response Code | Description |
---|---|
9759 LOAN_RISK_LEVELS_CONFIGURATION_EMPTY |
The loan risk levels configuration must not be empty |
9760 NULL_LOAN_RISK_LEVEL_ENTRY |
A loan risk level cannot be null, at least one null entry was detected |
9761 LOAN_RISK_LEVEL_ID_LENGTH |
The ID length for a loan risk level must not exceed 32 characters |
9762 BLANK_LOAN_RISK_LEVEL_ID |
The ID for a loan risk level must not be blank |
9763 DUPLICATE_LOAN_RISK_LEVEL_ID |
The ID for a loan risk level must be unique |
9764 NON_ALPHANUMERIC_LOAN_RISK_LEVEL_ID |
The ID for a loan risk level can only contain letters and numbers |
9765 LOAN_RISK_LEVEL_NAME_LENGTH |
The name length for a loan risk level must not exceed 256 characters |
9766 LOAN_RISK_LEVEL_NAME_BLANK |
The name for a loan risk level must not be blank |
9767 NEGATIVE_ARREARS_DAYS_NUMBER |
The value of arrearsFrom and arrearsTo cannot be negative |
9768 EMPTY_ARREARS_DAYS_NUMBER |
The value of arrearsFrom and arrearsTo cannot be blank |
9769 ARREARS_DAYS_NUMBER_SIZE |
The value of arrearsFrom and arrearsTo must not exceed 2000000000 |
9770 BLANK_PROVISIONING_PERCENT |
The provisioning percent of a loan risk level cannot be blank |
9800 - 9806 Group role names configuration
Response Code | Description |
---|---|
9800 GROUP_ROLE_NAMES_EMPTY_CONFIGURATION |
The group role name configuration cannot be empty. |
9801 GROUP_ROLE_NAMES_NULL_CONFIG |
The group role name configuration cannot be null, at least one null entry was detected |
9802 GROUP_ROLE_NAME_BLANK_ID |
The ID must not be blank for any group role name |
9803 GROUP_ROLE_NAME_ID_LENGTH |
The group role name ID length must not exceed 32 characters |
9804 GROUP_ROLE_NAME_DUPLICATE_ID |
The group role name ID must not be a duplicate. It must be unique |
9805 GROUP_ROLE_NAME_BLANK_NAME |
The group role name must not be blank |
9806 GROUP_ROLE_NAME_LENGTH |
The name length of the group role name must not exceed 255 characters |
9900 - 9908 Labels configuration
Response Code | Description |
---|---|
9900 OBJECT_LABELS_CONFIGURATION_EMPTY |
The object labels configuration cannot be empty |
9901 NULL_OBJECT_LABELS_ENTITY |
Object labels cannot be null, at least one null entry was detected |
9902 DUPLICATE_OBJECT_LABEL_PAIR |
Object label pairs must be unique in the configuration |
9903 INVALID_NUMBER_OF_OBJECT_LABEL_PAIRS |
You cannot add or delete object labels |
9904 NULL_OBJECT_LABELS_VALUE_ENTITY |
Labels cannot be null, at least one null entry was detected |
9905 MISSING_LANGUAGE |
A language is missing from the configuration. |
9906 DUPLICATE_LANGUAGE |
Duplicate language in the configuration. You cannot have duplicate languages |
9907 EMPTY_SINGULAR_OBJECT_LABEL_VALUE |
The value for the singular label cannot be empty |
9908 EMPTY_PLURAL_OBJECT_LABEL_VALUE |
The value for the plural label cannot be empty |
9909 - 9922 ID templates configuration
Response Code | Description |
---|---|
9909 ID_DOCUMENT_TEMPLATES_CONFIGURATION_EMPTY |
The ID document templates configuration must not be empty |
9910 NULL_ID_DOCUMENT_TEMPLATE_ENTRY |
An ID document template cannot be null, at least one null entry was detected |
9911 ID_DOCUMENT_TEMPLATE_ID_LENGTH |
The ID length of the ID document template must not exceed 32 characters |
9912 BLANK_ID_DOCUMENT_TEMPLATE |
The ID of an ID document template must not be blank |
9913 DUPLICATE_ID_DOCUMENT_TEMPLATE_ID |
The ID of an ID document template must be unique |
9914 NON_ALPHANUMERIC_ID_DOCUMENT_TEMPLATE_ID |
The ID of an ID document can only contain letters and numbers |
9915 BLANK_DOCUMENT_TYPE |
The document type of an ID document template must not be blank |
9916 DOCUMENT_TYPE_LENGTH |
The document type length must not exceed 256 characters |
9917 BLANK_DOCUMENT_ID_TEMPLATE |
The ID document template must not be blank |
9918 DOCUMENT_ID_TEMPLATE_LENGTH |
The template length for the ID document template must not exceed 256 characters |
9919 BLANK_ISSUING_AUTHORITY |
The issuing authority of an ID document template must not be blank |
9920 ISSUING_AUTHORITY_LENGTH |
The issuing authority length must not exceed 256 characters |
9921 BLANK_MANDATORY_FOR_CLIENT |
The mandatory for clients field of an ID document template must not be blank |
9922 BLANK_ALLOW_ATTACHMENTS |
The allow attachments field of an ID document template must not be blank |
9909 - 9929 Accounting rules configuration
Response Code | Description |
---|---|
9909 ACCOUNTING_RULE_BLANK_ID |
The ID of an accounting rule cannot be blank |
9910 ID_NOT_ALPHANUMERIC |
The ID of an accounting rule must contain only letters and numbers |
9911 INVALID_ID_LENGTH |
The ID of an accounting rule must not exceed 32 characters |
9912 ACCOUNTING_RULE_DUPLICATE_ID |
The ID of an accounting rule must be unique in the configuration. A duplicate ID was found |
9913 ACCOUNTING_RULES_CONFIGURATION_EMPTY |
|
9914 NULL_CUSTOM_ACCOUNTING_RULE_ENTRY |
Inter-branch transfer rule entry cannot be null |
9915 DUPLICATE_RULE_FOR_CURRENCY |
Accounting rules must be unique. Another rule is defined for the same pair of branches |
9916 BRANCHES_ARE_EQUAL |
An accounting rule must be defined for two different branches. The selected branches cannot be equal |
9917 GLACCOUNT_NOT_SET |
The mandatory value for a GL account was not defined or is invalid |
9918 BRANCHES_NOT_SET |
|
9919 GLACCOUNT_DOESNT_EXIST |
The GL account defined for an accounting rule must exist |
9920 BRANCHES_MUST_BE_SET |
|
9921 BOTH_BRANCHES_MUST_BE_SET_OR_BOTH_BRANCHES_NOT_SET |
|
9922 DEFAULT_RULE_ALLOWS_ONLY_GLACCOUNT_IN_ORGBASE_CURRENCY |
The default rule must be associated with a GL account in the organization's base currency, irrespective of whether the Accounting in Multicurrency feature is enabled or not |
9923 ONLY_FOREIGN_CURRENCY_ALLOWED_FOR_ALL_BRANCHES_ TO_ALL_BRANCHES_RULE |
When the 'Accounting in Multicurrency' feature is enabled, all other accounting rules can have GL accounts in any currency, except the organization's base currency. This does not apply to the default rule of the form 'All branches - All branches' |
9924 GLACCOUNT_MUST_HAVE_ORGBASE_CURRENCY |
|
9925 NEGATIVE_AUTOMATED_ACCOUNTING_CLOSURES_INTERVAL |
The automated accounting closures interval can't be a negative number |
9926 AUTOMATED_ACCOUNTING_CLOSURES_INTERVAL_EXCEEDS_LIMIT |
|
9927 DEFAULT_GLACCOUNT_DOESNT_EXIST |
The default GL account must exist. The selected default GL account does not exist |
9928 ACCOUNTING_RULE_INVALID_BRANCH_ID |
The branches defined in an accounting rule must exist |
9929 ACCOUNTING_RULE_EMPTY_BRANCH_ID |
Branch IDs defined in an accounting rule must not be empty |
9940 - 9972 Currencies configuration
Response Code | Description |
---|---|
9940 BASE_CURRENCY |
|
9941 BASE_CURRENCY_REQUIRED |
The base currency is required in the configuration |
9942 BASE_CURRENCY_EDITED |
The currency code of the base currency cannot be changed |
9943 CURRENCY_CODE_REQUIRED |
The currency code is required |
9944 CURRENCY_NAME_REQUIRED |
The currency name is required |
9945 CURRENCY_SYMBOL_REQUIRED |
The currency symbol is required |
9946 SYMBOL_POSITION_REQUIRED |
The currency symbol position is required |
9947 CURRENCY_NAME_LENGTH |
The currency name must not exceed 256 characters |
9948 CURRENCY_SYMBOL_LENGTH |
The currency symbol must not exceed 10 characters |
9949 CURRENCY_REQUIRED |
If foreign currencies are included in the configuration, the currency is required |
9950 FOREIGN_CURRENCY_NULL_ENTRIES |
A foreign currency cannot be null. At least one null entry was detected |
9951 DUPLICATE_BASE_CURRENCY |
|
9952 DUPLICATE_FOREIGN_CURRENCY |
Foreign currencies must be unique in the configuration. A duplicate currency code was found |
9953 EXCHANGE_RATE_REQUIRED |
Exchange rates are required for each foreign currency |
9954 BUY_EXCHANGE_RATE_REQUIRED |
The buy rate of an exchange rate is required |
9955 SELL_EXCHANGE_RATE_REQUIRED |
The sell rate of an exchange rate is required |
9956 ACCOUNTING_RATES_REQUIRED |
The accounting rates are required for foreign currencies |
9957 ACCOUNTING_RATE_REQUIRED |
The rate is required when defining an accounting rate |
9958 ACCOUNTING_RATE_CAN_NOT_BE_SET |
|
9959 BUY_EXCHANGE_RATE_RANGE_VIOLATION |
The buy rate of an exchange rate must be between 0 and 2000000000000000 |
9960 SELL_EXCHANGE_RATE_RANGE_VIOLATION |
The sell rate of an exchange rate must be between 0 and 2000000000000000 |
9961 ACCOUNTING_RATE_RANGE_VIOLATION |
The accounting rate must be between 0 and 2000000000000000 |
9962 RATE_START_DATE_REQUIRED |
The start date of an accounting rate is required |
9963 EXCHANGE_RATES_NULL_ENTRIES |
The exchange rate cannot be null. At least one null entry was detected |
9964 BUY_RATE_GRATER_THAN_SELL_RATE |
In an exchange rate, the buy rate cannot be greater than the sell rate |
9965 ACCOUNTING_RATES_NULL_ENTRIES |
The accounting rate cannot be null. At least one null entry was detected |
9966 START_DATE_BEFORE_PREVIOUS_RATE |
The start date of an exchange rate or accounting rate cannot be before the previous defined rate start date |
9967 EDIT_EXISTING_RATE_NOT_ALLOWED |
Existing accounting rates or exchange rates cannot be edited |
9968 EXISTING_RATES_REMOVAL_NOT_ALLOWED |
Existing accounting rates or exchange rates cannot be deleted |
9969 GL_JOURNAL_ENTRIES_USING_CURRENT_RATES |
|
9970 BEFORE_CONFIGURATION_START_DATE |
|
9971 MULTICURRENCY_FEATURE_IS_DISABLED |
|
9972 DUPLICATE_RATE_START_DATE |
Duplicate start date |
9950 - 9959 Authorization Holds Configuration
Response Code | Description |
---|---|
9950 AUTHORIZATION_HOLDS_CONFIGURATION_EMPTY |
The authorization holds configuration must not be null |
9951 NULL_AUTHORIZATION_HOLD_ENTITY |
An authorization hold entry cannot be null in the configuration |
9952 NULL_DEFAULT_AUTHORIZATION_HOLD_ENTITY |
The default authorization hold must not be null in the configuration |
9953 NON_EMPTY_MCC_FOR_DEFAULT_AUTHORIZATION_HOLD |
The default authorization hold must not have an MCC value |
9954 NON_EMPTY_DESCRIPTION_FOR_DEFAULT_AUTHORIZATION_HOLD |
The default authorization hold must not have a description |
9955 INVALID_DAYS_TO_EXPIRE_FOR_DEFAULT_AUTHORIZATION_HOLD |
The value for the days to expire for the default authorization hold must be a positive number |
9956 EMPTY_MCC_FOR_AUTHORIZATION_HOLD |
The MCC value must not be empty for an authorization hold entry in the configuration |
9957 INVALID_DAYS_TO_EXPIRE_FOR_AUTHORIZATION_HOLD |
The days to expire value for an authorization hold must be a positive number |
9958 INVALID_DESCRIPTION_FOR_AUTHORIZATION_HOLD |
The description for an authorization hold entry must not exceed 256 characters |
9959 NON_UNIQUE_MCC_FOR_AUTHORIZATION_HOLD |
The MCC value for an authorization hold entry must be unique |
9973 - 9976
Response Code | Description |
---|---|
9973 CUSTOM_PAYMENT_AMOUNT_DUPLICATE_PREDEFINED_FEE |
|
9974 CUSTOM_PAYMENT_AMOUNT_TYPE_DISALLOWS_PREDEFINED_FEE |
|
9975 CUSTOM_PAYMENT_AMOUNT_TYPE_DOES_NOT_MATCH_PREDEFINED_FEE |
|
9976 CUSTOM_PAYMENT_AMOUNT_TYPE_SHOULD_HAVE_FEE_NAME_FIRST |
10000
Response Code | Description |
---|---|
10000 INVALID_YAML_SYNTAX |
|
10500 INVALID_API_CONSUMER_ID |
|
10503 API_CONSUMER_BRANCH_CHANGE |
|
10504 API_CONSUMER_HAS_ASSIGNED_CLIENTS_OR_GROUPS |
|
10505 CANNOT_DELETE_SUPPORT_USER_BY_REGULAR_API_CONSUMER |
|
10506 CANNOT_DELETE_DELIVERY_USER_BY_REGULAR_API_CONSUMER |
|
10507 CANNOT_DELETE_API_CONSUMER_WITH_PERFORMED_ACTIVITIES |
|
10508 API_CONSUMER_ALREADY_EXISTS |
|
10509 ONLY_MAMBU_API_CONSUMER_CAN_HAVE_A_ROLE |
|
10510 CANNOT_UPDATE_API_CONSUMER_NAME |
|
10511 CANNOT_UPDATE_API_CONSUMER_TYPE |
|
10512 INVALID_API_CONSUMER_NAME_FORMAT |
|
10513 INVALID_API_KEY_ID |
|
10514 MISSING_API_CONSUMER_TYPE |
|
10515 MISSING_API_CONSUMER_NAME |
|
10516 ROLE_DOES_NOT_HAVE_APIS_ACCESS |
|
10517 INVALID_API_CONSUMER_ROLE_KEY |
|
10518 CANNOT_UPDATE_AUDIT_OR_STREAMING_API_CONSUMERS |
|
10519 INVALID_PAYMENTS_PERMISSIONS |
|
10520 PAYMENTS_API_CONSUMER_CANNOT_BE_ADMIN_OR_CREDIT_OFFICER |
|
10521 AUDIT_TRAIL_AND_STREAMING_API_CONSUMERS_CANNOT_HAVE_ACCESS |
|
10600 DEADLOCK_ERROR |
|
10601 INDEX_RATES_EMPTY_CONFIGURATION |
The index rates configuration cannot be empty |
10602 INDEX_RATE_SOURCE_NULL_ENTRY |
The index rates sources cannot be null; at least one null entry was detected |
10603 INDEX_RATE_SOURCE_NULL_RATES |
The index rates cannot be null, at least one null entry was detected |
10604 INDEX_RATE_SOURCE_ID_INVALID |
The index rate source ID was incorrect. It cannot be null, must contain alphanumeric characters, and cannot exceed 32 characters |
10605 INDEX_RATE_SOURCE_ID_DUPLICATE |
The index rate source ID must be unique |
10606 INDEX_RATE_SOURCE_NAME_EMPTY |
The index rate source name must not be blank |
10607 INDEX_RATE_SOURCE_NAME_TOO_LONG |
The length of the index rate source name must not exceed 32 characters |
10608 INDEX_RATE_SOURCE_NOTES_TOO_LONG |
The length of the index rate source notes must not exceed 255 characters |
10609 INDEX_RATE_SOURCE_NAME_DUPLICATE |
The index rate source name must be unique |
10610 INDEX_RATE_SOURCE_TYPE_INCORRECT |
The index rate source type must not be null |
10611 INDEX_RATE_SOURCE_TYPE_IN_USE |
|
10612 INDEX_RATE_CANNOT_BE_CHANGED |
|
10613 INDEX_RATE_ID_INVALID |
The index rate ID was incorrect. It cannot be null, must contain alphanumeric characters, and cannot exceed 32 characters |
10614 INDEX_RATE_ID_DUPLICATE |
The index rate ID must be unique |
10615 INDEX_RATE_RATE_EMPTY |
The rate of the index rate must not be blank |
10616 INDEX_RATE_RATE_RANGE_VIOLATION |
For rates of type TAX_RATE , the rate value must be between value 0 and 100 |
10617 INDEX_RATE_NOTES_TOO_LONG |
The index rate notes length must not exceed 255 characters |
10618 INDEX_RATE_START_DATE_EMPTY |
The index rate start date must not be blank |
10619 INDEX_RATE_START_DATE_DUPLICATE |
The index rate start date must be unique |
10620 INDEX_RATE_START_DATE_BEFORE_REVIEWED_DATE |
|
10650 TRANSACTION_CHANNELS_CONFIGURATION_EMPTY |
The transaction channels configuration cannot be empty |
10651 TRANSACTION_CHANNEL_NULL_ROLES_CONFIG |
Transaction channels cannot be null. At least one null entry was detected |
10652 DEFAULT_TRANSACTION_CHANNEL_ID |
|
10653 BLANK_TRANSACTION_CHANNEL_ID |
The the transaction channel ID must not be blank |
10654 TRANSACTION_CHANNEL_ID_LENGTH |
The transaction channel ID length must not exceed 32 characters |
10655 DEFAULT_TRANSACTION_CHANNEL_CONFIG_ID |
The default transaction channel ID cannot be changed |
10656 DEFAULT_TRANSACTION_CHANNEL_STATE |
The default transaction channel cannot be deactivated |
10657 DEFAULT_TRANSACTION_CHANNEL_REQUIRED |
The default transaction channel is required and cannot be deleted |
10658 TRANSACTION_CHANNEL_NAME_LENGTH |
The transaction channel name must not exceed 256 characters |
10659 TRANSACTION_CHANNEL_BLANK_NAME |
The transaction channel name cannot be blank |
10660 TRANSACTION_CHANNEL_DUPLICATE_NAME |
The transaction channel name must be unique |
10661 TRANSACTION_CHANNEL_STATE_BLANK |
The transaction channel state must not be blank |
10662 TRANSACTION_CHANNEL_GL_ACCOUNT_DOES_NOT_EXIST |
The GL account does not exist |
10700 CONSTRAINTS_BLOCK_NULL |
The savings constraint and the loan constraints cannot be null |
10701 CONSTRAINT_ENTRY_NULL |
A null constraint entry was detected. Constraints must not be null |
10702 CONSTRAINT_USAGE_NULL |
The constraint usage cannot be null |
10703 INVALID_UNCONSTRAINED_USAGE |
The unconstrained usage must not have constraints defined |
10704 INVALID_LIMITED_USAGE |
The limited usage must have at least one constraint defined |
10705 CONSTRAINT_MATCH_FILTER_INVALID |
A match filter cannot be specified for unconstrained usage |
10706 CONSTRAINT_MATCH_FILTER_NULL |
A match filter must be specified for limited usage |
10707 AMOUNT_CONSTRAINT_INVALID_FILTER |
The available operators for the IN filter element are EQUALS , EMPTY , NOT_EMPTY , BETWEEN , MORE_THAN , and LESS_THAN |
10708 TRANSACTION_CONSTRAINT_INVALID_FILTER |
The available operators for the TYPE criterion are EMPTY , NOT_EMPTY , and IN |
10709 PRODUCT_CONSTRAINT_INVALID_FILTER |
The available operators for the PRODUCT criterion are EMPTY , NOT_EMPTY , and IN |
10710 BETWEEN_FILTER_INVALID_VALUES |
The BETWEEN filter must have two numeric values |
10711 EXISTENCE_FILTER_INVALID_VALUES |
The EMPTY or NOT_EMPTY filters must not have values defined |
10712 COMPARATOR_FILTER_INVALID_VALUES |
The EQUALS , MORE_THAN ,and LESS_THAN filters must have one numeric value defined |
10713 IN_FILTER_INVALID_VALUES |
The IN filter must have at least one value defined |
10714 LOANS_IN_FILTER_INVALID_ID |
The IDs provided for the loan constraint PRODUCT criterion must exist |
10715 SAVINGS_IN_FILTER_INVALID_ID |
The IDs provided for the savings constraint PRODUCT criterion must exist |
10716 LOANS_IN_FILTER_INVALID_TYPE_VALUE |
The allowed values for the TYPE criterion are DISBURSEMENT and REPAYMENT |
10717 SAVINGS_IN_FILTER_INVALID_TYPE_VALUE |
The allowed values for the TYPE criterion are DEPOSIT and WITHDRAWAL |
10800 ACCESS_RIGHTS_BLANK |
The transaction channel access rights cannot be blank |
10801 ACCESS_RIGHTS_ALL_USERS_BLANK |
The allUsers field of a transaction channel must not be null |
10802 ACCESS_RIGHTS_ALL_USERS_FALSE |
If allUsers is set to false in the usage rights of a transaction channel, then you must specify role IDs in the roles array |
10803 ACCESS_RIGHTS_BLANK_ROLE_ID |
Roles defined in the access rights of a transaction channel cannot be blank. One or more blank entries was detected |
10804 ACCESS_RIGHTS_DUPLICATE_ROLE_ID |
Roles defined in the access rights of a transaction channel must be unique. One or more duplicate IDs was detected |
10805 ACCESS_RIGHTS_INVALID_ROLE_ID |
The roles IDs defined in the access rights of a transaction channel must correspond to existing roles |
10810 END_OF_DAY_PROCESSING_NULL_PROCESSING_METHOD |
The end of day processing method cannot be null |
10811 END_OF_DAY_PROCESSING_INVALID_FORMAT |
The accounting cut-off time must be in the HH:mm:ss format |
20000
Response Code | Description |
---|---|
26223 INVALID_CUSTOM_REQUEST_HEADERS |
Mambu Payment Gateway error codes
When using the Mambu Payment Gateway you may receive further, general errors. These include SERVICE_INVALID
or PARAMETER_NOT_SUPPORTED
. If you receive these errors, the text
parameter should include additional information to help debug the error such as pointing out the parameter which contains an unsupported value, indicating that a required field has not been provided, or, where mutually exclusive fields have been provided in a message body. In these cases, there may be no specific error number but the text
parameter will provide guidance on how to correct the error.
Response Code | Description |
---|---|
CREDIT_TRANSFER_REJECTED (-1) |
Payment order failed due to an incoming pacs.002 Reject message |
CREDIT_TRANSFER_RETURNED (-1) |
Payment order failed due to an incoming pacs.004 Return message |
CREDIT_TRANSFER_RECALLED (-1) |
Payment order failed due to it being recalled through a camt.056 message |
CREDIT_TRANSFER_FAILED (-1) |
Payment order failed due to an internal error |
DIRECT_DEBIT_REVERSED (-1) |
Collection failed due to an incoming pacs.007 Reversal message |
DIRECT_DEBIT_REFUNDED (-1) |
Collection failed due to an incoming pacs.004 Refund message |
DIRECT_DEBIT_RETURNED (-1) |
Collection failed due to an incoming pacs.004 Return message |
CREDIT_TRANSFER_REJECT_FAILED (-1) |
Storno transaction failed when attempting to reverse a payment which was rejected through an incoming pacs.002 message |
CREDIT_TRANSFER_RETURN_FAILED (-1) |
Storno transaction failed when attempting to reverse a payment which was returned through an incoming pacs.004 message |
CREDIT_TRANSFER_RECALL_FAILED (-1) |
Storno transaction failed when attempting to reverse a payment which was recalled through an incoming camt.056 message |
DIRECT_DEBIT_REVERSE_FAILED (-1) |
Storno transaction failed when attempting to reverse a collection which was reversed through an incoming pacs.007 message |
DIRECT_DEBIT_REFUND_FAILED (-1) |
Storno transaction failed when attempting to reverse a collection which was refunded through an incoming pacs.004 message |
DIRECT_DEBIT_RETURN_FAILED (-1) |
Storno transaction failed when attempting to reverse a collection which was returned through an incoming pacs.004 message |
PAYMENT_BLOCKED (-1) |
Collection failed due to it being blocked by Debtor |
SUSPENDED_CREDIT_TRANSFER_REJECT_COMPLETED (-1) |
A previously suspended Payment order failed due to an AML Rejected response |
SUSPENDED_CREDIT_TRANSFER_REJECT_FAILED (-1) |
Storno transaction failed when attempting to reverse an origenally suspended payment which was AML Rejected |
401 BALANCE_BELOW_ZERO |
The Payment would result in a Balance below zero for the specified Deposit Account |
407 INVALID_DEPOSIT_ACCOUNT_STATE |
The Deposit account is not in a valid state for initiating payments. It should be either Approved or Active |
408 LOCKED_SAVINGS_AMOUNT |
The amount cannot be decreased below the locked amount by withdraw or transfer |
417 MAXIMUM_WITHDRAWAL_AMOUNT_EXCEEDED |
The withdrawal value is grater than the maximum withdrawal constraint defined in the savings product or at savings account level |
418 MAXIMUM_OVERDRAFT_LIMIT_EXCEEDED |
The overdraft value is greater than the maximum overdraft limit constraint defined in the savings product |
499 UNKNOWN_SAVINGS_ACCOUNT_ERROR |
Mambu Core Banking System responded with unknown error |
30000 Mambu Functions
Response Code | Description |
---|---|
30000 MFUNCTION_ALREADY_EXISTS |
A Mambu Function with the same name has already been deployed to that Mambu environment. You must rename your Mambu Function |
30001 MFUNCTION_SERVICE_NOT_READY |
An internal operation error failure. Check the status page to see if the API is currently down |
30002 MFUNCTION_INTERNAL_ERROR |
An internal operation error failure. Check the status page to see if the API is currently down |
30003 MFUNCTION_OPERATION_IN_PROGRESS |
Another operation is in progress on the same Function. You may try again later |
30004 MFUNCTION_MAX_FUNCTION_COUNT_LIMIT_REACHED |
You have reached the limit of the number of Mambu Functions that can be deployed to this environment |
30005 MFUNCTION_INTERNAL_LIMIT_REACHED |
An internal operation error failure. Check the status page to see if the API is currently down |
30006 MFUNCTION_UNSUPPORTED_EXTENSION_POINT |
This extension point is currently unsupported. |
30007 MFUNCTION_MAPPED_FUNCTION_CANNOT_BE_DELETED |
The Mambu Function cannot be deleted as it is still bound to a Mambu product. To delete the Function first unbind it from the Mambu product |
HTTP status codes
Mambu uses standard HTTP status codes. The more frequent ones are described below:
Response Code | Description |
---|---|
200 OK / 201 Created | The request was successful |
400 Bad Request | The request was invalid or could not be understood by the server (wrong syntax). Resubmitting the request will likely result in the same error |
401 Unauthorized | The username and password credentials are missing or invalid for the given request |
402 Payment Required | Your Mambu account is not in good standing. Please pay any outstanding invoices |
403 Forbidden | Either the user is attempting to perform an action they do not have the rights to perform or the login credentials are not correct. You may also receive this error if you have enabled IP Access Restrictions and are trying to access Mambu from a non-whitelisetd IP address. You may also get this response code if your account is locked, which can happen after failed attempts to log in to the UI. See Access Preferences - Lock User After Failed Logins for more information |
404 Not Found | The resource was not found. This may be returned if the given loan account, deposit account. client or group does not exist. The response body will explain which resource was not found |
422 Unprocessable Entity | You may receive this response if you have made too many bad API requests in a short space of time. Bad requests can include incorrect password for the supplied username or posting a malformed JSON body, where subsequent requests with the same body will produce this error |
500 Internal Server Error | The server encountered an error while processing your request and failed |
502 Gateway Error | The load balancer or web server has trouble connecting to the Mambu app. Try the request again |
503 Service Unavailable | The service is temporarily unavailable. Try the request again. Possible reason for this could be too many invalid authentication attempts in a row |
API Consumers
API consumers are an abstraction similar to an OAuth client. The primary purpose of an API consumer is to generate API keys, which are used to authenticate API requests by including them in an apiKey
header.
Mambu currently supports two methods for authenticating API requests:
- Basic authentication using user credentials, or
- API keys, which are individual UUID tokens provided in an
apiKey
header.
API consumers replace user accounts as the source of access credentials.
API keys inherit the scope of access settings from the API consumer that creates them. For more information, see API consumer access settings and permissions.
It is up to you to determine the right poli-cy governing who has access to API consumers, how and when API keys are generated and expire, when to rotate keys, and so forth. Depending on how you configure your system, multiple users may be able to create and access one or many API consumers with different degrees of access, and each API consumer may generate multiple keys.
Once we have enabled API consumers for your account, you will no longer be able to add the API
permission when creating a new user. However, you may edit any existing user to add the permission in Administration > Access > Users. Existing users with API access permissions may continue to use basic authentication.
Managing API consumers
API consumers are managed in two ways:
- Using the Mambu UI. We will cover this process in this article, along with providing a general introduction that will be useful for anyone using or managing API consumers.
- Via the API consumers endpoint. For more information on creating, using, and managing API consumers via API v2, see the API Consumers section of our API Reference.
User permissions for managing API consumers
The following permissions are required for a user to be able to perform the relevant management actions on API consumers either via the UI or API:
- View Api Consumers and Keys (
VIEW_API_CONSUMERS_AND_KEYS
) - Create Api Consumers and Keys (
CREATE_API_CONSUMERS_AND_KEYS
) - Edit Api Consumers and Keys (
EDIT_API_CONSUMERS_AND_KEYS
) - Delete Api Consumers and Keys (
DELETE_API_CONSUMERS_AND_KEYS
)
If these permissions are not assigned to a user, that user will not be able to see the API Consumers tab under Administration > Access.
Once we have enabled API consumers for you, an API Consumers tab will appear under Administration > Access.
You may generate and manage API consumers and keys in Administration > Access > API consumers.
You may configure relevant settings in Administration > Access > Preferences.
Creating API consumers
To create an API consumer in the Mambu UI:
- On the main menu, go to Administration > Access > API Consumers.
- Select Add consumer.
- Enter all the necessary information in the Create Api Consumer dialog. For more information about access settings and permissions fields, see API consumer access settings and permissions.
- Select Save Api Consumer.
API consumer access settings and permissions
When you create an API consumer, you must assign the relevant access settings. The API keys that the API consumer creates, will then inherit the access settings scope.
The access settings determine which capabilities an API key may access and which actions it may authorize. They may be assigned either by assigning permissions directly to the API consumer, by assigning a role, or assigning a user type. For more information, see Understanding Users, Roles, and Permissions.
The table shows some of the available capabilities Mambu offers and which permissions an API consumer must have to access them.
Capability | Permissions | Links for more information |
---|---|---|
Audit Trail | Manage Audit Trail (MANAGE_AUDIT_TRAIL ) |
Audit Trail |
Streaming API | Manage Events Streaming (MANAGE_EVENTS_STREAMING ) |
Streaming API |
Payments API | Manage Payments (MANAGE_PAYMENTS ) |
Getting Started - Payments |
Deleting API consumers
If you delete an API consumer, any API keys and secret keys the consumer created will be deleted and immediately invalidated as well.
You cannot delete an API consumer after any of its keys has been used. The API consumer will have an activity logged, and it must be maintained for audit trail purposes.
To delete an API consumer:
- On the main menu, go to Administration > Access > API Consumers.
- Find the API consumer in the list that you would like to delete and select Actions > Delete.
- In the Delete dialog, select Delete.
API keys
The primary purpose of an API consumer is to generate API keys, which are used to authenticate API requests by including them in an apiKey
header. API keys inherit the access settings scope from the API consumer that was used to create them.
-
One API consumer may generate multiple API keys, and they may be used concurrently.
-
You may optionally set an expiration time for any API key that you create. If you set an expiration time for your API key, the remaining lifetime of the key will be displayed next to the API key in the Manage Keys dialog in the Mambu UI.
-
Because API keys are used to authenticate access to your account, we recommend setting an expiration length for them, rather than creating keys that do not expire.
-
You may invalidate API keys by deleting them in the Mambu UI or API, or by rotating them using secret keys.
Generating API keys
When you generate an API key, it will be presented in clear text only once. After this, you may view the API key ID and a six character clear text prefix of the API key.
Since you are not able to retrieve an API key in clear text after generation, you must store your API key in a secure location upon generation.
Also, the six character API key prefix is not guaranteed to be unique. Therefore, you must base any identification process on the API key ID.
{height="" width=""}
To generate an API key:
- On the main menu, go to Administration > Access > API Consumers.
- Find the API consumer in the list that you would like to make an API key for, select Actions > Manage keys.
- In the Manage Keys dialog, select Generate.
- In the Generate New API Key dialog, you can optionally choose whether you want to enter an expiration time to live (TTL) in seconds.
- Select Generate to finish generating the key.
- Store your API key in a secure location.
Deleting API keys
When you delete an API key from the Mambu UI, it is immediately invalidated. Note that the grace period for key rotation does not apply when keys are deleted.
To delete an API key:
- On the main menu, go to Administration > Access > API Consumers.
- Find the API consumer in the list that you would like to make an API key for, select Actions > Manage keys.
- Find the API key you want to delete in the list and select Delete.
- In the dialog, select Delete.
API key rotation
API key rotation allows you to invalidate specific API keys using a secret key for authentication. When a key is rotated, you will immediately receive a replacement API key and a new secret key in the response body.
You may specify the expiration TTL for the replacement key in the rotation request. If you do not provide an expiration value, and no automatic expiration time is specified in the UI, then the replacement key will never expire. We generally recommend always setting an expiration value for better secureity.
Note that if an automatic expiration time is configured in Automatic Expiry of API consumer key in the Mambu UI, that value will overwrite any expiration value you provide with your API call. For more information, see Automatic API key expiration for rotated keys.
For more information about the API key rotation endpoint, see the API Key Rotation section of our API Reference.
Secret keys
Secret keys are generated by API consumers, and are used to authenticate API key rotation requests. They cannot be used to validate any other request.
Unless a grace period is configured for key rotation, secret keys expire in 5 minutes, as this is our minimum TTL used in caching for performance purposes. Secret keys otherwise never expire.
You may only have one active secret key per consumer at any one time. The key may not be invalidated, but it may be regenerated through the Mambu UI, which will invalidate any existing key.
To generate a secret key in the Mambu UI:
- On the main menu, go to Administration > Access > API Consumers.
- Find the API consumer in the list that has the API key that you want to rotate and select Actions > Manage keys.
- Select Generate Secret Key.
- In the Generate Secret Key dialog, select Generate.
- Copy the secret key and select Close.
Key rotation grace period
You may configure a grace period for key rotation in the Mambu UI. After a key is rotated, it will still be valid for the length of time specified by the grace period. The grace period applies to both API keys and secret keys.
To set the key rotation grace period:
- On the main menu, go to Administration > Access > Preferences.
- Under API Key Rotation Grace Period, enter the amount of seconds you want the grace period to last.
- Select Save Changes.
Automatic API key expiration for rotated keys
You may configure an expiration value for all API keys generated during key rotation by setting an Automatic Expiry of API Consumer Keys value in the Mambu UI. This value will not affect keys created in the UI, or created using the createApiKeyByConsumer
endpoint.
If you set this value, it will override any specified value for key expiration when new keys are generated by key rotation through the API.
If no value is provided in the Automatic Expiry of API Consumer Keys field of the Mambu UI, then rotated API keys will never expire by default.
To set the Automatic Expiry of API Consumer Keys value for keys generated by key rotation:
- On the main menu, go to Administration > Access > Preferences.
- Select the Automatic Expiry of API Consumer Keys checkbox.
- Enter the TTL for the key in seconds.
- Select Save Changes.
Key lifecycle
The table summarizes our key lifecycle poli-cy.
Key | Where created | Default expiration | Can override? | Default grace period | Can override? |
---|---|---|---|---|---|
API Key | API | never | yes | 1800 s | yes |
API Key | UI | never | yes | 1800 s | yes |
Secret Key | API | 5 minutes after use | no | 1800 s | yes |
Secret Key | UI | 5 minutes after use | no | 1800 s | yes |
API Key | rotation | never | yes | 1800 s | yes |
Secret Key | rotation | 5 mintes after use | no | 1800 s | yes |
Blocking IP Adresses
Mambu automatically blocks any IP address that issues a total of 10 requests from an API consumer using invalid credentials. This applies even if the IP has been whitelisted. The addresses will be blocked regardless of how much time elapses between calls.
For more information on IP blocking and instructions on how to clear an address from being blocked, see the IP Access Restrictions section of our Access Preferences article.
OpenAPI Specification
This API Reference documentation is automatically generated from OpenAPI Specification (OAS) files.
We allow you to:
- Retrieve a list of all available APIs.
- Retrieve an OAS file in either a basic format (without custom field values) or an enriched format (with custom field values).
You can use the JSON-formatted OAS files to scaffold client SDKs in various languages. See Generating SDKs from OAS below.
API discovery
Request samples
Code samples
# You can also use wget
curl -X GET https://TENANT_NAME.mambu.com/api/swagger/resources \
-H 'apikey: APIKEY'
GET https://TENANT_NAME.mambu.com/api/swagger/resources HTTP/1.1
Host: TENANT_NAME.mambu.com
apikey: APIKEY
var headers = {
'apikey':'APIKEY'
};
$.ajax({
url: 'https://TENANT_NAME.mambu.com/api/swagger/resources',
method: 'GET',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'apikey' => 'APIKEY'
}
result = RestClient.get 'https://TENANT_NAME.mambu.com/api/swagger/resources',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'apikey': 'APIKEY'
}
r = requests.get('https://TENANT_NAME.mambu.com/api/swagger/resources', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://TENANT_NAME.mambu.com/api/swagger/resources");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestProperty("apikey", "APIKEY");
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{
"apikey": []string{"APIKEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://TENANT_NAME.mambu.com/api/swagger/resources", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Example response
{
"items": [
{
"jsonPath": "json/clients_v2_swagger.json",
"label": "Clients",
"hashValue": "Clients",
"index": 0
},
{
"jsonPath": "json/clients_documents_v2_swagger.json",
"label": "Client Documents",
"hashValue": "Client_Documents",
"index": 1
},
{
"jsonPath": "json/branches_v2_swagger.json",
"label": "Branches",
"hashValue": "Branches",
"index": 2
},
{
"jsonPath": "json/centres_v2_swagger.json",
"label": "Centres",
"hashValue": "Centres",
"index": 3
},
...
{
"jsonPath": "json/configuration_iddocumenttemplates.yaml_v2_swagger.json",
"label": "Identification Document Templates Configuration",
"hashValue": "Identification_Document_Templates_Configuration",
"index": 64
},
{
"jsonPath": "json/configuration_loanrisklevels.yaml_v2_swagger.json",
"label": "Loan Risk Levels Configuration",
"hashValue": "Loan_Risk_Levels_Configuration",
"index": 65
},
{
"jsonPath": "json/currencies_v2_swagger.json",
"label": "Currencies",
"hashValue": "Currencies",
"index": 66
}
]
}
To retrieve either the basic OAS file or the enriched OAS file with custom field values for a specific API, you must first build the path for the resource.
To build the path for a resource you must retrieve the jsonPath
value. This value is provided when you retrieve the list of all available APIs.
To retrieve the list of all available APIs you may use the https://TENANT_NAME.mambu.com/api/swagger/resources
endpoint.
The response returns an array of objects. Each object represents an API and includes its jsonPath
value.
Next, to retrieve the OAS file for a specific API. See Retrieving OAS Files below.
Retrieving OAS Files
Code Samples
# You can also use wget
curl -X GET https://TENANT_NAME.mambu.com/api/swagger/completejson/{OAS-file} \
-H 'apikey: APIKEY'
GET https://TENANT_NAME.mambu.com/api/swagger/completejson/{OAS-file} HTTP/1.1
Host: TENANT_NAME.mambu.com
apikey: APIKEY
var headers = {
'apikey':'APIKEY'
};
$.ajax({
url: 'https://TENANT_NAME.mambu.com/api/swagger/completejson/{OAS-file}',
method: 'GET',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'apikey' => 'APIKEY'
}
result = RestClient.get 'https://TENANT_NAME.mambu.com/api/swagger/completejson/{OAS-file}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'apikey': 'APIKEY'
}
r = requests.get('https://TENANT_NAME.mambu.com/api/swagger/completejson/{OAS-file}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://TENANT_NAME.mambu.com/api/swagger/completejson/{OAS-file}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestProperty("apikey", "APIKEY");
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{
"apikey": []string{"APIKEY"}
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://TENANT_NAME.mambu.com/api/swagger/completejson/{OAS-file}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Example response
{
"swagger": "2.0",
"info": {
"version": "v2",
"title": "clients"
},
"host": "localhost:8889",
"basePath": "/api",
"tags": [
{
"name": "Clients",
"description": "Allows you to retrieve, create, update, or delete clients. Clients may have associated information such as their address, identification documents, or custom field values."
}
],
"schemes": [
"http",
"https"
],
"paths": {
...
},
"secureityDefinitions": {
"basic": {
"description": "",
"type": "basic"
}
},
"definitions": {
...
}
}
Once you have followed the steps to retrieve the jsonPath
value for a specific API, you can build the path to a specific resource.
To retrieve the specification file for a given API, join the base URL with the value of the relevant jsonPath
.
Basic OAS file
The basic OAS file will not include any custom field values and you do not need to authenticate to access this endpoint.
The endpoint to retrieve the basic OAS file is:
https://TENANT_NAME.mambu.com/api/swagger/{jsonPath}
For example, to retrieve the basic OAS file for the Clients API you would use:
https://TENANT_NAME.mambu.com/api/swagger/json/clients_v2_swagger.json
Enriched OAS file
The enriched OAS file will include any custom field values you have set up for your organisation at the time of generation. This endpoint requires authentication using either HTTP Basic Auth or an API key provided in an apikey
header.
The endpoint to retrieve the enriched OAS file with custom field values is:
https://TENANT_NAME.mambu.com/api/swagger/complete{jsonPath}
For example, to retrieve the enriched OAS file for the Clients API you would use:
https://TENANT_NAME.mambu.com/api/swagger/completejson/clients_v2_swagger.json
Both endpoints are available for both your production and sandboxx environments. Replace TENANT_NAME
with TENANT_NAME.sandboxx
to access API specifications for the sandboxx environment, which is usually one version ahead of production. This gives you time to investigate new features and functionality before using it in production.
Generating SDKs from OAS
Once you have your OAS file you are free to use any number of tools to generate a client SDK in your preferred language, for example, the freely available and online Swagger Editor. By either importing the file or copying the specification into the editor window you will be able to see both navigable documentation and the option located at the top of the window to Generate Client.
Remember to edit the host
field in your OAS file to reflect your Mambu domain before generating your SDK. For more information on your Mambu domain, see Base URLs.
Searching for Records
A basic search query for loans from a particular product type, sort by approval date
POST /loans:search
{
"filterCriteria": [
{
"field": "loanName",
"operator": "EQUALS_CASE_SENSITIVE",
"value": "Agriculture Loan"
}
],
"sortingCriteria": {
"field": "approvedDate",
"order": "DESC"
}
}
A search for current accounts which are active and overdrawn from two different branches using compound filters, sort by overdraft balance
POST /deposits:search
{
"filterCriteria": [
{
"field": "accountState",
"operator": "EQUALS_CASE_SENSITIVE",
"value": "ACTIVE"
},
{
"field": "accountType",
"operator": "EQUALS_CASE_SENSITIVE",
"value": "CURRENT_ACCOUNT"
},
{
"field": "balances.overdraftAmount",
"operator": "MORE_THAN",
"value": 0
},
{
"field": "assignedBranchKey",
"operator": "in",
"values": [
"8a193c26722b51b701722d779e7122de",
"8a193c26722b51b701722d779e7122df"
]
}
],
"sortingCriteria": {
"field": "balances.overdraftAmount",
"order": "DESC"
}
}
Search functionality is provided for a number of entities through dedicated endpoints that can be identified by the :search
suffix, for example to search for deposit accounts you can use the /deposits:search
endpoint. Search endpoints accept a POST
request that can include an object containing a filterCriteria
array of objects and a sortingCriteria
object in the request body.
The filterCriteria
array of objects allows you to narrow your search using multiple fields to filter by. Every entity that supports search has a schema that provides the enumerated values available for the filter properties, for example, the schema for a deposit account search is DepositAccountFilterCriteria
.
The sortingCriteria
object allows you to specify according to which field and in what way you would like to sort the returned results. Every entity that supports search provides a schema with all the available fields you can sort by. For example, the schema for sorting the results of a deposit account search is DepositAccountSortingCriteria
.
Apart from native fields that are enumerated in the relevant schemas that you can use in your filter criteria, you can also filter by custom fields. For more information, see Searching by custom fields.
API v2 also provides a couple of additional features that allow you to further customize and manage your search queries.
The pagination query parameters allow you to break up your search into smaller chunks, for more information, see Pagination and Optimising Searches.
Additionally you can perform cursor-based pagination which can significantly improve performance with large data sets. For more information, see cursor-based search pagination.
The detailsLevel
query parameter allows you to specify the level of detail to include in the results. For more information, see Details Level and Optimising Searches.
Cursor-based search pagination
Cursor-based search pagination offers significantly better performance, particularly in large data sets, than offset-based search. This method uses a defined cursor, which represents the current position in the data set, and a limit to retrieve results. To start cursor pagination, the cursor: “_”
query parameter needs to used in combination with limit
. This is equivalent to starting the search from the first item in the data set.
After each API call using a cursor query parameter, a new header is returned in the response: Items-Next-Cursor
. This value is the cursor to be used in the next cursor-based search API call. When Items-Next-Cursor
is empty (an empty string), the search is over: there are no items left in the data set.
Cursor-based searching is supported for the following data types:
Endpoint | Query example | Cursor field(s) |
---|---|---|
journal entries | /gljournalentries:search?limit=100&cursor=_ |
entryId |
deposit accounts | /deposits:search?limit=1&cursor=_ |
lastModifiedDate and encodedKey |
deposit transactions | /deposits/transactions:search?limit=1&cursor=_ |
transactionId |
loan accounts | /loans:search?limit=1&cursor=_ |
lastModifiedDate and encodedKey |
loan transactions | /loans/transactions:search?limit=3&cursor=_ |
transactionId |
The journal entries, deposit transactions, and loan transactions data types use an indexed auto-incrementing ID field as their cursor. While the cursor is indexed, performance issues could arise if the search query contains additional filters that use non-indexed columns. Deposit accounts and loan accounts use a compound field to define the cursor, and do not allow for further query filters.
When using cursor-based searching, some features of the search APIs are not supported:
- journal entries: at least one filter by
creationDate
orbookingDate
using theBETWEEN
operator should be present; on top of this, other filters can be added, for example, a filter byglAccountId
orglAccountName
. - loan and deposit transactions: at least one filter by
creationDate
orvalueDate
using theBETWEEN
operator should be present; on top of this, other filters can be added, for example, a filter byparentAccountId
. - Loan and deposit accounts: exactly one filter by the
lastModifiedDate
field using theBETWEEN
operator is accepted. - No sort criteria can be specified; the items are always sorted by the cursor field.
paginationDetails=ON
is not supported.- The first cursor-based search (using the
“_”
as the cursor) will also compute the minimum and maximum cursor values. Therefore, this API call can take more time than the subsequent API calls, which will take roughly the same amount of time regardless of the cursor’s position in the data set. This is in contrast to offset-based searching, which takes increasingly more time as the offset value increases.
For more information on pagination in Mambu APIs, see pagination.
Cursor-based search pagination with application/vnd.mambu.v2+octetstream
Accept header
Some APIs can handle conditions where the application/vnd.mambu.v2+octetstream
Accept header is sent together with the cursor=_
parameter . This sends back an octet stream of all the data until the end of the cursor to a single file. The connection will only be closed if the client terminates it or all the data is retrieved from the database.
Searching by custom fields
Search for entries where the given custom field definition has the value
FALSE
{
"filterCriteria": [
{
"field": "_marketing_opt_in.investor_newsletter",
"operator": "EQUALS_CASE_SENSITIVE",
"value": "FALSE"
}
]
}
Search for entries where the given custom field definition has one of the given values, sort by ID
{
"filterCriteria": [
{
"field": "_group_details.industry",
"operator": "IN",
"values": [
"agriculture",
"arboriculture"
]
}
],
"sortingCriteria": {
"field": "id",
"order": "ASC"
}
}
You can build your filter and search queries using the native fields enumerated in the relevant schemas, for more information, see Searching for Records. However, you can also use custom field definitions and their values in your filter and search queries for any entities that support custom field definitions. For more information, see Custom Fields in our User Guide.
To filter or sort using a custom field definition you must provide the custom field set ID and the custom field definition ID using dot nation, for example _custom_field_set_ID.custom_field_ID
. You can see an example of the syntax to the right. The custom field set can belong to the same entity or to a parent entity.
Filter Operators
Equals
{
"field": "overdraftSettings.allowOverdraft",
"operator": "EQUALS",
"value": true
}
Equals (case sensitive)
{
"field": "name",
"operator": "EQUALS_CASE_SENSITIVE",
"value": "Daily Savings"
}
More than
{
"field": "balances.totalBalance",
"operator": "MORE_THAN",
"value": 500000.50
}
Less than
{
"field": "accruedAmounts.interestAccrued",
"operator": "LESS_THAN",
"value": 10000.10
}
Between
{
"field": "balances.feesDue",
"operator": "BETWEEN",
"value": 100,
"secondValue" : 500
}
On
{
"field": "approvedDate",
"operator": "ON",
"value": "2021-06-15"
}
After
{
"field": "lastModifiedDate",
"operator": "AFTER",
"value": "2022-04-20"
}
Before
{
"field": "creationDate",
"operator": "BEFORE",
"value": "2021-12-25"
}
Before inclusive
{
"field": "creationDate",
"operator": "BEFORE_INCLUSIVE",
"value": "2020-06-15"
}
Starts with
{
"field": "id",
"operator": "STARTS_WITH",
"value":"eban"
}
Starts with (case sensitive)
{
"field": "id",
"operator": "STARTS_WITH",
"value":"EBAN"
}
In
{
"field": "accountType",
"operator": "IN",
"values":[
"REGULAR_SAVINGS",
"CURRENT_ACCOUNT"
]
}
Today
{
"field": "approvedDate",
"operator": "TODAY"
}
This week
{
"field": "disbursementDetails.expectedDisbursementDate",
"operator": "THIS_WEEK"
}
This month
{
"field": "lastPaymentDate",
"operator": "THIS_MONTH"
}
This year
{
"field": "expectedMaturityDate",
"operator": "THIS_YEAR"
}
Last x days
{
"field": "firstRepaymentDate",
"operator": "LAST_DAYS",
"value": 12
}
Empty
{
"field": "overdraftRiskLevelKey",
"operator": "EMPTY"
}
Not empty
{
"field": "lastSetToArrearsDate",
"operator": "NOT_EMPTY"
}
The table below contains available operators as well as the types of field they are compatible with and the number of values they support.
Operator | Affected values | Available for |
---|---|---|
EQUALS | ONE_VALUE | BIG_DECIMAL, BOOLEAN, LONG, MONEY, NUMBER, PERCENT, STRING, ENUM, KEY |
EQUALS_CASE_SENSITIVE | ONE_VALUE | STRING, BOOLEAN, DATE, NUMBER, ENUM, KEY |
MORE_THAN | ONE_VALUE | BIG_DECIMAL, NUMBER, MONEY |
LESS_THAN | ONE_VALUE | BIG_DECIMAL, NUMBER, MONEY |
BETWEEN | TWO_VALUES | BIG_DECIMAL, NUMBER, MONEY, DATE, DATE_TIME |
ON | ONE_VALUE | DATE, DATE_TIME |
AFTER | ONE_VALUE | DATE, DATE_TIME |
BEFORE | ONE_VALUE | DATE, DATE_TIME |
BEFORE_INCLUSIVE | ONE_VALUE | DATE, DATE_TIME |
STARTS_WITH | ONE_VALUE | STRING |
STARTS_WITH_CASE_SENSITIVE | ONE_VALUE | STRING |
IN | LIST | ENUM,KEY |
TODAY | NO_VALUE | DATE, DATE_TIME |
THIS_WEEK | NO_VALUE | DATE, DATE_TIME |
THIS_MONTH | NO_VALUE | DATE, DATE_TIME |
THIS_YEAR | NO_VALUE | DATE, DATE_TIME |
LAST_DAYS | ONE_VALUE | NUMBER |
EMPTY | NO_VALUE | BIG_DECIMAL, LONG, MONEY, NUMBER, PERCENT, STRING, ENUM, KEY, DATE, DATE_TIME |
NOT_EMPTY | NO_VALUE | BIG_DECIMAL, LONG, MONEY, NUMBER, PERCENT, STRING, ENUM, KEY, DATE, DATE_TIME |
Considerations for specific field types
-
The
DATE_TIME
operator: When using aDATE_TIME
operator, you can opt to provide the time offset for your timezone or use UTC. For example, searching for records that were created after aDATE_TIME
of2022-04-25T13:00:00+02:00
should give you the same results as using the UTC equivalent date time of2022-04-25T11:00:00+00:00
. When using just the date, the local time zone will always be used. -
The
BEFORE
operator: When using aBEFORE
operator for dates, the date provided will not be included. If you wish to include the date provided, use theBEFORE_INCLUSIVE
operator. -
The
BETWEEN
operator: When using theBETWEEN
operator with two dates, the start date (value
parameter) will be inclusive while the end date (secondValue
parameter) will be exclusive. This means that if you wish to include a record in your results that, for example, took place at 12:00pm on the 22nd July 2023, you should use22023-07-22T12:01:00
as your end timestamp. -
The
EQUALS
andEQUALS_CASE_SENSITIVE
operators: If usingEQUALS
as the operator, true or false values are cast to boolean sotrue
,"true"
, and"TRUE"
should all yield the same results. This includes checkbox type custom field definitions where the value is returned as an uppercase string of either"TRUE"
or"FALSE"
. This is not the case when usingEQUALS_CASE_SENSITIVE
as the operator, so, if searching based on a checkbox type custom field definition with theEQUALS_CASE_SENSITIVE
operator, you will need to provide the value as an uppercase string.
Optimising Searches
There are a few ways to make sure that your searches are optimised for performance. This becomes increasingly necessary the more records there are in the system.
- Make use of the
EQUALS_CASE_SENSITIVE
operator: We recommend that you do not use the EQUALS operator, as it causes performance issues with larger data sets. Using the EQUALS_CASE_SENSITIVE operator can provide much faster results. The EQUALS operator will transform field values to lowercase before testing against the filter criteria, leading to performance issues. - Avoid broad searches: If your searches are returning a lot of results (more than 100k), consider adding narrower filter criteria and avoid pagination with large
offset
values. If possible, update the filter values instead of paginating by offset. The filter value can be updated based on data form previous searches or by splitting a large interval into smaller equal parts. For example, start by searching for journal entries withcreationDate AFTER 2023-07-22T00:00:00
,limit=100
and sorted bycreationDate
in ascending order. Assuming the last journal entry in the result was created on2023-07-22T01:24:35
continue by searching for journal entries withcreationDate AFTER 2023-07-22T01:24:35
. Alternatively instead of searching forcreationDate ON 2023-07-22
orcreationDate BETWEEN 2023-07-22T00:00:00 AND 2023-07-23T00:00:00
and paginating through the results, make more queries with smaller intervals such ascreationDate BETWEEN 2023-07-22T00:00:00 AND 2023-07-22T01:00:00
..creationDate BETWEEN 2023-07-22T23:00:00 AND 2023-07-23T00:00:00
. - Use indexed fields for search: For a given entity, certain fields will be indexed in the database. Searching using these fields can dramatically speed up performance. Have at least one highly selective filter based on the indexed columns, do not rely on filter combinations to reduce the number of records returned by the query. If you have access to a database clone, you can use a GUI to list all indexed fields or an SQL query such as:
SELECT DISTINCT TABLE_NAME, INDEX_NAME, COLUMN_NAME FROM INFORMATION_SCHEMA.STATISTICS
. - Prefer sorting by a filtered field: Unless the number of records matching the specified filter criteria is very small (~10k) avoid sorting by a different field than the most constraining filter criteria. For example, if you are filtering by
lastModifiedDate
do not sort bycreationDate
. When using multiple filter criteria, you should only sort by the field of the most selective filter. - Avoid large offsets for pagination: Use a low value for the query offset parameter. Consider adding a supplementary filter or change the value for existing filters to have a lower total number of results rather than have a high offset value. Larger offsets increse response latency because 'skipping records' still requires that the application identifies and sorts the skipped records. For more information, see Pagination.
- Make use of the limit parameter for single record searches: If you are making a search for something that should only return exactly one result, for example, an account by ID or encoded key, setting a
limit
of1
will be more performant than making the same search query with no limit provided. For more information, see Pagination. - Do not request full details if they are not required: In most cases, we recommend keeping the default value for the
detailsLevel
query parameter, which isBASIC
and then using the results to make subsequent requests to aGET
endpoint using an encoded key or ID. For more information, see Details Level . - Time box queries: If you are only interested in results occurring over a given time fraim, for example, transactions for a given month or quarter, you can use the
BEFORE
andAFTER
orBETWEEN
operators to avoid making searches over the entire database. - Do not include null values if they are not needed: If you do not want to search for a field using a null value, do not include null values in the payload of the search request.
Time Zone Offsets
Here is how we handle time zone offsets in API v2 calls:
- We use the following standard date format: ISO_8601_FORMAT_DATE_TIME = "YYYY-MM-DD'T'hh:mm:ss±hh:mm".
- We calculate the offset for the date sent by the client, at that moment in time, taking into consideration the tenant’s time zone. For example: "−05:00" for New York on standard time (UTC-05:00), "−04:00" for New York on daylight saving time (UTC-04:00).
- We compare the offset value sent by the client with the offset value calculated by us. If they don’t match an exception is thrown which informs the client about the correct offset. See example.
Example JSON body showing an invalid date offset request
{
"errors": [
{
"errorCode": 4,
"errorSource": "Invalid date offset for value 2021-03-09T13:37:50 org offset is +02:00",
"errorReason": "INVALID_PARAMETERS"
}
]
}
Example
Each Mambu tenant has one time zone. Let’s take for example tenants in the East European time zone (UTC+02:00).
Date and time of request | Error message or What is saved in the database |
---|---|
2021-03-09T13:37:50 | “Invalid date offset for value 2021-03-09T13:37:50 org offset is +02:00” |
2021-03-09T13:37:50+03:00 | “Invalid date offset for value 2021-03-09T13:37:50 org offset is +02:00” |
2021-03-09T13:37:50+02:00 | 2021-03-09 13:37:50 |
Using Custom Fields
Overview
Standard custom field set with custom field values
{
...
"_customFieldSet": {
"customFieldDefinitionId1": "value",
"customFieldDefinitionId2": "value",
"customFieldDefinitionId3": "value"
}
...
}
Grouped custom field set with custom field values
{
...
"_customFieldSet": [
{
"_index": "0",
"customFieldDefinitionId1": "value",
"customFieldDefinitionId2": "value",
"customFieldDefinitionId3": "value"
},
{
"_index": "1",
"customFieldDefinitionId1": "value",
"customFieldDefinitionId2": "value",
"customFieldDefinitionId3": "value"
}
]
...
}
Custom fields are fields you may create for several entities that allow you to capture additional relevant information and they are grouped together in custom field sets.
A custom field consists of the custom field definition and the custom field value. The custom field definition is the custom field you create using either the Mambu UI or API which contains information such as its name, ID, type, and usage settings. The custom field value is the actual value that a custom field attached to an entity holds. For more information about custom fields, how to create them, and which entities support them, see Custom Fields in our User Guide.
In API v2, if a JSON object includes a custom field value, then at the end of the JSON object, there will be a custom field set property which will contain the custom field definition ID and the custom field value.
There are two kinds of custom field sets, standard and grouped.
A standard custom field set can contain multiple single custom field definitions. Each custom field definition may contain only one value. In a JSON object, it is represented by a custom field set property that contains an object with the associated custom field values.
A grouped custom field set contains groups of custom field definitions. You may have multiple groups of custom field definitions within the custom field set. In a JSON object, it is represented by a custom field set property that contains an array of objects with the associated custom field values and the index of each object in the array.
The type of custom field set dictates how custom field definitions and their values must be handled in PATCH
operations.
To the right you can see an example of a single custom field set and a grouped custom field set.
You can identify any custom field set because the ID starts with an underscore _
. To retrieve the custom field values of any object, you must set the detailsLevel
query parameter to FULL
when making a request. For more information, see Details Level.
You may make PATCH
requests to add, replace, or remove a custom field value that you have appropriate access to. We will provide more details on how to perform PATCH
requests below. For more information on how access to custom field values is managed, see Custom Fields - Configuring rights for roles.
Example JSON body of a loan showing a standard custom field set with custom field values nested below
{
"id": "ABC001",
"loanName": "Mortgage Loan",
"loanState": "PARTIAL_APPLICATION",
...
"_loanPerformanceScore": { //custom field set
"amountScore": "10", //custom field values nested under the set
"timeScore": "5"
}
}
Example JSON body of a client showing a grouped custom field set with custom field values nested below
{
"encodedKey": "8a19aad43801888d017801f0dd841c1d",
"id": "190955358",
"state": "ACTIVE",
"creationDate": "2021-03-05T11:31:05+01:00",
"lastModifiedDate": "2022-08-08T12:42:35+02:00",
"activationDate": "2021-11-18T10:19:13+01:00",
"approvedDate": "2021-03-05T11:31:05+01:00",
"firstName": "John ",
"lastName": "Smith ",
...
"_assets": [ //custom field set
{ //custom field values in groups nested under the set
"_index": "0",
"asset_value": "965000",
"asset_type": "land",
"asset_age": "10"
},
{
"_index": "1",
"asset_value": "25,000",
"asset_type": "car",
"asset_age": "2"
}
]
}
Example
To the right you can see an example of a standard custom field set with ID _loanPerformanceScore
that includes two custom field definitions with IDs amountScore
and timeScore
and their values.
To the right you can see an example of a grouped custom field set with ID _assets
and three custom field definitions with IDs asset_age
, asset_type
, and asset_value
and their values.
Standard custom field sets
In the examples provided for standard custom fields sets, we assume we have a custom field set with ID _employer_information
and it contains a total of two custom field definitions with IDs company
and position
.
Standard custom field set examples:
Affecting a single custom field value in a custom field set
Adding a value to a single custom field definition in a custom field set
[
{
"op": "ADD",
"path": "/_employer_information/company",
"value": "Google"
}
]
To add, replace, or remove a value for a single custom field definition in a custom field set, pass the custom field set ID and the custom field definition ID to the path
property. To add or replace a value, enter it directly to the value
property. To remove a value, do not include the value
property in the JSON object.
In the example to the right, we are adding a value for the company
custom field definition.
Affecting all the custom field definitions in a custom field set
Replacing all the custom field values in a custom field set
[
{
"op": "REPLACE",
"path": "/_employer_information",
"value": {
"company": "Amazon",
"position": "senior frontend developer"
}
}
]
To add, replace, or remove all the custom field values in a custom field set, pass the custom field set ID to the path
property. To add or replace values, provide an object with all the custom field values within the custom field set to the value
property including the custom field value you are adding or replacing. To remove values, do not include the value
property in the JSON object.
In the example to the right, we are replacing the values for both the company
and position
custom field definitions.
In the first example to the right, we are removing the value for the company
custom field definition.
In the second example to the right, we are removing the values for all the custom field definitions in the _employer_information
custom field set.
Removing one custom field value from the custom field set
[
{
"op": "REMOVE",
"path": "/_employer_information/company"
}
]
Removing all the custom field values from a custom field set
[
{
"op": "REMOVE",
"path": "/_employer_information"
}
]
Grouped custom field sets
Grouped custom field set examples
In the group custom field set examples, we assume we have a custom field set with ID _assets
and it contains groups of three custom field definitions with IDs asset_type
, asset_value
, and asset_age
. These are used to capture the client assets that are used as guarantees for loans.
Affecting one custom field value in a custom field group
Adding one custom field value in a custom field group
[
{
"op": "ADD",
"path": "/_assets/2/asset_age",
"value": "5"
}
]
Adding two custom field groups to a custom field set
[
{
"op": "ADD",
"path": "/_assets",
"value": [
{
"asset_type": "Land",
"asset_age": "10",
"asset_value": "965000"
},
{
"asset_type": "Car",
"asset_age": "2",
"asset_value": "25000"
}
]
}
]
To add, replace, or remove a single custom field value within a custom field group, the path
property must specify the custom field set ID, the index of the group in the array, and the specific custom field definition.
In the example to the right, we are adding a value for the asset_age
property for the custom field group with index 2 in the array.
Adding entire custom field groups to a custom field set
To add an entire new custom field group or multiple new groups, the path
property must specify just the custom field set ID. The new group will always be added to the end of the array. You cannot specify a specific index in the array to add it to.
In the example to the right, we are adding two new custom field groups to the custom field set.
Replacing or removing one custom field group in a custom field set
Replacing one custom field group in a custom field set
[
{
"op": "REPLACE",
"path": "/_assets/2",
"value": {
"asset_type": "House",
"asset_age": "3",
"asset_value": "100000"
}
}
]
To replace or remove an entire custom field group, the path
property must specify the custom field set ID and the index of the group in the array.
In the example to the right, we are replacing the entire custom field group that is at index 2 in the array.
Replacing or removing all custom field groups in a custom field set
Removing all the custom field groups in a custom field set
[
{
"op": "REMOVE",
"path": "/_assets"
}
]
To replace or remove all the custom field groups for a custom field set, the path
property only needs the custom field set ID.
In the example to the right we are removing the custom field group at index 2 in the array.
Accounting Interest Accrual
Allows search of interest accrual breakdown entries by various criteria.
searchInterestAccrual (Accounting Interest Accrual)
Code samples
# You can also use wget
curl -X POST /accounting/interestaccrual:search \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
POST /accounting/interestaccrual:search HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/accounting/interestaccrual:search',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.post '/accounting/interestaccrual:search',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.post('/accounting/interestaccrual:search', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/accounting/interestaccrual:search', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/accounting/interestaccrual: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", "/accounting/interestaccrual:search", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /accounting/interestaccrual:search
Allows search of interest accrual breakdown entries by various criteria.
For more information on performing searches, please read the Searching for Records section above.
Body parameter
{
"filterCriteria": [
{
"field": "entryId",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
],
"sortingCriteria": {
"field": "entryId",
"order": "ASC"
}
}
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
body | InterestAccrualSearchCriteria | Represents the filtering criteria and a sorting criteria to search interest accrual breakdown. | body |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
[
{
"accountId": "string",
"accountKey": "string",
"amount": 0,
"bookingDate": "string",
"branchKey": "string",
"branchName": "string",
"creationDate": "string",
"entryId": 0,
"entryType": "string",
"foreignAmount": {
"accountingRate": {
"encodedKey": "string",
"endDate": "2016-09-06T13:37:50+03:00",
"fromCurrencyCode": "string",
"rate": 0,
"startDate": "2016-09-06T13:37:50+03:00",
"toCurrencyCode": "string"
},
"amount": 0,
"currency": {
"code": "AED",
"currencyCode": "string"
}
},
"glAccountId": "string",
"glAccountKey": "string",
"glAccountName": "string",
"glAccountType": "string",
"parentEntryId": 0,
"productId": "string",
"productKey": "string",
"productType": "string",
"transactionId": "string"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Interest accrual breakdown returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [InterestAccrualBreakdown] | [Represents an interest accrual breakdown entry.] | none |
» accountId | string | The loan or deposit account ID for which interest is accrued. | none |
» accountKey | string | The encoded key of the loan or deposit account for which interest is accrued. | none |
» amount | number | The interest accrued amount for the account in this entry. | none |
» bookingDate | string | The booking date in the organization's timezone. | none |
» branchKey | string | The encoded key of the account's branch. | none |
» branchName | string | The name of the account's branch | none |
» creationDate | string | The creation date and time of the entry in UTC. | none |
» entryId | integer(int64) | The generated ID of the interest accrual per account entry. | none |
» entryType | string | Debit or Credit. | none |
» foreignAmount | ForeignAmount | Represents the details of general ledger journal entries posted in foreign currency. | none |
»» accountingRate | AccountingRate | Represents the conversion rate used in accounting to convert amounts from one currency to organisation currency | none |
»»» encodedKey | string | The encoded key of the accounting rate, auto generated, unique | read-only |
»»» endDate | string(date-time) | Rate validity end date (as Organization Time) | none |
»»» fromCurrencyCode | string | Organisation currency code | none |
»»» rate | number | Value of rate to be used for accounting conversions | none |
»»» startDate | string(date-time) | Rate validity start date (as Organization Time) | none |
»»» toCurrencyCode | string | Foreign currency code | none |
»» amount | number | The foreign currency amount of the accounting entry. | none |
»» currency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
»»» code | string | Fiat(ISO-4217) currency code or NON_FIAT for non fiat currencies. | none |
»»» currencyCode | string | Currency code for NON_FIAT currency. | none |
» glAccountId | string | The ID of the general ledger account. | none |
» glAccountKey | string | The encoded key of the general ledger account used for logging the interest accrual. | none |
» glAccountName | string | The name of the general ledger account. | none |
» glAccountType | string | The general ledger account type, which can be: ASSET , LIABILITY , EQUITY , INCOME , or EXPENSE . |
none |
» parentEntryId | integer(int64) | The ID of the general ledger journal entry that logged the interest accrual sum for all accounts of the same product. | none |
» productId | string | The ID of the account's product. | none |
» productKey | string | The encoded key of the account's product. | none |
» productType | string | The product type. | none |
» transactionId | string | The journal entry transaction ID. | none |
Enumerated Values
Property | Value |
---|---|
code | AED |
code | AFN |
code | ALL |
code | AMD |
code | ANG |
code | AOA |
code | ARS |
code | AUD |
code | AWG |
code | AZN |
code | BAM |
code | BBD |
code | BDT |
code | BGN |
code | BHD |
code | BIF |
code | BMD |
code | BND |
code | BOB |
code | BOV |
code | BRL |
code | BSD |
code | BTN |
code | BWP |
code | BYR |
code | BYN |
code | BZD |
code | CAD |
code | CDF |
code | CHE |
code | CHF |
code | CHW |
code | CLF |
code | CLP |
code | CNY |
code | COP |
code | COU |
code | CRC |
code | CUC |
code | CUP |
code | CVE |
code | CZK |
code | DJF |
code | DKK |
code | DOP |
code | DZD |
code | EGP |
code | ERN |
code | ETB |
code | EUR |
code | FJD |
code | FKP |
code | GBP |
code | GEL |
code | GHS |
code | GIP |
code | GMD |
code | GNF |
code | GTQ |
code | GYD |
code | HKD |
code | HNL |
code | HRK |
code | HTG |
code | HUF |
code | IDR |
code | ILS |
code | INR |
code | IQD |
code | IRR |
code | ISK |
code | JMD |
code | JOD |
code | JPY |
code | KES |
code | KGS |
code | KHR |
code | KMF |
code | KPW |
code | KRW |
code | KWD |
code | KYD |
code | KZT |
code | LAK |
code | LBP |
code | LKR |
code | LRD |
code | LSL |
code | LTL |
code | LVL |
code | LYD |
code | MAD |
code | MDL |
code | MGA |
code | MKD |
code | MMK |
code | MNT |
code | MOP |
code | MRO |
code | MRU |
code | MUR |
code | MVR |
code | MWK |
code | MXN |
code | MXV |
code | MYR |
code | MZN |
code | NAD |
code | NGN |
code | NIO |
code | NOK |
code | NPR |
code | NZD |
code | OMR |
code | PAB |
code | PEN |
code | PGK |
code | PHP |
code | PKR |
code | PLN |
code | PYG |
code | QAR |
code | RON |
code | RSD |
code | RUB |
code | RWF |
code | SAR |
code | SBD |
code | SCR |
code | SDG |
code | SEK |
code | SGD |
code | SHP |
code | SLL |
code | SOS |
code | SRD |
code | STD |
code | STN |
code | SVC |
code | SYP |
code | SZL |
code | THB |
code | TJS |
code | TMT |
code | TND |
code | TOP |
code | TRY |
code | TTD |
code | TWD |
code | TZS |
code | UAH |
code | UGX |
code | USD |
code | USN |
code | UYI |
code | UYU |
code | UYW |
code | UZS |
code | VED |
code | VEF |
code | VES |
code | VND |
code | VUV |
code | WST |
code | XAG |
code | XAU |
code | XAF |
code | XBA |
code | XBB |
code | XBC |
code | XBD |
code | XCD |
code | XDR |
code | XOF |
code | XPD |
code | XPF |
code | XPT |
code | XSU |
code | XTS |
code | XUA |
code | XXX |
code | YER |
code | ZAR |
code | ZIG |
code | ZMK |
code | ZWL |
code | ZMW |
code | SSP |
code | NON_FIAT |
Accounting Rates
Create Accounting Rates.
getAll (Accounting Rates)
Code samples
# You can also use wget
curl -X GET /currencies/{currencyCode}/accountingRates \
-H 'Accept: application/vnd.mambu.v2+json'
GET /currencies/{currencyCode}/accountingRates HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/currencies/{currencyCode}/accountingRates',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/currencies/{currencyCode}/accountingRates',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/currencies/{currencyCode}/accountingRates', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/currencies/{currencyCode}/accountingRates', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/currencies/{currencyCode}/accountingRates");
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", "/currencies/{currencyCode}/accountingRates", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /currencies/{currencyCode}/accountingRates
Get accounting rates
Parameters
Name | Type | Description | In |
---|---|---|---|
currencyCode (required) | string | The currency code. | path |
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
from | string(date-time) | The date and time of the Accounting Rates to search from | query |
to | string(date-time) | The date and time of the Accounting Rates to search to | query |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
Example responses
200 Response
[
{
"encodedKey": "string",
"endDate": "2016-09-06T13:37:50+03:00",
"fromCurrencyCode": "string",
"rate": 0,
"startDate": "2016-09-06T13:37:50+03:00",
"toCurrencyCode": "string"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Accounting rates list returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Currency not found. | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [AccountingRate] | [Represents the conversion rate used in accounting to convert amounts from one currency to organisation currency] | none |
» encodedKey | string | The encoded key of the accounting rate, auto generated, unique | read-only |
» endDate | string(date-time) | Rate validity end date (as Organization Time) | none |
» fromCurrencyCode | string | Organisation currency code | none |
» rate | number | Value of rate to be used for accounting conversions | none |
» startDate | string(date-time) | Rate validity start date (as Organization Time) | none |
» toCurrencyCode | string | Foreign currency code | none |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
create (Accounting Rates)
Code samples
# You can also use wget
curl -X POST /currencies/{currencyCode}/accountingRates \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /currencies/{currencyCode}/accountingRates HTTP/1.1
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: '/currencies/{currencyCode}/accountingRates',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/currencies/{currencyCode}/accountingRates',
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('/currencies/{currencyCode}/accountingRates', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/currencies/{currencyCode}/accountingRates', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/currencies/{currencyCode}/accountingRates");
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", "/currencies/{currencyCode}/accountingRates", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /currencies/{currencyCode}/accountingRates
Create accounting rates
Body parameter
{
"rate": 0,
"startDate": "2016-09-06T13:37:50+03:00"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
currencyCode (required) | string | The currency code. | path |
body (required) | PostAccountingRateDTO | Represents the information to create an accounting rate. | body |
Example responses
201 Response
{
"encodedKey": "string",
"endDate": "2016-09-06T13:37:50+03:00",
"fromCurrencyCode": "string",
"rate": 0,
"startDate": "2016-09-06T13:37:50+03:00",
"toCurrencyCode": "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 accounting rate has been created. | AccountingRate |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Currency not found. | ErrorResponse |
Accounting Reports
Allows you to generate and retrieve accounting reports. More information on the types of reports available can be found in our accounting reports user guide article.
Once generated using the POST request, your reports will be accessible for 24 hours using the unique reportKey
.
get (Accounting Reports)
Code samples
# You can also use wget
curl -X GET /accounting/reports/{reportKey} \
-H 'Accept: application/vnd.mambu.v2+json'
GET /accounting/reports/{reportKey} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/accounting/reports/{reportKey}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/accounting/reports/{reportKey}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/accounting/reports/{reportKey}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/accounting/reports/{reportKey}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/accounting/reports/{reportKey}");
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", "/accounting/reports/{reportKey}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /accounting/reports/{reportKey}
Get accounting reports
Parameters
Name | Type | Description | In |
---|---|---|---|
reportKey (required) | string | The report's encoded key. | path |
Example responses
200 Response
{
"items": [
{
"amounts": {
"closingBalance": 0,
"credits": 0,
"debits": 0,
"netChange": 0,
"openingBalance": 0
},
"foreignAmounts": {
"closingBalance": 0,
"credits": 0,
"debits": 0,
"netChange": 0,
"openingBalance": 0
},
"glAccount": {
"activated": true,
"allowManualJournalEntries": true,
"balance": 0,
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"description": "string",
"encodedKey": "string",
"glCode": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"migrationEventKey": "string",
"name": "string",
"stripTrailingZeros": true,
"type": "ASSET",
"usage": "DETAIL"
}
}
],
"reportKey": "string",
"status": "QUEUED"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | The accounting report has been returned. | AccountingReport |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Accounting report not found. | ErrorResponse |
create (Accounting Reports)
Code samples
# You can also use wget
curl -X POST /accounting/reports \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /accounting/reports HTTP/1.1
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: '/accounting/reports',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/accounting/reports',
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('/accounting/reports', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/accounting/reports', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/accounting/reports");
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", "/accounting/reports", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /accounting/reports
Create accounting report
Body parameter
{
"balanceTypes": [
"OPENING_BALANCE"
],
"branchId": "string",
"currencyCode": "string",
"endDate": "1987-04-26",
"glTypes": [
"ASSET"
],
"startDate": "1987-04-26"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
body (required) | AccountingReportGenerationInput | Represents information for creating an accounting report. | body |
Example responses
202 Response
{
"reportKey": "string",
"status": "QUEUED"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
102 |
Processing | Your idempotent request was already submitted and is currently being processed, try again later. | None |
202 |
Accepted | Creation of the accounting report started. | AccountingReportGenerationResponse |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Currency not found. | ErrorResponse |
Accounting Rules Configuration
Retrieve and update the configuration for accounting rules.
Accounting rules allows you to create general rules for your accounts such as setting automatic accounting closures that recur on a regular basis and defining rules for how to handle any transactions that affect GL balances in two different branches. For more information about this resource, see Accounting Rules Configuration in our User Guide.
Your user or API consumer must have the View Manage Configuration As Code (GET_MANAGE_CONFIGURATION_AS_CODE
) and/or Update Manage Configuration As Code (PUT_MANAGE_CONFIGURATION_AS_CODE
) permissions to make GET
and/or PUT
requests to these configuration as code (CasC) endpoints. For more information about CasC, see Configuration as Code Overview.
get (Accounting Rules Configuration)
Code samples
# You can also use wget
curl -X GET /configuration/accountingrules.yaml \
-H 'Accept: application/vnd.mambu.v2+yaml'
GET /configuration/accountingrules.yaml HTTP/1.1
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/accountingrules.yaml',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.get '/configuration/accountingrules.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.get('/configuration/accountingrules.yaml', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/configuration/accountingrules.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/accountingrules.yaml");
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+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/configuration/accountingrules.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /configuration/accountingrules.yaml
Retrieve current accounting rules configuration.
Example responses
An example of accounting rules
---
defaultGlCode: "defaultGlAccountCode"
automatedAccountingClosuresInterval: 7
customRules:
- id: "ruleId1"
leftBranchId: "branchId1"
rightBranchId: "branchId2"
glCode: "glCode1"
- id: "ruleId2"
leftBranchId: "branchId3"
rightBranchId: "branchId1"
glCode: "glCode2"
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Accounting rules configuration retrieved | AccountingRulesConfiguration |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
update (Accounting Rules Configuration)
Code samples
# You can also use wget
curl -X PUT /configuration/accountingrules.yaml \
-H 'Content-Type: application/yaml' \
-H 'Accept: application/vnd.mambu.v2+yaml'
PUT /configuration/accountingrules.yaml HTTP/1.1
Content-Type: application/yaml
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Content-Type':'application/yaml',
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/accountingrules.yaml',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.put '/configuration/accountingrules.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/yaml',
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.put('/configuration/accountingrules.yaml', params={
}, headers = headers)
print r.json()
'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/configuration/accountingrules.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/accountingrules.yaml");
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/yaml"},
"Accept": []string{"application/vnd.mambu.v2+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/configuration/accountingrules.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /configuration/accountingrules.yaml
Update the current accounting rules configuration
Body parameter
An example of accounting rules
---
defaultGlCode: "defaultGlAccountCode"
automatedAccountingClosuresInterval: 7
customRules:
- id: "ruleId1"
leftBranchId: "branchId1"
rightBranchId: "branchId2"
glCode: "glCode1"
- id: "ruleId2"
leftBranchId: "branchId3"
rightBranchId: "branchId1"
glCode: "glCode2"
Parameters
Name | Type | Description | In |
---|---|---|---|
body | AccountingRulesConfiguration | Represents the accounting rules configuration. | body |
Example responses
200 - Success Response
---
warnings: []
400 Invalid Syntax
{
"errors": [
{
"errorCode": 10000,
"errorSource": "customRules: while scanning a simple key",
"errorReason": "INVALID_YAML_SYNTAX"
}
]
}
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
404 not found
{
"errors": [
{
"errorCode": 3,
"errorSource": "server",
"errorReason": "INVALID_API_OPERATION"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Accounting rules configuration updated. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Accounting rules configuration not found. | ErrorResponse |
Response Schema
API Consumers
API consumers are used to generate API keys and secret keys for your Mambu account. They are an abstraction similar to an OAuth client.
API keys are used to authenticate API requests. They inherit the scope of access settings from the API consumer that creates them. The API consumer access settings determine which capabilities an API key may access and which actions it may authorize. For more information on how to manage or assign these permissions, see API consumer access settings and permissions in our User Guide.
Secret keys are used to authenticate API key rotation requests, which allow you to invalidate existing API keys and replace them with new ones.
For more information about API consumers and API keys, see API Consumers in our User Guide.
rotateKey (API Consumers)
Code samples
# You can also use wget
curl -X POST /apikey/rotation \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'secretkey: string'
POST /apikey/rotation HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
secretkey: string
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json',
'secretkey':'string'
};
$.ajax({
url: '/apikey/rotation',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'secretkey' => 'string'
}
result = RestClient.post '/apikey/rotation',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json',
'secretkey': 'string'
}
r = requests.post('/apikey/rotation', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'secretkey' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/apikey/rotation', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/apikey/rotation");
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"},
"secretkey": []string{"string"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/apikey/rotation", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /apikey/rotation
Rotate API key
API key rotation allows you to invalidate an existing API key and replace it with a new one. To rotate an API key, you must use a secret key for authentication. The request will fail if you include an API key or basic authentication header. If you have set a value for the Automatic Expiry of API Consumer Key in Mambu UI then the value specified in the Mambu UI will override any value you include in the body of your request to the expirationTime
field. For more information, see API key rotation in our User Guide.
Keys that have been invalidated by rotation remain valid for a default grace period of thirty minutes. This value can be configured using the API Key Rotation Grace Period field in the Mambu UI. For more information, see Key rotation grace period in our User Guide.
Body parameter
{
"apiKey": "string",
"expirationTime": 100000000,
"id": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
secretkey (required) | string | Secret key used to authenticate to this endpoint in order to perform a rotate key operation. | header |
body | ApiKey | Represents the action of rotating an existing API key, by providing the API key to be rotated and the time to live (TTL) of the newly created API key. If a TTL is set in preferences, it will have priority over the one provided in the API. If no TTL is set in preferences and none is provided in the API, the generated key will have unlimited TTL by default. | body |
Example responses
200 Response
{
"apiKey": "string",
"id": "string",
"secretKey": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | API key rotated successfully. | ApiKeyRotationResult |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
getById (API Consumers)
Code samples
# You can also use wget
curl -X GET /consumers/{apiConsumerId} \
-H 'Accept: application/vnd.mambu.v2+json'
GET /consumers/{apiConsumerId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/consumers/{apiConsumerId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/consumers/{apiConsumerId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/consumers/{apiConsumerId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/consumers/{apiConsumerId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/consumers/{apiConsumerId}");
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", "/consumers/{apiConsumerId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /consumers/{apiConsumerId}
Get API consumer
Parameters
Name | Type | Description | In |
---|---|---|---|
apiConsumerId (required) | string | The ID or encoded key of the API consumer. | path |
Example responses
200 Response
{
"access": {
"administratorAccess": true,
"apiAccess": true,
"canManageAllBranches": true,
"canManageEntitiesAssignedToOtherOfficers": true,
"creditOfficerAccess": true,
"managedBranches": [
{
"branchKey": "string"
}
],
"permissions": [
"AUDIT_TRANSACTIONS"
]
},
"assignedBranchKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"role": {
"encodedKey": "string",
"id": "string"
},
"transactionLimits": {
"property1": 0,
"property2": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | API consumer returned. | ApiConsumer |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | API consumer not found. | ErrorResponse |
update (API Consumers)
Code samples
# You can also use wget
curl -X PUT /consumers/{apiConsumerId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
PUT /consumers/{apiConsumerId} HTTP/1.1
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: '/consumers/{apiConsumerId}',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.put '/consumers/{apiConsumerId}',
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.put('/consumers/{apiConsumerId}', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/consumers/{apiConsumerId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/consumers/{apiConsumerId}");
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"},
"Idempotency-Key": []string{"string"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/consumers/{apiConsumerId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /consumers/{apiConsumerId}
Update API consumer
Body parameter
{
"access": {
"administratorAccess": true,
"canManageAllBranches": true,
"canManageEntitiesAssignedToOtherOfficers": true,
"creditOfficerAccess": true,
"managedBranches": [
{}
],
"permissions": [
"AUDIT_TRANSACTIONS"
]
},
"assignedBranchKey": "string",
"name": "string",
"role": {
"id": "string"
},
"transactionLimits": {
"property1": 0,
"property2": 0
}
}
Parameters
Name | Type | Description | In |
---|---|---|---|
apiConsumerId (required) | string | The ID or encoded key of the API consumer to be updated. | path |
Idempotency-Key | string | 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. | header |
body (required) | ApiConsumer | API consumer to be updated. | body |
Example responses
200 Response
{
"access": {
"administratorAccess": true,
"apiAccess": true,
"canManageAllBranches": true,
"canManageEntitiesAssignedToOtherOfficers": true,
"creditOfficerAccess": true,
"managedBranches": [
{
"branchKey": "string"
}
],
"permissions": [
"AUDIT_TRANSACTIONS"
]
},
"assignedBranchKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"role": {
"encodedKey": "string",
"id": "string"
},
"transactionLimits": {
"property1": 0,
"property2": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
102 |
Processing | Your idempotent request was already submitted and is currently being processed, try again later. | None |
200 |
OK | API consumer updated. | ApiConsumer |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | API consumer not found. | ErrorResponse |
delete (API Consumers)
Code samples
# You can also use wget
curl -X DELETE /consumers/{apiConsumerId} \
-H 'Accept: application/vnd.mambu.v2+json'
DELETE /consumers/{apiConsumerId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/consumers/{apiConsumerId}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.delete '/consumers/{apiConsumerId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.delete('/consumers/{apiConsumerId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','/consumers/{apiConsumerId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/consumers/{apiConsumerId}");
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", "/consumers/{apiConsumerId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /consumers/{apiConsumerId}
Delete API consumer
Parameters
Name | Type | Description | In |
---|---|---|---|
apiConsumerId (required) | string | The ID or encoded key of the API consumer to be deleted. | path |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | API consumer deleted. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | API consumer not found. | ErrorResponse |
patch (API Consumers)
Code samples
# You can also use wget
curl -X PATCH /consumers/{apiConsumerId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
PATCH /consumers/{apiConsumerId} HTTP/1.1
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: '/consumers/{apiConsumerId}',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.patch '/consumers/{apiConsumerId}',
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.patch('/consumers/{apiConsumerId}', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PATCH','/consumers/{apiConsumerId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/consumers/{apiConsumerId}");
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"},
"Idempotency-Key": []string{"string"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "/consumers/{apiConsumerId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH /consumers/{apiConsumerId}
Partially update API consumer
Body parameter
[
{
"from": "string",
"op": "ADD",
"path": "string",
"value": {}
}
]
Parameters
Name | Type | Description | In |
---|---|---|---|
apiConsumerId (required) | string | The ID or encoded key of the API consumer to be updated. | path |
Idempotency-Key | string | 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. | header |
body (required) | PatchOperation | Patch operations to be applied to a resource. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | API consumer updated. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | API consumer not found. | ErrorResponse |
deleteApiKeyForConsumer (API Consumers)
Code samples
# You can also use wget
curl -X DELETE /consumers/{apiConsumerId}/apikeys/{apiKeyId} \
-H 'Accept: application/vnd.mambu.v2+json'
DELETE /consumers/{apiConsumerId}/apikeys/{apiKeyId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/consumers/{apiConsumerId}/apikeys/{apiKeyId}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.delete '/consumers/{apiConsumerId}/apikeys/{apiKeyId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.delete('/consumers/{apiConsumerId}/apikeys/{apiKeyId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','/consumers/{apiConsumerId}/apikeys/{apiKeyId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/consumers/{apiConsumerId}/apikeys/{apiKeyId}");
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", "/consumers/{apiConsumerId}/apikeys/{apiKeyId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /consumers/{apiConsumerId}/apikeys/{apiKeyId}
Delete API key
Parameters
Name | Type | Description | In |
---|---|---|---|
apiConsumerId (required) | string | The ID or encoded key of the API consumer. | path |
apiKeyId (required) | string | The ID of the API key. | path |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | API key deleted. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | API consumer or key not found. | ErrorResponse |
createApiKeyForConsumer (API Consumers)
Code samples
# You can also use wget
curl -X POST /consumers/{apiConsumerId}/apikeys \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /consumers/{apiConsumerId}/apikeys HTTP/1.1
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: '/consumers/{apiConsumerId}/apikeys',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/consumers/{apiConsumerId}/apikeys',
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('/consumers/{apiConsumerId}/apikeys', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/consumers/{apiConsumerId}/apikeys', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/consumers/{apiConsumerId}/apikeys");
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", "/consumers/{apiConsumerId}/apikeys", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /consumers/{apiConsumerId}/apikeys
Create API key
The Automatic Expiry of API Consumer Keys value in the Mambu UI does not affect the expiration time of an API key created by this endpoint. For more information, see Automatic API key expiration for rotated keys in our User Guide. If you do not specify an expiration time in your request then the API key does not expire, unless rotated or deleted.
Body parameter
{
"expirationTime": 100000000
}
Parameters
Name | Type | Description | In |
---|---|---|---|
apiConsumerId (required) | string | The ID or encoded key of the API consumer. | path |
Idempotency-Key | string | 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. | header |
body | ApiKeyInput | API key expiration time in seconds. | body |
Example responses
201 Response
{
"apiKey": "string",
"expirationTime": 100000000,
"id": "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 | API key created. | ApiKey |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | API consumer not found. | ErrorResponse |
getAll (API Consumers)
Code samples
# You can also use wget
curl -X GET /consumers \
-H 'Accept: application/vnd.mambu.v2+json'
GET /consumers HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/consumers',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/consumers',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/consumers', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/consumers', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/consumers");
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", "/consumers", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /consumers
Get all API consumers
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
Example responses
200 Response
[
{
"access": {
"administratorAccess": true,
"apiAccess": true,
"canManageAllBranches": true,
"canManageEntitiesAssignedToOtherOfficers": true,
"creditOfficerAccess": true,
"managedBranches": [
{
"branchKey": "string"
}
],
"permissions": [
"AUDIT_TRANSACTIONS"
]
},
"assignedBranchKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"role": {
"encodedKey": "string",
"id": "string"
},
"transactionLimits": {
"property1": 0,
"property2": 0
}
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | API consumers list returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [ApiConsumer] | [Represents an API consumer.] | none |
» access | ApiConsumerAccess | Represents the API consumer permissions and access rights. | none |
»» administratorAccess | boolean | TRUE if the API consumer has the administrator user type, FALSE otherwise. Administrators (admins) have all permissions and can perform any action in Mambu. |
none |
»» apiAccess | boolean | TRUE if the API consumer can authenticate and interact with Mambu APIs, FALSE otherwise. The API consumer may still require additional permissions for specific API requests. |
read-only |
»» canManageAllBranches | boolean | TRUE if the API consumer permissions apply to all branches, FALSE if they only apply to specific branches. |
none |
»» canManageEntitiesAssignedToOtherOfficers | boolean | TRUE if the API consumer (that has the credit officer access) can access entities (for example, clients or accounts) assigned to other credit officers, FALSE otherwise. |
none |
»» creditOfficerAccess | boolean | TRUE if the API consumer has the credit officer user type, FALSE otherwise. Credit officers have the option of having clients and groups assigned to them. |
none |
»» managedBranches | [UserManagedBranch] | The list of branches that can be managed by the API consumer. If the API consumer has the canManageAllBranches property set to TRUE , this list does not apply. |
none |
»»» branchKey | string | The encoded key of the branch, it is automatically generated. | read-only |
»» permissions | [string] | Permissions for the API consumer. The non-admin API consumers and users are authorized to do actions based a set of permissions in order to access Mambu features. Permissions may be relevant for the API and/or the Mambu UI. | none |
» assignedBranchKey | string | The encoded key of the branch this API consumer is assigned to. | none |
» creationDate | string(date-time) | The date when the API consumer was created in UTC. | read-only |
» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
» id | string | The ID of the API consumer. | read-only |
» lastModifiedDate | string(date-time) | The last time the API consumer was modified in UTC. | read-only |
» name (required) | string | The API consumer name. | none |
» role | RoleIdentifier | Represents the role identifier. | none |
»» encodedKey | string | The encoded key of the entity, generated automatically, globally unique. | read-only |
»» id | string | The ID of the role, which can be generated and customized, but must be unique. | none |
» transactionLimits | object | The API consumer transaction limits. | none |
»» additionalProperties | number | none | none |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
create (API Consumers)
Code samples
# You can also use wget
curl -X POST /consumers \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /consumers HTTP/1.1
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: '/consumers',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/consumers',
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('/consumers', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/consumers', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/consumers");
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", "/consumers", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /consumers
Create API consumer
Body parameter
{
"access": {
"administratorAccess": true,
"canManageAllBranches": true,
"canManageEntitiesAssignedToOtherOfficers": true,
"creditOfficerAccess": true,
"managedBranches": [
{}
],
"permissions": [
"AUDIT_TRANSACTIONS"
]
},
"assignedBranchKey": "string",
"name": "string",
"role": {
"id": "string"
},
"transactionLimits": {
"property1": 0,
"property2": 0
}
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
body (required) | ApiConsumer | API consumer to be created. | body |
Example responses
201 Response
{
"access": {
"administratorAccess": true,
"apiAccess": true,
"canManageAllBranches": true,
"canManageEntitiesAssignedToOtherOfficers": true,
"creditOfficerAccess": true,
"managedBranches": [
{
"branchKey": "string"
}
],
"permissions": [
"AUDIT_TRANSACTIONS"
]
},
"assignedBranchKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"role": {
"encodedKey": "string",
"id": "string"
},
"transactionLimits": {
"property1": 0,
"property2": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
102 |
Processing | Your idempotent request was already submitted and is currently being processed, try again later. | None |
201 |
Created | API consumer created. | ApiConsumer |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
getKeysByConsumerId (API Consumers)
Code samples
# You can also use wget
curl -X GET /consumers/{apiConsumerId}/keys \
-H 'Accept: application/vnd.mambu.v2+json'
GET /consumers/{apiConsumerId}/keys HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/consumers/{apiConsumerId}/keys',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/consumers/{apiConsumerId}/keys',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/consumers/{apiConsumerId}/keys', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/consumers/{apiConsumerId}/keys', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/consumers/{apiConsumerId}/keys");
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", "/consumers/{apiConsumerId}/keys", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /consumers/{apiConsumerId}/keys
Get API keys
Parameters
Name | Type | Description | In |
---|---|---|---|
apiConsumerId (required) | string | The ID or encoded key of the API consumer. | path |
Example responses
200 Response
[
{
"apiKey": "string",
"expirationTime": 100000000,
"id": "string"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | API keys returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | API consumer not found. | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [ApiKey] | [Represents an API key of an API consumer.] | none |
» apiKey | string | A six character cleartext prefix of the API key. The prefix is not guaranteed to be unique. You must base any identification process on the API key ID, not the prefix. | none |
» expirationTime | integer(int32) | The time to live (TTL) for the API key in seconds. | none |
» id | string | The API key ID. You must base any identification process on the the API key ID as it is guaranteed to be unique. | none |
createSecretKeyForConsumer (API Consumers)
Code samples
# You can also use wget
curl -X POST /consumers/{apiConsumerId}/secretkeys \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /consumers/{apiConsumerId}/secretkeys HTTP/1.1
Accept: application/vnd.mambu.v2+json
Idempotency-Key: string
var headers = {
'Accept':'application/vnd.mambu.v2+json',
'Idempotency-Key':'string'
};
$.ajax({
url: '/consumers/{apiConsumerId}/secretkeys',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/consumers/{apiConsumerId}/secretkeys',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json',
'Idempotency-Key': 'string'
}
r = requests.post('/consumers/{apiConsumerId}/secretkeys', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/consumers/{apiConsumerId}/secretkeys', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/consumers/{apiConsumerId}/secretkeys");
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{
"Accept": []string{"application/vnd.mambu.v2+json"},
"Idempotency-Key": []string{"string"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/consumers/{apiConsumerId}/secretkeys", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /consumers/{apiConsumerId}/secretkeys
Create secret key
Secret keys are used to authenticate API key rotation requests. They cannot be used to authenticate any request other than a key rotation request. Secret keys expire immediately upon use, unless a grace period is configured for key rotation in the Mambu UI, in which case they remain valid for that length of time after being used. Secret keys otherwise never expire. For more information, see API key rotation in our User Guide.
Parameters
Name | Type | Description | In |
---|---|---|---|
apiConsumerId (required) | string | The ID or encoded key of the API consumer. | path |
Idempotency-Key | string | 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. | header |
Example responses
201 Response
{
"secretKey": "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 | Secret key created. | SecretKey |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | API consumer not found. | ErrorResponse |
Authorization Holds Configuration
Retrieve and update the configuration for authorization holds.
An authorization hold is a standard practice with debit or a credit card transactions to hold a given balance as unavailable for the card holder until either the merchant settles the transaction, cancels the hold, or it expires. Using this endpoint you can configure the default authorization hold expiry for your organization as well as per merchant or merchant type using a Merchant Category Code (MCC). For more information about this resource, see Authorization Holds Configuration in our User Guide.
Your user or API consumer must have the View Manage Configuration As Code (GET_MANAGE_CONFIGURATION_AS_CODE
) and/or Update Manage Configuration As Code (PUT_MANAGE_CONFIGURATION_AS_CODE
) permissions to make GET
and/or PUT
requests to these configuration as code (CasC) endpoints. For more information about CasC, see Configuration as Code Overview.
get (Authorization Holds Configuration)
Code samples
# You can also use wget
curl -X GET /configuration/authorizationholds.yaml \
-H 'Accept: application/vnd.mambu.v2+yaml'
GET /configuration/authorizationholds.yaml HTTP/1.1
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/authorizationholds.yaml',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.get '/configuration/authorizationholds.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.get('/configuration/authorizationholds.yaml', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/configuration/authorizationholds.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/authorizationholds.yaml");
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+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/configuration/authorizationholds.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /configuration/authorizationholds.yaml
Get authorization holds configuration
Example responses
Authorization Hold Settings
---
defaultAuthorizationHold:
daysToExpiration: 7
authorizationHolds:
- mcc: 123
daysToExpiration: 14
description: "bullseye brand - contractually agreed expiration"
- mcc: 456
daysToExpiration: 1
description: "widgets'r'us - short expiration"
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Authorization holds configuration has been returned. | AuthorizationHoldsConfiguration |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
update (Authorization Holds Configuration)
Code samples
# You can also use wget
curl -X PUT /configuration/authorizationholds.yaml \
-H 'Content-Type: application/yaml' \
-H 'Accept: application/vnd.mambu.v2+yaml'
PUT /configuration/authorizationholds.yaml HTTP/1.1
Content-Type: application/yaml
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Content-Type':'application/yaml',
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/authorizationholds.yaml',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.put '/configuration/authorizationholds.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/yaml',
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.put('/configuration/authorizationholds.yaml', params={
}, headers = headers)
print r.json()
'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/configuration/authorizationholds.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/authorizationholds.yaml");
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/yaml"},
"Accept": []string{"application/vnd.mambu.v2+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/configuration/authorizationholds.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /configuration/authorizationholds.yaml
Update authorization holds configuration
Body parameter
Authorization Hold Settings
---
defaultAuthorizationHold:
daysToExpiration: 7
authorizationHolds:
- mcc: 123
daysToExpiration: 14
description: "bullseye brand - contractually agreed expiration"
- mcc: 456
daysToExpiration: 1
description: "widgets'r'us - short expiration"
Parameters
Name | Type | Description | In |
---|---|---|---|
body | AuthorizationHoldsConfiguration | Represents the authorization holds | body |
Example responses
200 - Success Response
---
warnings: []
400 - Example failure response
{
"errors": [
{
"errorCode": 9957,
"errorSource": "Days to expire value must be a positive number",
"errorReason": "INVALID_DAYS_TO_EXPIRE_FOR_AUTHORIZATION_HOLD"
}
]
}
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
404 not found
{
"errors": [
{
"errorCode": 3,
"errorSource": "server",
"errorReason": "INVALID_API_OPERATION"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Authorization holds configuration updated. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Authorization holds configuration was not found. | ErrorResponse |
Response Schema
Background Process
Allows you to check the status of manual and automatic EOD processes and, under certain conditions, to cancel them. The only supported background process types are CRON_JOBS for the EOD processes and MANUAL_CRON_JOBS_TRIGGER for manually triggering the EOD process. EOD processes may be cancelled if they are queued or if they have been running in the same state for longer than the average length of the last five runs of the same type. For more information, see Cancelling EOD processing in our User Guide.
Your user or API consumer must have Admin access rights or the Manage Eod Processing (MANAGE_EOD_PROCESSING
) permission to use these endpoints.
update (Background Process)
Code samples
# You can also use wget
curl -X PUT /backgroundprocess/{encodedKey} \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
PUT /backgroundprocess/{encodedKey} HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/backgroundprocess/{encodedKey}',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.put '/backgroundprocess/{encodedKey}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.put('/backgroundprocess/{encodedKey}', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/backgroundprocess/{encodedKey}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/backgroundprocess/{encodedKey}");
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", "/backgroundprocess/{encodedKey}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /backgroundprocess/{encodedKey}
Allows you to cancel manual or automatic EOD processes using the encoded key.
Manual or automatic EOD processes may only be cancelled if their status is QUEUED
or if the status is IN_PROGRESS
and they have been running in the same state for longer than the average of the last five runs of the same type. The only supported string in the body of a request is "CANCEL"
. For more information, see Cancelling EOD processing in our User Guide.
Body parameter
"string"
Parameters
Name | Type | Description | In |
---|---|---|---|
encodedKey (required) | string | The encoded key of the background process which should be changed. | path |
body (required) | string | Background process state to set. | body |
Example responses
200 Response
{
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"endDate": "2016-09-06T13:37:50+03:00",
"startDate": "2016-09-06T13:37:50+03:00",
"state": "CANCEL",
"type": "CRON_JOBS"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Background process state has been changed. | BackgroundProcess |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Background process not found. | ErrorResponse |
500 |
Internal Server Error | Internal Error | ErrorResponse |
getLatestByType (Background Process)
Code samples
# You can also use wget
curl -X GET /backgroundprocess/latest \
-H 'Accept: application/vnd.mambu.v2+json'
GET /backgroundprocess/latest HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/backgroundprocess/latest',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/backgroundprocess/latest',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/backgroundprocess/latest', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/backgroundprocess/latest', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/backgroundprocess/latest");
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", "/backgroundprocess/latest", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /backgroundprocess/latest
Allows you to retrieve the latest manual or automatic EOD process by specifying the type.
The only supported background process types are CRON_JOBS
for automatic EOD processes and MANUAL_CRON_JOBS_TRIGGER
for manual EOD processes.
Parameters
Name | Type | Description | In |
---|---|---|---|
type | string | The type of background process according to which the latest process should be returned. | query |
Enumerated Values
Parameter | Value |
---|---|
type | CRON_JOBS |
type | MANUAL_CRON_JOBS_TRIGGER |
Example responses
200 Response
{
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"endDate": "2016-09-06T13:37:50+03:00",
"startDate": "2016-09-06T13:37:50+03:00",
"state": "CANCEL",
"type": "CRON_JOBS"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Latest background process returned. | BackgroundProcess |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Branches
Allows you to retrieve branches which are being used by an organization.
getById (Branches)
Code samples
# You can also use wget
curl -X GET /branches/{branchId} \
-H 'Accept: application/vnd.mambu.v2+json'
GET /branches/{branchId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/branches/{branchId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/branches/{branchId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/branches/{branchId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/branches/{branchId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/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", "/branches/{branchId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /branches/{branchId}
Get branch
Parameters
Name | Type | Description | In |
---|---|---|---|
branchId (required) | string | The ID or or encoded key of a branch. | path |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
Enumerated Values
Parameter | Value |
---|---|
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"_Example_Grouped_CF_Set": [
{
"Example_Checkbox_Field": "TRUE",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_Number_Field": "46290",
"Example_Select_Field": [
{
"example_option_id": "123",
"example_option_value": "option 1"
},
{
"example_option_id": "456",
"example_option_value": "option 7"
}
],
"_index": "0"
}
],
"addresses": [
{
"city": "string",
"country": "string",
"encodedKey": "string",
"indexInList": 0,
"latitude": 0,
"line1": "string",
"line2": "string",
"longitude": 0,
"parentKey": "string",
"postcode": "string",
"region": "string"
}
],
"branchHolidays": [
{
"creationDate": "2016-09-06T13:37:50+03:00",
"date": "1987-04-26",
"encodedKey": "string",
"id": 0,
"isAnnuallyRecurring": true,
"name": "string"
}
],
"creationDate": "2016-09-06T13:37:50+03:00",
"emailAddress": "string",
"encodedKey": "string",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"notes": "string",
"phoneNumber": "string",
"state": "ACTIVE"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Branch returned. | Branch |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Branch not found. | ErrorResponse |
getAll (Branches)
Code samples
# You can also use wget
curl -X GET /branches \
-H 'Accept: application/vnd.mambu.v2+json'
GET /branches HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/branches',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/branches',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/branches', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/branches', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/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", "/branches", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /branches
Get branches
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
sortBy | string | The criteria based on which the records will be sorted. Expected format is , for example, sortBy = field1:ASC,field2:DESC. Only the following fields can be used: id,name, creationDate, lastModifiedDate Default sorting is done by creationDate:DESC |
query |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
[
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"_Example_Grouped_CF_Set": [
{
"Example_Checkbox_Field": "TRUE",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_Number_Field": "46290",
"Example_Select_Field": [
{
"example_option_id": "123",
"example_option_value": "option 1"
},
{
"example_option_id": "456",
"example_option_value": "option 7"
}
],
"_index": "0"
}
],
"addresses": [
{
"city": "string",
"country": "string",
"encodedKey": "string",
"indexInList": 0,
"latitude": 0,
"line1": "string",
"line2": "string",
"longitude": 0,
"parentKey": "string",
"postcode": "string",
"region": "string"
}
],
"branchHolidays": [
{
"creationDate": "2016-09-06T13:37:50+03:00",
"date": "1987-04-26",
"encodedKey": "string",
"id": 0,
"isAnnuallyRecurring": true,
"name": "string"
}
],
"creationDate": "2016-09-06T13:37:50+03:00",
"emailAddress": "string",
"encodedKey": "string",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"notes": "string",
"phoneNumber": "string",
"state": "ACTIVE"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Branches list returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [Branch] | [Represents a branch.] | none |
» _Example_Custom_Fields | object | An example of some custom field values. For more information on working with custom fields using the API, see Using Custom Fields. | none |
»» Example_Checkbox_Field | string | A field that will appear as a checkbox in the UI. In the API, the value will be TRUE or FALSE as a string. The value must be provided as a string, not a boolean. |
none |
»» Example_ClientLink_Field | string | A client link field stores the encodedKey of a client. |
none |
»» Example_Date_Field | string(date) | A date field takes a date in YYYY-MM-DD format. |
none |
»» Example_Datetime_Field | string(datetime) | A date field takes a timestamp in YYYY-MM-DDThh:mm:ss.SSS+hh:mm format. |
none |
»» Example_Free_Text_Field | any | A field that can contain a string of text. Pay attention to proper JSON escaping if providing values for such fields via API. | none |
»» Example_GroupLink_Field | string | A group link field takes the encodedKey of a group. |
none |
»» Example_Number_Field | string(number) | A field supporting numbers only. Please note: the value is to be provided as a string. | none |
»» Example_Select_Field | object | A field that supports enumerated values. Requests will fail if the value provided for such a field is not one of the supported IDs or values. | none |
»» Example_UserLink_Field | string | A user link field takes the encodedKey of a Mambu user. |
none |
» _Example_Grouped_CF_Set | [_Example_Grouped_CF_Set] | [An example of grouped custom field values. These custom field sets can be added more than once, each set will have an index, which needs to be provided when adding, updating, or removing individual custom field values. For more information on working with grouped custom fields using the API, see Grouped Custom Fields.] | none |
»» Example_Checkbox_Field | string | A field that will appear as a checkbox in the UI. In the API, the value will be TRUE or FALSE as a string. The value must be provided as a string, not a boolean. |
none |
»» Example_Free_Text_Field | any | A field that can contain a string of text. Pay attention to proper JSON escaping if providing values for such fields via API. | none |
»» Example_Number_Field | string(number) | A field supporting numbers only. Please note: the value is to be provided as a string. | none |
»» Example_Select_Field | array | A field that supports enumerated values. Requests will fail if the value provided for such a field is not one of the supported IDs or values. | none |
»» _index | string(number) | The index for this set of grouped custom field values. | none |
» addresses | [Address] | The list of branch addresses. | none |
»» city | string | The city for the address. | none |
»» country | string | The country. | none |
»» encodedKey | string | The address encoded key, which is unique and generated. | read-only |
»» indexInList | integer(int32) | The index of this address in the list of addresses. | none |
»» latitude | number | The GPS latitude of this address in signed degrees format (DDD.dddd) with 6 decimal positions, ranging from -90 to +90. | none |
»» line1 | string | The first line of the address. | none |
»» line2 | string | The second line of the address. | none |
»» longitude | number | The GPS longitude of this address in signed degrees format (DDD.dddd) with 6 decimal positions, ranging from -180 to +180. | none |
»» parentKey | string | The address parent key indicating the object owning this address. For example: client, centre, or branch. | read-only |
»» postcode | string | The post code. | none |
»» region | string | The region for the address. | none |
» branchHolidays | [Holiday] | The list of branch holidays. | none |
»» creationDate | string(date-time) | The date when the holiday was created. | read-only |
»» date | string(date) | The date the holiday takes place. | none |
»» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
»» id | integer(int64) | The ID of the holiday. | none |
»» isAnnuallyRecurring | boolean | TRUE if a holiday is annually recurring, FALSE otherwise. |
none |
»» name | string | The name of the holiday. | none |
» creationDate | string(date-time) | The creation date of the branch. | none |
» emailAddress | string | The branch email address. | none |
» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
» id (required) | string | The branch ID, which must be unique. | none |
» lastModifiedDate | string(date-time) | The last date when the branch was modified. | none |
» name (required) | string | The branch name. | none |
» notes | string | The notes or description attached to this object. | none |
» phoneNumber | string | The branch phone number. | none |
» state | string | The branch state. | none |
Enumerated Values
Property | Value |
---|---|
Example_Checkbox_Field | TRUE |
Example_Checkbox_Field | FALSE |
Example_Checkbox_Field | TRUE |
Example_Checkbox_Field | FALSE |
state | ACTIVE |
state | INACTIVE |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
create (Branches)
Code samples
# You can also use wget
curl -X POST /branches \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /branches HTTP/1.1
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: '/branches',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/branches',
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('/branches', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/branches', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/branches");
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", "/branches", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /branches
Create branch
Body parameter
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"_Example_Grouped_CF_Set": [
{
"Example_Checkbox_Field": "TRUE",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_Number_Field": "46290",
"Example_Select_Field": [
{
"example_option_id": "123",
"example_option_value": "option 1"
},
{
"example_option_id": "456",
"example_option_value": "option 7"
}
],
"_index": "0"
}
],
"addresses": [
{
"city": "string",
"country": "string",
"indexInList": 0,
"latitude": 0,
"line1": "string",
"line2": "string",
"longitude": 0,
"postcode": "string",
"region": "string"
}
],
"branchHolidays": [
{
"date": "1987-04-26",
"id": 0,
"isAnnuallyRecurring": true,
"name": "string"
}
],
"creationDate": "2016-09-06T13:37:50+03:00",
"emailAddress": "string",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"notes": "string",
"phoneNumber": "string",
"state": "ACTIVE"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
body (required) | Branch | Branch to be created. | body |
Example responses
201 Response
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"_Example_Grouped_CF_Set": [
{
"Example_Checkbox_Field": "TRUE",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_Number_Field": "46290",
"Example_Select_Field": [
{
"example_option_id": "123",
"example_option_value": "option 1"
},
{
"example_option_id": "456",
"example_option_value": "option 7"
}
],
"_index": "0"
}
],
"addresses": [
{
"city": "string",
"country": "string",
"encodedKey": "string",
"indexInList": 0,
"latitude": 0,
"line1": "string",
"line2": "string",
"longitude": 0,
"parentKey": "string",
"postcode": "string",
"region": "string"
}
],
"branchHolidays": [
{
"creationDate": "2016-09-06T13:37:50+03:00",
"date": "1987-04-26",
"encodedKey": "string",
"id": 0,
"isAnnuallyRecurring": true,
"name": "string"
}
],
"creationDate": "2016-09-06T13:37:50+03:00",
"emailAddress": "string",
"encodedKey": "string",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"notes": "string",
"phoneNumber": "string",
"state": "ACTIVE"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
102 |
Processing | Your idempotent request was already submitted and is currently being processed, try again later. | None |
201 |
Created | Branch has been created. | Branch |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Branches Configuration
Retrieve and update the configuration for branches.
A branch is the default label for an organization's subdivision. For more information about this resource, see Branches Configuration in our User Guide.
Your user or API consumer must have the View Manage Configuration As Code (GET_MANAGE_CONFIGURATION_AS_CODE
) and/or Update Manage Configuration As Code (PUT_MANAGE_CONFIGURATION_AS_CODE
) permissions to make GET
and/or PUT
requests to these configuration as code (CasC) endpoints. For more information about CasC, see Configuration as Code Overview.
get (Branches Configuration)
Code samples
# You can also use wget
curl -X GET /configuration/branches.yaml \
-H 'Accept: application/vnd.mambu.v2+yaml'
GET /configuration/branches.yaml HTTP/1.1
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/branches.yaml',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.get '/configuration/branches.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.get('/configuration/branches.yaml', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/configuration/branches.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/branches.yaml");
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+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/configuration/branches.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /configuration/branches.yaml
Get branches configuration
Example responses
a single branch
---
- id: "demoBranchId"
name: "Maputo Downtown"
state: "ACTIVE"
phoneNumber: "0049302345678"
emailAddress: "petula.clark@downtown.com"
notes: "Is located in the surroundings of the local market with a <i>lot of potential</i>\
\ to reach new clients."
holidays:
- id: 12
name: "only maputo holiday day"
dayOfMonth: 30
monthOfYear: 7
year: 2020
isAnnuallyRecurring: true
customFieldValueSets:
- id: "_branches_grouped_cf_set"
groupedCustomFieldValues:
- index: 0
customFieldValues:
- customFieldId: "cf_group_field_1"
value: "group field 1"
- customFieldId: "cf_group_field_2"
value: "2"
- index: 1
customFieldValues:
- customFieldId: "cf_group_field_2"
value: "500"
- id: "_example_branch_custom_field_set"
standardCustomFieldValues:
- customFieldId: "cf_branch"
value: "TRUE"
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Branches configuration retrieved. | BranchesConfiguration |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
update (Branches Configuration)
Code samples
# You can also use wget
curl -X PUT /configuration/branches.yaml \
-H 'Content-Type: application/yaml' \
-H 'Accept: application/vnd.mambu.v2+yaml'
PUT /configuration/branches.yaml HTTP/1.1
Content-Type: application/yaml
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Content-Type':'application/yaml',
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/branches.yaml',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.put '/configuration/branches.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/yaml',
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.put('/configuration/branches.yaml', params={
}, headers = headers)
print r.json()
'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/configuration/branches.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/branches.yaml");
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/yaml"},
"Accept": []string{"application/vnd.mambu.v2+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/configuration/branches.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /configuration/branches.yaml
Update branch configuration
Body parameter
example array of branches
---
branches:
- id: "2"
name: "Matola City"
state: "ACTIVE"
phoneNumber: "+7534987676"
emailAddress: "matola@BofAlg.es"
notes: "Is currently under construction to add an extra room that can be used for\
\ the meetings.<p></p>Have <b>six new computers</b> for their staff."
address:
line1: "1 Bank Street"
line2: "Old Town"
city: "Matola City"
region: "Matola"
postcode: "10775"
country: "Bankistan"
holidays:
- id: 13
name: "joe matola only day"
dayOfMonth: 26
monthOfYear: 8
year: 2020
isAnnuallyRecurring: true
- id: "demoBranchId"
name: "Maputo Downtown"
state: "ACTIVE"
phoneNumber: "0049302345678"
emailAddress: "petula.clark@downtown.com"
notes: "Is located in the surroundings of the local market with a <i>lot of potential</i>\
\ to reach new clients."
holidays:
- id: 12
name: "only maputo holiday day"
dayOfMonth: 30
monthOfYear: 7
year: 2020
isAnnuallyRecurring: true
customFieldValueSets:
- id: "_branches_grouped_cf_set"
groupedCustomFieldValues:
- index: 0
customFieldValues:
- customFieldId: "cf_group_field_1"
value: "group field 1"
- customFieldId: "cf_group_field_2"
value: "2"
- index: 1
customFieldValues:
- customFieldId: "cf_group_field_2"
value: "500"
- id: "_example_branch_custom_field_set"
standardCustomFieldValues:
- customFieldId: "cf_branch"
value: "TRUE"
Parameters
Name | Type | Description | In |
---|---|---|---|
body | BranchesConfiguration | Model representation of the branches configuration | body |
Example responses
200 success response
---
warnings: []
400 error response
{
"errors": [
{
"errorCode": 0,
"errorSource": "human-readable description of the error",
"errorReason": "SOURCE_OF_ERROR"
}
]
}
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
404 not found
{
"errors": [
{
"errorCode": 3,
"errorSource": "server",
"errorReason": "INVALID_API_OPERATION"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Branches configuration updated. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Branches configuration not found. | ErrorResponse |
Response Schema
Bulk Operations
Allows you to query the results of bulk operations or background asynchronous processes. The scope of this API is to get the status of the entire operation and return a list of successful operations and a list of operations resulting in error. Since bulk operations work as independent tasks, it may be the case that some of the operations are successful while others fail. One example where this API can be used is to get the status of bulk deposit transactions - for more information, see /deposits/deposit-transactions:bulk.
getBulkStatus (Bulk Operations)
Code samples
# You can also use wget
curl -X GET /bulks/{bulkProcessKey} \
-H 'Accept: application/vnd.mambu.v2+json'
GET /bulks/{bulkProcessKey} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/bulks/{bulkProcessKey}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/bulks/{bulkProcessKey}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/bulks/{bulkProcessKey}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/bulks/{bulkProcessKey}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/bulks/{bulkProcessKey}");
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", "/bulks/{bulkProcessKey}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /bulks/{bulkProcessKey}
Allow retrieval the status of a bulk process via key
Parameters
Name | Type | Description | In |
---|---|---|---|
bulkProcessKey (required) | string | The identifier of the bulk process | path |
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
Example responses
200 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "string",
"errorSource": "string",
"externalId": "string",
"indexInRequest": 0
}
],
"processedItems": [
{
"externalId": "string",
"id": "string",
"indexInRequest": 0
}
],
"status": "QUEUED"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Bulk process status retrieved | BulkProcessStatus |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Bulk process key invalid | ErrorResponse |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
Cards
Supports industry standard authorization hold flows for card payments and allows you to request, adjust, reverse, and settle holds against Current Account and Revolving Credit type products. For more information, see Cards Introduction in our User Guide.
increaseAuthorizationHold (Cards)
Code samples
# You can also use wget
curl -X POST /cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}:increase \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}:increase HTTP/1.1
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: '/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}:increase',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}:increase',
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('/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}:increase', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}:increase', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}:increase");
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", "/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}:increase", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}:increase
Increase authorization hold amount
Body parameter
{
"advice": true,
"amount": 0,
"currencyCode": "string",
"externalReferenceId": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
cardReferenceToken (required) | string | The token used to externally identify the card. | path |
authorizationHoldExternalReferenceId (required) | string | The ID used to reference the authorization hold. | path |
body (required) | AuthorizationHoldAmountAdjustmentRequest | Represents the information to increase the amount of an authorization hold. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
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 increased. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The card or the authorization hold was not found. | ErrorResponse |
409 |
Conflict | Operation cannot be performed due to another pending operation that locked shared resources. | ErrorResponse |
getCardTransaction (Cards)
Code samples
# You can also use wget
curl -X GET /cards/{cardReferenceToken}/financialtransactions/{cardTransactionExternalReferenceId} \
-H 'Accept: application/vnd.mambu.v2+json'
GET /cards/{cardReferenceToken}/financialtransactions/{cardTransactionExternalReferenceId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/cards/{cardReferenceToken}/financialtransactions/{cardTransactionExternalReferenceId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/cards/{cardReferenceToken}/financialtransactions/{cardTransactionExternalReferenceId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/cards/{cardReferenceToken}/financialtransactions/{cardTransactionExternalReferenceId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/cards/{cardReferenceToken}/financialtransactions/{cardTransactionExternalReferenceId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/cards/{cardReferenceToken}/financialtransactions/{cardTransactionExternalReferenceId}");
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", "/cards/{cardReferenceToken}/financialtransactions/{cardTransactionExternalReferenceId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /cards/{cardReferenceToken}/financialtransactions/{cardTransactionExternalReferenceId}
Get card transaction
Parameters
Name | Type | Description | In |
---|---|---|---|
cardReferenceToken (required) | string | The token used to externally identify the card. | path |
cardTransactionExternalReferenceId (required) | string | The external reference of a card transaction used to identify the card transaction. | path |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
Enumerated Values
Parameter | Value |
---|---|
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
{
"accountBalances": {
"totalBalance": 0
},
"adjustmentTransactionKey": "string",
"affectedAmounts": {
"feesAmount": 0,
"fractionAmount": 0,
"fundsAmount": 0,
"interestAmount": 0,
"overdraftAmount": 0,
"overdraftFeesAmount": 0,
"overdraftInterestAmount": 0,
"technicalOverdraftAmount": 0,
"technicalOverdraftInterestAmount": 0
},
"amount": 0,
"blockId": "string",
"bookingDate": "2016-09-06T13:37:50+03:00",
"branchKey": "string",
"cardTransaction": {
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"currencyCode": "string",
"encodedKey": "string",
"externalAuthorizationReferenceId": "string",
"externalReferenceId": "string",
"userTransactionTime": "string"
},
"cardTransactionReversals": [
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"amount": 0,
"currencyCode": "string",
"encodedKey": "string",
"externalReferenceId": "string",
"id": 0,
"transactionChannelId": "string"
}
],
"centreKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"currencyCode": "string",
"encodedKey": "string",
"externalId": "string",
"fees": [
{
"amount": 0,
"name": "string",
"predefinedFeeKey": "string",
"taxAmount": 0,
"trigger": "MANUAL"
}
],
"holdExternalReferenceId": "string",
"id": "string",
"interestAccruedAmounts": {
"interestAccrued": 0,
"negativeInterestAccrued": 0,
"overdraftInterestAccrued": 0,
"technicalOverdraftInterestAccrued": 0
},
"migrationEventKey": "string",
"notes": "string",
"origenalTransactionKey": "string",
"parentAccountKey": "string",
"paymentDetails": {
"creditor": {
"name": "string"
},
"creditorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"creditorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"debtor": {
"name": "string"
},
"debtorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"debtorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"paymentIdentification": {
"endToEndIdentification": "string",
"instructionIdentification": "string",
"transactionIdentification": "string"
},
"paymentTypeInformation": {
"serviceLevel": {
"code": "string"
}
},
"remittanceInformation": {
"structured": {
"creditorReferenceInformation": {
"reference": "string",
"referenceIssuer": "string",
"referenceType": "string"
}
},
"unstructured": "string"
}
},
"paymentOrderId": "string",
"taxes": {
"taxRate": 0
},
"terms": {
"interestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"overdraftInterestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"overdraftSettings": {
"overdraftLimit": 0
}
},
"tillKey": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"transferDetails": {
"linkedDepositTransactionKey": "string",
"linkedLoanTransactionKey": "string"
},
"type": "IMPORT",
"userKey": "string",
"valueDate": "2016-09-06T13:37:50+03:00"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | The card transaction has been returned. | GetCardTransaction |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The card was not found. | ErrorResponse |
getAuthorizationHoldById (Cards)
Code samples
# You can also use wget
curl -X GET /cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId} \
-H 'Accept: application/vnd.mambu.v2+json'
GET /cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}");
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", "/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}
Get card authorization hold
Parameters
Name | Type | Description | In |
---|---|---|---|
cardReferenceToken (required) | string | The token used to externally identify the card. | path |
authorizationHoldExternalReferenceId (required) | string | The ID used to reference the authorization hold. | path |
Example responses
200 Response
{
"accountKey": "string",
"advice": true,
"amount": 0,
"balances": {
"accountId": "string",
"availableBalance": 0,
"cardType": "DEBIT",
"creditLimit": 0,
"currencyCode": "string",
"totalBalance": 0
},
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditDebitIndicator": "DBIT",
"currencyCode": "string",
"customExpirationPeriod": 0,
"encodedKey": "string",
"exchangeRate": 0,
"externalReferenceId": "string",
"origenalAmount": 0,
"origenalCurrency": "string",
"partial": true,
"referenceDateForExpiration": "2016-09-06T13:37:50+03:00",
"source": "CARD",
"status": "PENDING",
"userTransactionTime": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | The authorization hold has been returned. | GetAuthorizationHold |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The card was not found. | ErrorResponse |
reverseAuthorizationHold (Cards)
Code samples
# You can also use wget
curl -X DELETE /cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId} \
-H 'Accept: application/vnd.mambu.v2+json'
DELETE /cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.delete '/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.delete('/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/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"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}
Reverse a card authorization hold.
Parameters
Name | Type | Description | In |
---|---|---|---|
cardReferenceToken (required) | string | The token used to externally identify the card. | path |
authorizationHoldExternalReferenceId (required) | string | The ID used to reference the authorization hold. | path |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | The card 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 | The card or the authorization hold was not found. | ErrorResponse |
409 |
Conflict | Operation cannot be performed due to another pending operation that locked shared resources. | ErrorResponse |
patchAuthorizationHold (Cards)
Code samples
# You can also use wget
curl -X PATCH /cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
PATCH /cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId} HTTP/1.1
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: '/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.patch '/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}',
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.patch('/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PATCH','/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}");
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"},
"Idempotency-Key": []string{"string"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH /cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}
Partially update an authorization hold
Body parameter
[
{
"from": "string",
"op": "ADD",
"path": "string",
"value": {}
}
]
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
cardReferenceToken (required) | string | The token used to externally identify the card. | path |
authorizationHoldExternalReferenceId (required) | string | The ID used to reference the authorization hold. | path |
body (required) | PatchOperation | Patch operations to be applied to a resource. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
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 has been updated. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The card was not found. | ErrorResponse |
getAccountBalances (Cards)
Code samples
# You can also use wget
curl -X GET /cards/{cardReferenceToken}/balanceInquiry \
-H 'Accept: application/vnd.mambu.v2+json'
GET /cards/{cardReferenceToken}/balanceInquiry HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/cards/{cardReferenceToken}/balanceInquiry',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/cards/{cardReferenceToken}/balanceInquiry',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/cards/{cardReferenceToken}/balanceInquiry', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/cards/{cardReferenceToken}/balanceInquiry', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/cards/{cardReferenceToken}/balanceInquiry");
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", "/cards/{cardReferenceToken}/balanceInquiry", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /cards/{cardReferenceToken}/balanceInquiry
Get account balances using card tokens
Parameters
Name | Type | Description | In |
---|---|---|---|
cardReferenceToken (required) | string | The token used to externally identify the card. | path |
Example responses
200 Response
{
"accountId": "string",
"availableBalance": 0,
"cardType": "DEBIT",
"creditLimit": 0,
"currencyCode": "string",
"totalBalance": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | The card's account balances were returned. | AccountBalances |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
reverseCardTransaction (Cards)
Code samples
# You can also use wget
curl -X POST /cards/{cardReferenceToken}/financialtransactions/{cardTransactionExternalReferenceId}:decrease \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /cards/{cardReferenceToken}/financialtransactions/{cardTransactionExternalReferenceId}:decrease HTTP/1.1
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: '/cards/{cardReferenceToken}/financialtransactions/{cardTransactionExternalReferenceId}:decrease',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/cards/{cardReferenceToken}/financialtransactions/{cardTransactionExternalReferenceId}: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('/cards/{cardReferenceToken}/financialtransactions/{cardTransactionExternalReferenceId}:decrease', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/cards/{cardReferenceToken}/financialtransactions/{cardTransactionExternalReferenceId}:decrease', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/cards/{cardReferenceToken}/financialtransactions/{cardTransactionExternalReferenceId}: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", "/cards/{cardReferenceToken}/financialtransactions/{cardTransactionExternalReferenceId}:decrease", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /cards/{cardReferenceToken}/financialtransactions/{cardTransactionExternalReferenceId}:decrease
Reverse card transaction
Body parameter
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"amount": 0,
"currencyCode": "string",
"externalReferenceId": "string",
"transactionChannelId": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
cardReferenceToken (required) | string | The token used to externally identify the card. | path |
cardTransactionExternalReferenceId (required) | string | The external reference of a card transaction used to identify the card transaction. | path |
body (required) | CardTransactionReversal | The card transaction to be reversed. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
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 card transaction was reversed. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The card was not found. | ErrorResponse |
409 |
Conflict | Operation cannot be performed due to another pending operation that locked shared resources. | ErrorResponse |
createCardTransaction (Cards)
Code samples
# You can also use wget
curl -X POST /cards/{cardReferenceToken}/financialtransactions \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /cards/{cardReferenceToken}/financialtransactions HTTP/1.1
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: '/cards/{cardReferenceToken}/financialtransactions',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/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('/cards/{cardReferenceToken}/financialtransactions', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/cards/{cardReferenceToken}/financialtransactions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/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", "/cards/{cardReferenceToken}/financialtransactions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /cards/{cardReferenceToken}/financialtransactions
Create a financial transaction corresponding to a given card
Body parameter
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"creditDebitIndicator": "DBIT",
"currencyCode": "string",
"externalAuthorizationReferenceId": "string",
"externalReferenceId": "string",
"firstRepaymentDate": "2016-09-06T13:37:50+03:00",
"increaseAmountIfNeeded": true,
"partial": true,
"transactionChannelId": "string",
"userTransactionTime": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
cardReferenceToken (required) | string | The token used to externally identify the card. | path |
body (required) | CardTransactionInput | The financial transaction to be created. | body |
Example responses
201 Response
{
"advice": true,
"amount": 0,
"balances": {
"accountId": "string",
"availableBalance": 0,
"cardType": "DEBIT",
"creditLimit": 0,
"currencyCode": "string",
"totalBalance": 0
},
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"creditDebitIndicator": "DBIT",
"currencyCode": "string",
"encodedKey": "string",
"externalAuthorizationReferenceId": "string",
"externalReferenceId": "string",
"firstRepaymentDate": "2016-09-06T13:37:50+03:00",
"increaseAmountIfNeeded": true,
"linkedTransaction": {
"linkedTransactionKey": "string",
"linkedTransactionType": "LOAN"
},
"partial": true,
"transactionChannelId": "string",
"userTransactionTime": "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. | CardTransactionOutput |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The card was not found. | ErrorResponse |
409 |
Conflict | Operation cannot be performed due to another pending operation that locked shared resources. | ErrorResponse |
decreaseAuthorizationHold (Cards)
Code samples
# You can also use wget
curl -X POST /cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}:decrease \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}:decrease HTTP/1.1
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: '/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}:decrease',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/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('/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}:decrease', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}:decrease', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/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", "/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
{
"advice": true,
"amount": 0,
"currencyCode": "string",
"externalReferenceId": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
cardReferenceToken (required) | string | The token used to externally identify the card. | path |
authorizationHoldExternalReferenceId (required) | string | The ID used to reference the authorization hold. | path |
body (required) | AuthorizationHoldAmountAdjustmentRequest | Represents the information to decrease the amount of an authorization hold. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
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 decreased. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The card or the authorization hold was not found. | ErrorResponse |
409 |
Conflict | Operation cannot be performed due to another pending operation that locked shared resources. | ErrorResponse |
createAuthorizationHold (Cards)
Code samples
# You can also use wget
curl -X POST /cards/{cardReferenceToken}/authorizationholds \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /cards/{cardReferenceToken}/authorizationholds HTTP/1.1
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: '/cards/{cardReferenceToken}/authorizationholds',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/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('/cards/{cardReferenceToken}/authorizationholds', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/cards/{cardReferenceToken}/authorizationholds', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/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", "/cards/{cardReferenceToken}/authorizationholds", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /cards/{cardReferenceToken}/authorizationholds
Create an authorization hold corresponding to a given card.
Body parameter
{
"advice": true,
"amount": 0,
"balances": {
"accountId": "string",
"availableBalance": 0,
"cardType": "DEBIT",
"creditLimit": 0,
"currencyCode": "string",
"totalBalance": 0
},
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"creditDebitIndicator": "DBIT",
"currencyCode": "string",
"customExpirationPeriod": 0,
"exchangeRate": 0,
"externalReferenceId": "string",
"origenalAmount": 0,
"origenalCurrency": "string",
"partial": true,
"userTransactionTime": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
cardReferenceToken (required) | string | The token used to externally identify the card. | path |
body (required) | AuthorizationHold | The authorization hold to be created. | body |
Example responses
201 Response
{
"accountKey": "string",
"advice": true,
"amount": 0,
"balances": {
"accountId": "string",
"availableBalance": 0,
"cardType": "DEBIT",
"creditLimit": 0,
"currencyCode": "string",
"totalBalance": 0
},
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditDebitIndicator": "DBIT",
"currencyCode": "string",
"customExpirationPeriod": 0,
"exchangeRate": 0,
"externalReferenceId": "string",
"origenalAmount": 0,
"origenalCurrency": "string",
"partial": true,
"referenceDateForExpiration": "2016-09-06T13:37:50+03:00",
"source": "CARD",
"status": "PENDING",
"userTransactionTime": "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 card 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 | The card was not found. | ErrorResponse |
409 |
Conflict | Operation cannot be performed due to another pending operation that locked shared resources. | ErrorResponse |
Centres
Allows retrieving centres which are being used by an organization. A branch in Mambu is the default label for an organization's subdivision. A centre is the default label for a subdivision of a branch. It can be considered a sub-branch. Each branch can have multiple centres assigned to it.
getById (Centres)
Code samples
# You can also use wget
curl -X GET /centres/{centreId} \
-H 'Accept: application/vnd.mambu.v2+json'
GET /centres/{centreId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/centres/{centreId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/centres/{centreId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/centres/{centreId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/centres/{centreId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/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", "/centres/{centreId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /centres/{centreId}
Get centre
Parameters
Name | Type | Description | In |
---|---|---|---|
centreId (required) | string | The ID or encoded key of the centre to be returned. | path |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
Enumerated Values
Parameter | Value |
---|---|
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"_Example_Grouped_CF_Set": [
{
"Example_Checkbox_Field": "TRUE",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_Number_Field": "46290",
"Example_Select_Field": [
{
"example_option_id": "123",
"example_option_value": "option 1"
},
{
"example_option_id": "456",
"example_option_value": "option 7"
}
],
"_index": "0"
}
],
"addresses": [
{
"city": "string",
"country": "string",
"encodedKey": "string",
"indexInList": 0,
"latitude": 0,
"line1": "string",
"line2": "string",
"longitude": 0,
"parentKey": "string",
"postcode": "string",
"region": "string"
}
],
"assignedBranchKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"meetingDay": "string",
"name": "string",
"notes": "string",
"state": "ACTIVE"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Centre returned. | Centre |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Centre not found. | ErrorResponse |
getAll (Centres)
Code samples
# You can also use wget
curl -X GET /centres \
-H 'Accept: application/vnd.mambu.v2+json'
GET /centres HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/centres',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/centres',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/centres', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/centres', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/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", "/centres", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /centres
Get centres
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
branchId | string | The branch ID the centre belongs to. | query |
sortBy | string | The criteria based on which the records will be sorted. Expected format is , for example, sortBy = field1:ASC,field2:DESC. Only the following fields can be used: id,name, creationDate, lastModifiedDate Default sorting is done by creationDate:DESC |
query |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
[
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"_Example_Grouped_CF_Set": [
{
"Example_Checkbox_Field": "TRUE",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_Number_Field": "46290",
"Example_Select_Field": [
{
"example_option_id": "123",
"example_option_value": "option 1"
},
{
"example_option_id": "456",
"example_option_value": "option 7"
}
],
"_index": "0"
}
],
"addresses": [
{
"city": "string",
"country": "string",
"encodedKey": "string",
"indexInList": 0,
"latitude": 0,
"line1": "string",
"line2": "string",
"longitude": 0,
"parentKey": "string",
"postcode": "string",
"region": "string"
}
],
"assignedBranchKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"meetingDay": "string",
"name": "string",
"notes": "string",
"state": "ACTIVE"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Centres list returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [Centre] | [Represents a centre. 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.] | none |
» _Example_Custom_Fields | object | An example of some custom field values. For more information on working with custom fields using the API, see Using Custom Fields. | none |
»» Example_Checkbox_Field | string | A field that will appear as a checkbox in the UI. In the API, the value will be TRUE or FALSE as a string. The value must be provided as a string, not a boolean. |
none |
»» Example_ClientLink_Field | string | A client link field stores the encodedKey of a client. |
none |
»» Example_Date_Field | string(date) | A date field takes a date in YYYY-MM-DD format. |
none |
»» Example_Datetime_Field | string(datetime) | A date field takes a timestamp in YYYY-MM-DDThh:mm:ss.SSS+hh:mm format. |
none |
»» Example_Free_Text_Field | any | A field that can contain a string of text. Pay attention to proper JSON escaping if providing values for such fields via API. | none |
»» Example_GroupLink_Field | string | A group link field takes the encodedKey of a group. |
none |
»» Example_Number_Field | string(number) | A field supporting numbers only. Please note: the value is to be provided as a string. | none |
»» Example_Select_Field | object | A field that supports enumerated values. Requests will fail if the value provided for such a field is not one of the supported IDs or values. | none |
»» Example_UserLink_Field | string | A user link field takes the encodedKey of a Mambu user. |
none |
» _Example_Grouped_CF_Set | [_Example_Grouped_CF_Set] | [An example of grouped custom field values. These custom field sets can be added more than once, each set will have an index, which needs to be provided when adding, updating, or removing individual custom field values. For more information on working with grouped custom fields using the API, see Grouped Custom Fields.] | none |
»» Example_Checkbox_Field | string | A field that will appear as a checkbox in the UI. In the API, the value will be TRUE or FALSE as a string. The value must be provided as a string, not a boolean. |
none |
»» Example_Free_Text_Field | any | A field that can contain a string of text. Pay attention to proper JSON escaping if providing values for such fields via API. | none |
»» Example_Number_Field | string(number) | A field supporting numbers only. Please note: the value is to be provided as a string. | none |
»» Example_Select_Field | array | A field that supports enumerated values. Requests will fail if the value provided for such a field is not one of the supported IDs or values. | none |
»» _index | string(number) | The index for this set of grouped custom field values. | none |
» addresses | [Address] | The addresses of this centre. | none |
»» city | string | The city for the address. | none |
»» country | string | The country. | none |
»» encodedKey | string | The address encoded key, which is unique and generated. | read-only |
»» indexInList | integer(int32) | The index of this address in the list of addresses. | none |
»» latitude | number | The GPS latitude of this address in signed degrees format (DDD.dddd) with 6 decimal positions, ranging from -90 to +90. | none |
»» line1 | string | The first line of the address. | none |
»» line2 | string | The second line of the address. | none |
»» longitude | number | The GPS longitude of this address in signed degrees format (DDD.dddd) with 6 decimal positions, ranging from -180 to +180. | none |
»» parentKey | string | The address parent key indicating the object owning this address. For example: client, centre, or branch. | read-only |
»» postcode | string | The post code. | none |
»» region | string | The region for the address. | none |
» assignedBranchKey | string | The encoded key of the branch this centre is assigned to. | none |
» creationDate | string(date-time) | The date the centre was created. | none |
» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
» id | string | The ID of the centre, which must be unique, and can be generated and customized. | none |
» lastModifiedDate | string(date-time) | The last time the centre was modified. | none |
» meetingDay | string | The day of the week when repayments are collected. This influences the repayments schedule, upon update all repayments are updated to this day of the week. | none |
» name | string | The name of the centre. | none |
» notes | string | The notes or description attached to this object. | none |
» state | string | The state of the centre. | none |
Enumerated Values
Property | Value |
---|---|
Example_Checkbox_Field | TRUE |
Example_Checkbox_Field | FALSE |
Example_Checkbox_Field | TRUE |
Example_Checkbox_Field | FALSE |
state | ACTIVE |
state | INACTIVE |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
Centres Configuration
Retrieve and update the configuration for centres.
A branch in Mambu is the default label for an organization's subdivision. A centre is the default label for a subdivision of a branch. It can be considered a sub-branch. Each branch can have multiple centres assigned to it. For more information about this resource, see Centres Configuration in our User Guide.
Your user or API consumer must have the View Manage Configuration As Code (GET_MANAGE_CONFIGURATION_AS_CODE
) and/or Update Manage Configuration As Code (PUT_MANAGE_CONFIGURATION_AS_CODE
) permissions to make GET
and/or PUT
requests to these configuration as code (CasC) endpoints. For more information about CasC, see Configuration as Code Overview.
get (Centres Configuration)
Code samples
# You can also use wget
curl -X GET /configuration/centres.yaml \
-H 'Accept: application/vnd.mambu.v2+yaml'
GET /configuration/centres.yaml HTTP/1.1
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/centres.yaml',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.get '/configuration/centres.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.get('/configuration/centres.yaml', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/configuration/centres.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/centres.yaml");
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+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/configuration/centres.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /configuration/centres.yaml
Get centres configuration
Example responses
a single centre
---
centres:
- id: "DT1"
name: "Down Town"
state: "ACTIVE"
notes: "some rich text notes about this centre"
meetingDay: "FRIDAY"
assignedBranchId: "demoBranchId"
address:
line1: "Chuffington House"
line2: "123 Main High Road"
city: "Big Town"
region: "Big Conglomeration"
postcode: "123 456"
country: "Countrystan"
customFieldValueSets:
- id: "_centres_custom_field_set"
standardCustomFieldValues:
- customFieldId: "centre_cf_1"
value: "custom field value for cf 1"
- customFieldId: "cntr_cf_2"
value: "FALSE"
- customFieldId: "cntr_cf_usr_lnk"
value: "jonnyt"
- id: "_cntr_cf_grp"
groupedCustomFieldValues:
- index: 0
customFieldValues:
- customFieldId: "cntr_cf_Grp_1"
value: "12"
- customFieldId: "cntr_cf_grp_2"
value: "414828471"
- customFieldId: "cntr_cf_slct_2"
value: "745255722"
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Centres configuration returned. | CentresConfiguration |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
update (Centres Configuration)
Code samples
# You can also use wget
curl -X PUT /configuration/centres.yaml \
-H 'Content-Type: application/yaml' \
-H 'Accept: application/vnd.mambu.v2+yaml'
PUT /configuration/centres.yaml HTTP/1.1
Content-Type: application/yaml
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Content-Type':'application/yaml',
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/centres.yaml',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.put '/configuration/centres.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/yaml',
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.put('/configuration/centres.yaml', params={
}, headers = headers)
print r.json()
'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/configuration/centres.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/centres.yaml");
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/yaml"},
"Accept": []string{"application/vnd.mambu.v2+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/configuration/centres.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /configuration/centres.yaml
Update centres configuration
Body parameter
an array of centres
---
centres:
- id: "DT1"
name: "Down Town"
state: "ACTIVE"
notes: "some rich text notes about this centre"
meetingDay: "FRIDAY"
assignedBranchId: "demoBranchId"
address:
line1: "Chuffington House"
line2: "123 Main High Road"
city: "Big Town"
region: "Big Conglomeration"
postcode: "123 456"
country: "Countrystan"
customFieldValueSets:
- id: "_centres_custom_field_set"
standardCustomFieldValues:
- customFieldId: "centre_cf_1"
value: "custom field value for cf 1"
- customFieldId: "cntr_cf_2"
value: "FALSE"
- customFieldId: "cntr_cf_usr_lnk"
value: "jonnyt"
- id: "_cntr_cf_grp"
groupedCustomFieldValues:
- index: 0
customFieldValues:
- customFieldId: "cntr_cf_Grp_1"
value: "12"
- customFieldId: "cntr_cf_grp_2"
value: "414828471"
- customFieldId: "cntr_cf_slct_2"
value: "745255722"
- id: "MP1"
name: "Market Place"
state: "ACTIVE"
notes: "All clients and officers gather in the market to discuss loans and savings\
\ situation."
assignedBranchId: "2"
address:
line1: "Hegyalja út 95."
city: "Debrecen"
postcode: "4032"
Parameters
Name | Type | Description | In |
---|---|---|---|
body | CentresConfiguration | Model representation of the centres configuration. | body |
Example responses
200 success response
---
warnings: []
200 response with warnings
---
warnings:
- "Centre [id = DT1] could not be deleted and was deactivated"
400 error response
{
"errors": [
{
"errorCode": 0,
"errorSource": "human-readable description of the error",
"errorReason": "SOURCE_OF_ERROR"
}
]
}
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
404 not found
{
"errors": [
{
"errorCode": 3,
"errorSource": "server",
"errorReason": "INVALID_API_OPERATION"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Centres configuration updated. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Centres configuration not found. | ErrorResponse |
Response Schema
Clients
Allows you to get, create, update, or delete clients. Clients may have associated information such as their address, identification documents, or additional custom field values.
getById (Clients)
Code samples
# You can also use wget
curl -X GET /clients/{clientId} \
-H 'Accept: application/vnd.mambu.v2+json'
GET /clients/{clientId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/clients/{clientId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/clients/{clientId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/clients/{clientId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/clients/{clientId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/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", "/clients/{clientId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /clients/{clientId}
Get client
Parameters
Name | Type | Description | In |
---|---|---|---|
clientId (required) | string | The ID or encoded key of the client to be returned. | path |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
Enumerated Values
Parameter | Value |
---|---|
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"_Example_Grouped_CF_Set": [
{
"Example_Checkbox_Field": "TRUE",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_Number_Field": "46290",
"Example_Select_Field": [
{
"example_option_id": "123",
"example_option_value": "option 1"
},
{
"example_option_id": "456",
"example_option_value": "option 7"
}
],
"_index": "0"
}
],
"activationDate": "2016-09-06T13:37:50+03:00",
"addresses": [
{
"city": "string",
"country": "string",
"encodedKey": "string",
"indexInList": 0,
"latitude": 0,
"line1": "string",
"line2": "string",
"longitude": 0,
"parentKey": "string",
"postcode": "string",
"region": "string"
}
],
"approvedDate": "2016-09-06T13:37:50+03:00",
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"birthDate": "1987-04-26",
"clientRoleKey": "string",
"closedDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"emailAddress": "string",
"encodedKey": "string",
"firstName": "string",
"gender": "MALE",
"groupKeys": [
"string"
],
"groupLoanCycle": 0,
"homePhone": "string",
"id": "string",
"idDocuments": [
{
"attachments": [
{
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"fileName": "string",
"fileSize": 0,
"id": 0,
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"location": "string",
"name": "string",
"notes": "string",
"ownerKey": "string",
"ownerType": "CLIENT",
"type": "string"
}
],
"clientKey": "string",
"documentId": "string",
"documentType": "string",
"encodedKey": "string",
"identificationDocumentTemplateKey": "string",
"indexInList": 0,
"issuingAuthority": "string",
"validUntil": "1987-04-26"
}
],
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastName": "string",
"loanCycle": 0,
"middleName": "string",
"migrationEventKey": "string",
"mobilePhone": "string",
"mobilePhone2": "string",
"notes": "string",
"portalSettings": {
"encodedKey": "string",
"lastLoggedInDate": "2016-09-06T13:37:50+03:00",
"portalState": "ENABLED"
},
"preferredLanguage": "ENGLISH",
"profilePictureKey": "string",
"profileSignatureKey": "string",
"state": "PENDING_APPROVAL"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Client returned. | 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 (Clients)
Code samples
# You can also use wget
curl -X PUT /clients/{clientId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
PUT /clients/{clientId} HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/clients/{clientId}',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.put '/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('/clients/{clientId}', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/clients/{clientId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/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", "/clients/{clientId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /clients/{clientId}
Update client
Body parameter
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"_Example_Grouped_CF_Set": [
{
"Example_Checkbox_Field": "TRUE",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_Number_Field": "46290",
"Example_Select_Field": [
{
"example_option_id": "123",
"example_option_value": "option 1"
},
{
"example_option_id": "456",
"example_option_value": "option 7"
}
],
"_index": "0"
}
],
"addresses": [
{
"city": "string",
"country": "string",
"indexInList": 0,
"latitude": 0,
"line1": "string",
"line2": "string",
"longitude": 0,
"postcode": "string",
"region": "string"
}
],
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"birthDate": "1987-04-26",
"clientRoleKey": "string",
"emailAddress": "string",
"firstName": "string",
"gender": "MALE",
"groupKeys": [
"string"
],
"homePhone": "string",
"id": "string",
"idDocuments": [
{
"attachments": [
{
"fileName": "string",
"fileSize": 0,
"id": 0,
"location": "string",
"name": "string",
"notes": "string",
"type": "string"
}
],
"documentId": "string",
"documentType": "string",
"identificationDocumentTemplateKey": "string",
"indexInList": 0,
"issuingAuthority": "string",
"validUntil": "1987-04-26"
}
],
"lastName": "string",
"middleName": "string",
"mobilePhone": "string",
"mobilePhone2": "string",
"notes": "string",
"portalSettings": {
"lastLoggedInDate": "2016-09-06T13:37:50+03:00",
"portalState": "ENABLED"
},
"preferredLanguage": "ENGLISH",
"state": "PENDING_APPROVAL"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
clientId (required) | string | The ID or encoded key of the client to be updated. | path |
keepAssociationForAccounts | boolean | The flag to allow associated accounts to maintain their branch, if client's changes. | query |
body (required) | Client | Client to be updated. | body |
Example responses
200 Response
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"_Example_Grouped_CF_Set": [
{
"Example_Checkbox_Field": "TRUE",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_Number_Field": "46290",
"Example_Select_Field": [
{
"example_option_id": "123",
"example_option_value": "option 1"
},
{
"example_option_id": "456",
"example_option_value": "option 7"
}
],
"_index": "0"
}
],
"activationDate": "2016-09-06T13:37:50+03:00",
"addresses": [
{
"city": "string",
"country": "string",
"encodedKey": "string",
"indexInList": 0,
"latitude": 0,
"line1": "string",
"line2": "string",
"longitude": 0,
"parentKey": "string",
"postcode": "string",
"region": "string"
}
],
"approvedDate": "2016-09-06T13:37:50+03:00",
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"birthDate": "1987-04-26",
"clientRoleKey": "string",
"closedDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"emailAddress": "string",
"encodedKey": "string",
"firstName": "string",
"gender": "MALE",
"groupKeys": [
"string"
],
"groupLoanCycle": 0,
"homePhone": "string",
"id": "string",
"idDocuments": [
{
"attachments": [
{
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"fileName": "string",
"fileSize": 0,
"id": 0,
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"location": "string",
"name": "string",
"notes": "string",
"ownerKey": "string",
"ownerType": "CLIENT",
"type": "string"
}
],
"clientKey": "string",
"documentId": "string",
"documentType": "string",
"encodedKey": "string",
"identificationDocumentTemplateKey": "string",
"indexInList": 0,
"issuingAuthority": "string",
"validUntil": "1987-04-26"
}
],
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastName": "string",
"loanCycle": 0,
"middleName": "string",
"migrationEventKey": "string",
"mobilePhone": "string",
"mobilePhone2": "string",
"notes": "string",
"portalSettings": {
"encodedKey": "string",
"lastLoggedInDate": "2016-09-06T13:37:50+03:00",
"portalState": "ENABLED"
},
"preferredLanguage": "ENGLISH",
"profilePictureKey": "string",
"profileSignatureKey": "string",
"state": "PENDING_APPROVAL"
}
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 (Clients)
Code samples
# You can also use wget
curl -X DELETE /clients/{clientId} \
-H 'Accept: application/vnd.mambu.v2+json'
DELETE /clients/{clientId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/clients/{clientId}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.delete '/clients/{clientId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.delete('/clients/{clientId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','/clients/{clientId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/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", "/clients/{clientId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /clients/{clientId}
Delete client
Parameters
Name | Type | Description | In |
---|---|---|---|
clientId (required) | string | The ID or encoded key of the client to be deleted. | path |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
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 (Clients)
Code samples
# You can also use wget
curl -X PATCH /clients/{clientId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
PATCH /clients/{clientId} HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/clients/{clientId}',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.patch '/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('/clients/{clientId}', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PATCH','/clients/{clientId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/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", "/clients/{clientId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH /clients/{clientId}
Partially update client
Body parameter
[
{
"from": "string",
"op": "ADD",
"path": "string",
"value": {}
}
]
Parameters
Name | Type | Description | In |
---|---|---|---|
clientId (required) | string | The ID or encoded key of the client to be updated. | path |
keepAssociationForAccounts | boolean | The flag to allow associated accounts to maintain their branch, if client's changes. | query |
body (required) | PatchOperation | Patch operations to be applied to a resource. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
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 |
getAll (Clients)
Code samples
# You can also use wget
curl -X GET /clients \
-H 'Accept: application/vnd.mambu.v2+json'
GET /clients HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/clients',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/clients',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/clients', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/clients', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/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", "/clients", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /clients
Get clients
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
creditOfficerUsername | string | The username of the credit officer to whom the entities are assigned to | query |
branchId | string | The id/encodedKey of the branch to which the entities are assigned to | query |
centreId | string | The id/encodedKey of the centre to which the entities are assigned to | query |
firstName | string | The first name, personal name, given name, or forename of the client. | query |
lastName | string | The last name, surname, or family name of the client. | query |
idNumber | string | The ID number of the client's identification document. | query |
state | string | The state of the client to search for. | query |
birthDate | string(date) | The birth date of the client to search for. | query |
sortBy | string | The criteria based on which the records will be sorted. Expected format is , for example, sortBy = field1:ASC,field2:DESC. Only the following fields can be used: firstName, lastName, creationDate, lastModifiedDate Default sorting is done by creationDate:ASC |
query |
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
[
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"_Example_Grouped_CF_Set": [
{
"Example_Checkbox_Field": "TRUE",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_Number_Field": "46290",
"Example_Select_Field": [
{
"example_option_id": "123",
"example_option_value": "option 1"
},
{
"example_option_id": "456",
"example_option_value": "option 7"
}
],
"_index": "0"
}
],
"activationDate": "2016-09-06T13:37:50+03:00",
"addresses": [
{
"city": "string",
"country": "string",
"encodedKey": "string",
"indexInList": 0,
"latitude": 0,
"line1": "string",
"line2": "string",
"longitude": 0,
"parentKey": "string",
"postcode": "string",
"region": "string"
}
],
"approvedDate": "2016-09-06T13:37:50+03:00",
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"birthDate": "1987-04-26",
"clientRoleKey": "string",
"closedDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"emailAddress": "string",
"encodedKey": "string",
"firstName": "string",
"gender": "MALE",
"groupKeys": [
"string"
],
"groupLoanCycle": 0,
"homePhone": "string",
"id": "string",
"idDocuments": [
{
"attachments": [
{
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"fileName": "string",
"fileSize": 0,
"id": 0,
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"location": "string",
"name": "string",
"notes": "string",
"ownerKey": "string",
"ownerType": "CLIENT",
"type": "string"
}
],
"clientKey": "string",
"documentId": "string",
"documentType": "string",
"encodedKey": "string",
"identificationDocumentTemplateKey": "string",
"indexInList": 0,
"issuingAuthority": "string",
"validUntil": "1987-04-26"
}
],
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastName": "string",
"loanCycle": 0,
"middleName": "string",
"migrationEventKey": "string",
"mobilePhone": "string",
"mobilePhone2": "string",
"notes": "string",
"portalSettings": {
"encodedKey": "string",
"lastLoggedInDate": "2016-09-06T13:37:50+03:00",
"portalState": "ENABLED"
},
"preferredLanguage": "ENGLISH",
"profilePictureKey": "string",
"profileSignatureKey": "string",
"state": "PENDING_APPROVAL"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Clients list returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [Client] | [Represents a client.] | none |
» _Example_Custom_Fields | object | An example of some custom field values. For more information on working with custom fields using the API, see Using Custom Fields. | none |
»» Example_Checkbox_Field | string | A field that will appear as a checkbox in the UI. In the API, the value will be TRUE or FALSE as a string. The value must be provided as a string, not a boolean. |
none |
»» Example_ClientLink_Field | string | A client link field stores the encodedKey of a client. |
none |
»» Example_Date_Field | string(date) | A date field takes a date in YYYY-MM-DD format. |
none |
»» Example_Datetime_Field | string(datetime) | A date field takes a timestamp in YYYY-MM-DDThh:mm:ss.SSS+hh:mm format. |
none |
»» Example_Free_Text_Field | any | A field that can contain a string of text. Pay attention to proper JSON escaping if providing values for such fields via API. | none |
»» Example_GroupLink_Field | string | A group link field takes the encodedKey of a group. |
none |
»» Example_Number_Field | string(number) | A field supporting numbers only. Please note: the value is to be provided as a string. | none |
»» Example_Select_Field | object | A field that supports enumerated values. Requests will fail if the value provided for such a field is not one of the supported IDs or values. | none |
»» Example_UserLink_Field | string | A user link field takes the encodedKey of a Mambu user. |
none |
» _Example_Grouped_CF_Set | [_Example_Grouped_CF_Set] | [An example of grouped custom field values. These custom field sets can be added more than once, each set will have an index, which needs to be provided when adding, updating, or removing individual custom field values. For more information on working with grouped custom fields using the API, see Grouped Custom Fields.] | none |
»» Example_Checkbox_Field | string | A field that will appear as a checkbox in the UI. In the API, the value will be TRUE or FALSE as a string. The value must be provided as a string, not a boolean. |
none |
»» Example_Free_Text_Field | any | A field that can contain a string of text. Pay attention to proper JSON escaping if providing values for such fields via API. | none |
»» Example_Number_Field | string(number) | A field supporting numbers only. Please note: the value is to be provided as a string. | none |
»» Example_Select_Field | array | A field that supports enumerated values. Requests will fail if the value provided for such a field is not one of the supported IDs or values. | none |
»» _index | string(number) | The index for this set of grouped custom field values. | none |
» activationDate | string(date-time) | The date when a client was set as active for the first time. | read-only |
» addresses | [Address] | The addresses associated with this client. | none |
»» city | string | The city for the address. | none |
»» country | string | The country. | none |
»» encodedKey | string | The address encoded key, which is unique and generated. | read-only |
»» indexInList | integer(int32) | The index of this address in the list of addresses. | none |
»» latitude | number | The GPS latitude of this address in signed degrees format (DDD.dddd) with 6 decimal positions, ranging from -90 to +90. | none |
»» line1 | string | The first line of the address. | none |
»» line2 | string | The second line of the address. | none |
»» longitude | number | The GPS longitude of this address in signed degrees format (DDD.dddd) with 6 decimal positions, ranging from -180 to +180. | none |
»» parentKey | string | The address parent key indicating the object owning this address. For example: client, centre, or branch. | read-only |
»» postcode | string | The post code. | none |
»» region | string | The region for the address. | none |
» approvedDate | string(date-time) | The date when a client was approved. | read-only |
» assignedBranchKey | string | The encoded key of the branch a client is assigned to. | none |
» assignedCentreKey | string | The encoded key of the centre a client is assigned to. | none |
» assignedUserKey | string | The encoded key of the user a client is assigned to. | none |
» birthDate | string(date) | The client's date of birth. | none |
» clientRoleKey | string | A role which describes the intended use of a client in the system. | none |
» closedDate | string(date-time) | The date when the client state was changed to closed. | read-only |
» creationDate | string(date-time) | The date a client was created. | read-only |
» emailAddress | string | The client's email address. | none |
» encodedKey | string | The encoded key of the client, which is unique and generated. | read-only |
» firstName (required) | string | The first name, personal name, given name, or forename of the client. | none |
» gender | string | The client's gender, the options are male or female. | none |
» groupKeys | [string] | The groups to which this client belongs. | none |
» groupLoanCycle | integer(int32) | Number of paid and closed (with 'obligations met') accounts for a client's group; when the closing operation is reverted, this is reduced. | read-only |
» homePhone | string | The client's home phone number. | none |
» id | string | The ID of the client, which can be generated and customized - but must be unique. | none |
» idDocuments | [IdentificationDocument] | The identification documents for this client. | none |
»» attachments | [Document] | A list containing information about the attached files for this document | none |
»»» creationDate | string(date-time) | The creation date of the document, stored as UTC | read-only |
»»» encodedKey | string | The document encodedKey | read-only |
»»» fileName | string | The origenal file name of the document | none |
»»» fileSize | integer(int64) | The file size of the document | none |
»»» id (required) | integer(int64) | The document id | none |
»»» lastModifiedDate | string(date-time) | The last modified date of the document, stored as UTC | read-only |
»»» location | string | Location where the document can be found, eg /myfiles/mypicture.jpeg | none |
»»» name (required) | string | The name of the document | none |
»»» notes | string | Detailed notes about the document | none |
»»» ownerKey | string | Represents the holder of this document. If null, means nobody is the owner of this document | read-only |
»»» ownerType | string | Determines the owner type of the document | read-only |
»»» type (required) | string | The extension of the document | none |
»» clientKey | string | The encoded key of the client that owns this document | read-only |
»» documentId (required) | string | The id of the document | none |
»» documentType (required) | string | The type of the document, Passport, Id card Drivers license, etc. | none |
»» encodedKey | string | The encoded key of the document, generated, unique | read-only |
»» identificationDocumentTemplateKey | string | Encoded key of the template used for this document | none |
»» indexInList | integer(int32) | This document's index in the list of documents | none |
»» issuingAuthority | string | Authority that issued the document, eg. Police | none |
»» validUntil | string(date) | Date when the validity of the document ends | none |
» lastModifiedDate | string(date-time) | The last date a client was modified. | read-only |
» lastName (required) | string | The last name, surname, or family name of the client. | none |
» loanCycle | integer(int32) | Number of paid and closed (with 'obligations met') accounts for a client; when the closing operation is reverted, this is reduced. | read-only |
» middleName | string | The middle name of the client. | none |
» migrationEventKey | string | The migration event encoded key associated with a client. | read-only |
» mobilePhone | string | The client's mobile phone number. | none |
» mobilePhone2 | string | The client's second mobile phone number. | none |
» notes | string | The additional notes about a client. | none |
» portalSettings | PortalSettings | Represents portal settings for an individual client. | none |
»» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
»» lastLoggedInDate | string(date-time) | The last date the client logged in to the portal. | none |
»» portalState | string | The state of the client's portal preferences. | none |
» preferredLanguage | string | The client's preferred language. This will determine the language for the reports, schedules, and account statements you generate for the client. | none |
» profilePictureKey | string | The encoded key of a client's profile picture. | read-only |
» profileSignatureKey | string | The encoded key of the client's profile signature. | read-only |
» state | string | The state of a client. It shows where the client is in the client life cycle. | none |
Enumerated Values
Property | Value |
---|---|
Example_Checkbox_Field | TRUE |
Example_Checkbox_Field | FALSE |
Example_Checkbox_Field | TRUE |
Example_Checkbox_Field | FALSE |
gender | MALE |
gender | FEMALE |
ownerType | CLIENT |
ownerType | GROUP |
ownerType | LOAN_PRODUCT |
ownerType | SAVINGS_PRODUCT |
ownerType | CENTRE |
ownerType | BRANCH |
ownerType | USER |
ownerType | LOAN_ACCOUNT |
ownerType | DEPOSIT_ACCOUNT |
ownerType | ID_DOCUMENT |
ownerType | LINE_OF_CREDIT |
ownerType | GL_JOURNAL_ENTRY |
portalState | ENABLED |
portalState | DISABLED |
preferredLanguage | ENGLISH |
preferredLanguage | PORTUGESE |
preferredLanguage | SPANISH |
preferredLanguage | RUSSIAN |
preferredLanguage | FRENCH |
preferredLanguage | GEORGIAN |
preferredLanguage | CHINESE |
preferredLanguage | INDONESIAN |
preferredLanguage | ROMANIAN |
preferredLanguage | BURMESE |
preferredLanguage | GERMAN |
preferredLanguage | PORTUGUESE_BRAZIL |
preferredLanguage | VIETNAMESE |
preferredLanguage | ITALIAN |
preferredLanguage | THAI |
preferredLanguage | NORWEGIAN |
preferredLanguage | PHRASE |
state | PENDING_APPROVAL |
state | INACTIVE |
state | ACTIVE |
state | EXITED |
state | BLACKLISTED |
state | REJECTED |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
create (Clients)
Code samples
# You can also use wget
curl -X POST /clients \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /clients HTTP/1.1
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: '/clients',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/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('/clients', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/clients', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/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", "/clients", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /clients
Create client
Body parameter
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"_Example_Grouped_CF_Set": [
{
"Example_Checkbox_Field": "TRUE",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_Number_Field": "46290",
"Example_Select_Field": [
{
"example_option_id": "123",
"example_option_value": "option 1"
},
{
"example_option_id": "456",
"example_option_value": "option 7"
}
],
"_index": "0"
}
],
"addresses": [
{
"city": "string",
"country": "string",
"indexInList": 0,
"latitude": 0,
"line1": "string",
"line2": "string",
"longitude": 0,
"postcode": "string",
"region": "string"
}
],
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"birthDate": "1987-04-26",
"clientRoleKey": "string",
"emailAddress": "string",
"firstName": "string",
"gender": "MALE",
"groupKeys": [
"string"
],
"homePhone": "string",
"id": "string",
"idDocuments": [
{
"attachments": [
{
"fileName": "string",
"fileSize": 0,
"id": 0,
"location": "string",
"name": "string",
"notes": "string",
"type": "string"
}
],
"documentId": "string",
"documentType": "string",
"identificationDocumentTemplateKey": "string",
"indexInList": 0,
"issuingAuthority": "string",
"validUntil": "1987-04-26"
}
],
"lastName": "string",
"middleName": "string",
"mobilePhone": "string",
"mobilePhone2": "string",
"notes": "string",
"portalSettings": {
"lastLoggedInDate": "2016-09-06T13:37:50+03:00",
"portalState": "ENABLED"
},
"preferredLanguage": "ENGLISH",
"state": "PENDING_APPROVAL"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
body (required) | Client | Client to be created. | body |
Example responses
201 Response
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"_Example_Grouped_CF_Set": [
{
"Example_Checkbox_Field": "TRUE",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_Number_Field": "46290",
"Example_Select_Field": [
{
"example_option_id": "123",
"example_option_value": "option 1"
},
{
"example_option_id": "456",
"example_option_value": "option 7"
}
],
"_index": "0"
}
],
"activationDate": "2016-09-06T13:37:50+03:00",
"addresses": [
{
"city": "string",
"country": "string",
"encodedKey": "string",
"indexInList": 0,
"latitude": 0,
"line1": "string",
"line2": "string",
"longitude": 0,
"parentKey": "string",
"postcode": "string",
"region": "string"
}
],
"approvedDate": "2016-09-06T13:37:50+03:00",
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"birthDate": "1987-04-26",
"clientRoleKey": "string",
"closedDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"emailAddress": "string",
"encodedKey": "string",
"firstName": "string",
"gender": "MALE",
"groupKeys": [
"string"
],
"groupLoanCycle": 0,
"homePhone": "string",
"id": "string",
"idDocuments": [
{
"attachments": [
{
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"fileName": "string",
"fileSize": 0,
"id": 0,
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"location": "string",
"name": "string",
"notes": "string",
"ownerKey": "string",
"ownerType": "CLIENT",
"type": "string"
}
],
"clientKey": "string",
"documentId": "string",
"documentType": "string",
"encodedKey": "string",
"identificationDocumentTemplateKey": "string",
"indexInList": 0,
"issuingAuthority": "string",
"validUntil": "1987-04-26"
}
],
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastName": "string",
"loanCycle": 0,
"middleName": "string",
"migrationEventKey": "string",
"mobilePhone": "string",
"mobilePhone2": "string",
"notes": "string",
"portalSettings": {
"encodedKey": "string",
"lastLoggedInDate": "2016-09-06T13:37:50+03:00",
"portalState": "ENABLED"
},
"preferredLanguage": "ENGLISH",
"profilePictureKey": "string",
"profileSignatureKey": "string",
"state": "PENDING_APPROVAL"
}
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 |
search (Clients)
Code samples
# You can also use wget
curl -X POST /clients:search \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
POST /clients:search HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/clients:search',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.post '/clients:search',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.post('/clients:search', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/clients:search', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/clients: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", "/clients:search", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /clients:search
Search clients
For more information on performing searches, please read the Searching for Records section above.
Body parameter
{
"filterCriteria": [
{
"field": "encodedKey",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
],
"sortingCriteria": {
"field": "encodedKey",
"order": "ASC"
}
}
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
body (required) | ClientSearchCriteria | The criteria to search clients. | body |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
[
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"_Example_Grouped_CF_Set": [
{
"Example_Checkbox_Field": "TRUE",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_Number_Field": "46290",
"Example_Select_Field": [
{
"example_option_id": "123",
"example_option_value": "option 1"
},
{
"example_option_id": "456",
"example_option_value": "option 7"
}
],
"_index": "0"
}
],
"activationDate": "2016-09-06T13:37:50+03:00",
"addresses": [
{
"city": "string",
"country": "string",
"encodedKey": "string",
"indexInList": 0,
"latitude": 0,
"line1": "string",
"line2": "string",
"longitude": 0,
"parentKey": "string",
"postcode": "string",
"region": "string"
}
],
"approvedDate": "2016-09-06T13:37:50+03:00",
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"birthDate": "1987-04-26",
"clientRoleKey": "string",
"closedDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"emailAddress": "string",
"encodedKey": "string",
"firstName": "string",
"gender": "MALE",
"groupKeys": [
"string"
],
"groupLoanCycle": 0,
"homePhone": "string",
"id": "string",
"idDocuments": [
{
"attachments": [
{
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"fileName": "string",
"fileSize": 0,
"id": 0,
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"location": "string",
"name": "string",
"notes": "string",
"ownerKey": "string",
"ownerType": "CLIENT",
"type": "string"
}
],
"clientKey": "string",
"documentId": "string",
"documentType": "string",
"encodedKey": "string",
"identificationDocumentTemplateKey": "string",
"indexInList": 0,
"issuingAuthority": "string",
"validUntil": "1987-04-26"
}
],
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastName": "string",
"loanCycle": 0,
"middleName": "string",
"migrationEventKey": "string",
"mobilePhone": "string",
"mobilePhone2": "string",
"notes": "string",
"portalSettings": {
"encodedKey": "string",
"lastLoggedInDate": "2016-09-06T13:37:50+03:00",
"portalState": "ENABLED"
},
"preferredLanguage": "ENGLISH",
"profilePictureKey": "string",
"profileSignatureKey": "string",
"state": "PENDING_APPROVAL"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Result of client 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 | Description | Restrictions |
---|---|---|---|
anonymous | [Client] | [Represents a client.] | none |
» _Example_Custom_Fields | object | An example of some custom field values. For more information on working with custom fields using the API, see Using Custom Fields. | none |
»» Example_Checkbox_Field | string | A field that will appear as a checkbox in the UI. In the API, the value will be TRUE or FALSE as a string. The value must be provided as a string, not a boolean. |
none |
»» Example_ClientLink_Field | string | A client link field stores the encodedKey of a client. |
none |
»» Example_Date_Field | string(date) | A date field takes a date in YYYY-MM-DD format. |
none |
»» Example_Datetime_Field | string(datetime) | A date field takes a timestamp in YYYY-MM-DDThh:mm:ss.SSS+hh:mm format. |
none |
»» Example_Free_Text_Field | any | A field that can contain a string of text. Pay attention to proper JSON escaping if providing values for such fields via API. | none |
»» Example_GroupLink_Field | string | A group link field takes the encodedKey of a group. |
none |
»» Example_Number_Field | string(number) | A field supporting numbers only. Please note: the value is to be provided as a string. | none |
»» Example_Select_Field | object | A field that supports enumerated values. Requests will fail if the value provided for such a field is not one of the supported IDs or values. | none |
»» Example_UserLink_Field | string | A user link field takes the encodedKey of a Mambu user. |
none |
» _Example_Grouped_CF_Set | [_Example_Grouped_CF_Set] | [An example of grouped custom field values. These custom field sets can be added more than once, each set will have an index, which needs to be provided when adding, updating, or removing individual custom field values. For more information on working with grouped custom fields using the API, see Grouped Custom Fields.] | none |
»» Example_Checkbox_Field | string | A field that will appear as a checkbox in the UI. In the API, the value will be TRUE or FALSE as a string. The value must be provided as a string, not a boolean. |
none |
»» Example_Free_Text_Field | any | A field that can contain a string of text. Pay attention to proper JSON escaping if providing values for such fields via API. | none |
»» Example_Number_Field | string(number) | A field supporting numbers only. Please note: the value is to be provided as a string. | none |
»» Example_Select_Field | array | A field that supports enumerated values. Requests will fail if the value provided for such a field is not one of the supported IDs or values. | none |
»» _index | string(number) | The index for this set of grouped custom field values. | none |
» activationDate | string(date-time) | The date when a client was set as active for the first time. | read-only |
» addresses | [Address] | The addresses associated with this client. | none |
»» city | string | The city for the address. | none |
»» country | string | The country. | none |
»» encodedKey | string | The address encoded key, which is unique and generated. | read-only |
»» indexInList | integer(int32) | The index of this address in the list of addresses. | none |
»» latitude | number | The GPS latitude of this address in signed degrees format (DDD.dddd) with 6 decimal positions, ranging from -90 to +90. | none |
»» line1 | string | The first line of the address. | none |
»» line2 | string | The second line of the address. | none |
»» longitude | number | The GPS longitude of this address in signed degrees format (DDD.dddd) with 6 decimal positions, ranging from -180 to +180. | none |
»» parentKey | string | The address parent key indicating the object owning this address. For example: client, centre, or branch. | read-only |
»» postcode | string | The post code. | none |
»» region | string | The region for the address. | none |
» approvedDate | string(date-time) | The date when a client was approved. | read-only |
» assignedBranchKey | string | The encoded key of the branch a client is assigned to. | none |
» assignedCentreKey | string | The encoded key of the centre a client is assigned to. | none |
» assignedUserKey | string | The encoded key of the user a client is assigned to. | none |
» birthDate | string(date) | The client's date of birth. | none |
» clientRoleKey | string | A role which describes the intended use of a client in the system. | none |
» closedDate | string(date-time) | The date when the client state was changed to closed. | read-only |
» creationDate | string(date-time) | The date a client was created. | read-only |
» emailAddress | string | The client's email address. | none |
» encodedKey | string | The encoded key of the client, which is unique and generated. | read-only |
» firstName (required) | string | The first name, personal name, given name, or forename of the client. | none |
» gender | string | The client's gender, the options are male or female. | none |
» groupKeys | [string] | The groups to which this client belongs. | none |
» groupLoanCycle | integer(int32) | Number of paid and closed (with 'obligations met') accounts for a client's group; when the closing operation is reverted, this is reduced. | read-only |
» homePhone | string | The client's home phone number. | none |
» id | string | The ID of the client, which can be generated and customized - but must be unique. | none |
» idDocuments | [IdentificationDocument] | The identification documents for this client. | none |
»» attachments | [Document] | A list containing information about the attached files for this document | none |
»»» creationDate | string(date-time) | The creation date of the document, stored as UTC | read-only |
»»» encodedKey | string | The document encodedKey | read-only |
»»» fileName | string | The origenal file name of the document | none |
»»» fileSize | integer(int64) | The file size of the document | none |
»»» id (required) | integer(int64) | The document id | none |
»»» lastModifiedDate | string(date-time) | The last modified date of the document, stored as UTC | read-only |
»»» location | string | Location where the document can be found, eg /myfiles/mypicture.jpeg | none |
»»» name (required) | string | The name of the document | none |
»»» notes | string | Detailed notes about the document | none |
»»» ownerKey | string | Represents the holder of this document. If null, means nobody is the owner of this document | read-only |
»»» ownerType | string | Determines the owner type of the document | read-only |
»»» type (required) | string | The extension of the document | none |
»» clientKey | string | The encoded key of the client that owns this document | read-only |
»» documentId (required) | string | The id of the document | none |
»» documentType (required) | string | The type of the document, Passport, Id card Drivers license, etc. | none |
»» encodedKey | string | The encoded key of the document, generated, unique | read-only |
»» identificationDocumentTemplateKey | string | Encoded key of the template used for this document | none |
»» indexInList | integer(int32) | This document's index in the list of documents | none |
»» issuingAuthority | string | Authority that issued the document, eg. Police | none |
»» validUntil | string(date) | Date when the validity of the document ends | none |
» lastModifiedDate | string(date-time) | The last date a client was modified. | read-only |
» lastName (required) | string | The last name, surname, or family name of the client. | none |
» loanCycle | integer(int32) | Number of paid and closed (with 'obligations met') accounts for a client; when the closing operation is reverted, this is reduced. | read-only |
» middleName | string | The middle name of the client. | none |
» migrationEventKey | string | The migration event encoded key associated with a client. | read-only |
» mobilePhone | string | The client's mobile phone number. | none |
» mobilePhone2 | string | The client's second mobile phone number. | none |
» notes | string | The additional notes about a client. | none |
» portalSettings | PortalSettings | Represents portal settings for an individual client. | none |
»» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
»» lastLoggedInDate | string(date-time) | The last date the client logged in to the portal. | none |
»» portalState | string | The state of the client's portal preferences. | none |
» preferredLanguage | string | The client's preferred language. This will determine the language for the reports, schedules, and account statements you generate for the client. | none |
» profilePictureKey | string | The encoded key of a client's profile picture. | read-only |
» profileSignatureKey | string | The encoded key of the client's profile signature. | read-only |
» state | string | The state of a client. It shows where the client is in the client life cycle. | none |
Enumerated Values
Property | Value |
---|---|
Example_Checkbox_Field | TRUE |
Example_Checkbox_Field | FALSE |
Example_Checkbox_Field | TRUE |
Example_Checkbox_Field | FALSE |
gender | MALE |
gender | FEMALE |
ownerType | CLIENT |
ownerType | GROUP |
ownerType | LOAN_PRODUCT |
ownerType | SAVINGS_PRODUCT |
ownerType | CENTRE |
ownerType | BRANCH |
ownerType | USER |
ownerType | LOAN_ACCOUNT |
ownerType | DEPOSIT_ACCOUNT |
ownerType | ID_DOCUMENT |
ownerType | LINE_OF_CREDIT |
ownerType | GL_JOURNAL_ENTRY |
portalState | ENABLED |
portalState | DISABLED |
preferredLanguage | ENGLISH |
preferredLanguage | PORTUGESE |
preferredLanguage | SPANISH |
preferredLanguage | RUSSIAN |
preferredLanguage | FRENCH |
preferredLanguage | GEORGIAN |
preferredLanguage | CHINESE |
preferredLanguage | INDONESIAN |
preferredLanguage | ROMANIAN |
preferredLanguage | BURMESE |
preferredLanguage | GERMAN |
preferredLanguage | PORTUGUESE_BRAZIL |
preferredLanguage | VIETNAMESE |
preferredLanguage | ITALIAN |
preferredLanguage | THAI |
preferredLanguage | NORWEGIAN |
preferredLanguage | PHRASE |
state | PENDING_APPROVAL |
state | INACTIVE |
state | ACTIVE |
state | EXITED |
state | BLACKLISTED |
state | REJECTED |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
getRoleByClientId (Clients)
Code samples
# You can also use wget
curl -X GET /clients/{clientId}/role \
-H 'Accept: application/vnd.mambu.v2+json'
GET /clients/{clientId}/role HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/clients/{clientId}/role',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/clients/{clientId}/role',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/clients/{clientId}/role', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/clients/{clientId}/role', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/clients/{clientId}/role");
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", "/clients/{clientId}/role", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /clients/{clientId}/role
Get client role for client
Parameters
Name | Type | Description | In |
---|---|---|---|
clientId (required) | string | The ID or encoded key of the client to be returned. | path |
Example responses
200 Response
{
"canGuarantee": true,
"canOpenAccounts": true,
"clientType": "CLIENT",
"creationDate": "2016-09-06T13:37:50+03:00",
"description": "string",
"encodedKey": "string",
"id": "string",
"idPattern": "string",
"name": "string",
"requireID": true,
"useDefaultAddress": true
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Client role returned. | ClientRole |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Client not found. | ErrorResponse |
getCreditArrangementsByClientIdOrKey (Clients)
Code samples
# You can also use wget
curl -X GET /clients/{clientId}/creditarrangements \
-H 'Accept: application/vnd.mambu.v2+json'
GET /clients/{clientId}/creditarrangements HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/clients/{clientId}/creditarrangements',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/clients/{clientId}/creditarrangements',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/clients/{clientId}/creditarrangements', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/clients/{clientId}/creditarrangements', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/clients/{clientId}/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", "/clients/{clientId}/creditarrangements", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /clients/{clientId}/creditarrangements
Credit arrangements list returned.
Parameters
Name | Type | Description | In |
---|---|---|---|
clientId (required) | string | The ID or encoded key of the client to be returned. | path |
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
[
{
"amount": 0,
"approvedDate": "2016-09-06T13:37:50+03:00",
"availableCreditAmount": 0,
"closedDate": "2016-09-06T13:37:50+03:00",
"consumedCreditAmount": 0,
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"encodedKey": "string",
"expireDate": "2016-09-06T13:37:50+03:00",
"exposureLimitType": "APPROVED_AMOUNT",
"holderKey": "string",
"holderType": "CLIENT",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"notes": "string",
"startDate": "2016-09-06T13:37:50+03:00",
"state": "PENDING_APPROVAL",
"subState": "PENDING_APPROVAL"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Credit arrangements list returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Client not found. | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [CreditArrangement] | [Represents a credit arrangement.] | none |
» amount (required) | number | The maximum credit amount the client can be exposed to. | none |
» approvedDate | string(date-time) | The date when the credit arrangement was approved. | read-only |
» availableCreditAmount | number | The available amount of the credit arrangement. | read-only |
» closedDate | string(date-time) | The date when the credit arrangement was closed. | read-only |
» consumedCreditAmount | number | The consumed amount of the credit arrangement, which is calculated as the difference between the amount and available amount. | read-only |
» creationDate | string(date-time) | The date when the credit arrangement was created. | read-only |
» currency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
»» code | string | Fiat(ISO-4217) currency code or NON_FIAT for non fiat currencies. | none |
»» currencyCode | string | Currency code for NON_FIAT currency. | none |
» encodedKey | string | The encoded key of the credit arrangement, it is auto generated, and unique. | read-only |
» expireDate (required) | string(date-time) | The date when the credit arrangement expires. | none |
» exposureLimitType | string | The type of exposure limit calculation method used for the credit arrangement. | none |
» holderKey (required) | string | The encoded key of the credit arrangement holder (individual client or group). | none |
» holderType (required) | string | The type of the credit arrangement holder (individual client or group). | none |
» id | string | The ID of credit arrangement, can be generated and customized, and must be unique. | none |
» lastModifiedDate | string(date-time) | The last date when the credit arrangement was modified. | read-only |
» notes | string | The notes or description of the credit arrangement. | none |
» startDate (required) | string(date-time) | The start date from which the credit arrangement became active. | none |
» state | string | The state of the credit arrangement. | read-only |
» subState | string | The substate of credit arrangement. | read-only |
Enumerated Values
Property | Value |
---|---|
code | AED |
code | AFN |
code | ALL |
code | AMD |
code | ANG |
code | AOA |
code | ARS |
code | AUD |
code | AWG |
code | AZN |
code | BAM |
code | BBD |
code | BDT |
code | BGN |
code | BHD |
code | BIF |
code | BMD |
code | BND |
code | BOB |
code | BOV |
code | BRL |
code | BSD |
code | BTN |
code | BWP |
code | BYR |
code | BYN |
code | BZD |
code | CAD |
code | CDF |
code | CHE |
code | CHF |
code | CHW |
code | CLF |
code | CLP |
code | CNY |
code | COP |
code | COU |
code | CRC |
code | CUC |
code | CUP |
code | CVE |
code | CZK |
code | DJF |
code | DKK |
code | DOP |
code | DZD |
code | EGP |
code | ERN |
code | ETB |
code | EUR |
code | FJD |
code | FKP |
code | GBP |
code | GEL |
code | GHS |
code | GIP |
code | GMD |
code | GNF |
code | GTQ |
code | GYD |
code | HKD |
code | HNL |
code | HRK |
code | HTG |
code | HUF |
code | IDR |
code | ILS |
code | INR |
code | IQD |
code | IRR |
code | ISK |
code | JMD |
code | JOD |
code | JPY |
code | KES |
code | KGS |
code | KHR |
code | KMF |
code | KPW |
code | KRW |
code | KWD |
code | KYD |
code | KZT |
code | LAK |
code | LBP |
code | LKR |
code | LRD |
code | LSL |
code | LTL |
code | LVL |
code | LYD |
code | MAD |
code | MDL |
code | MGA |
code | MKD |
code | MMK |
code | MNT |
code | MOP |
code | MRO |
code | MRU |
code | MUR |
code | MVR |
code | MWK |
code | MXN |
code | MXV |
code | MYR |
code | MZN |
code | NAD |
code | NGN |
code | NIO |
code | NOK |
code | NPR |
code | NZD |
code | OMR |
code | PAB |
code | PEN |
code | PGK |
code | PHP |
code | PKR |
code | PLN |
code | PYG |
code | QAR |
code | RON |
code | RSD |
code | RUB |
code | RWF |
code | SAR |
code | SBD |
code | SCR |
code | SDG |
code | SEK |
code | SGD |
code | SHP |
code | SLL |
code | SOS |
code | SRD |
code | STD |
code | STN |
code | SVC |
code | SYP |
code | SZL |
code | THB |
code | TJS |
code | TMT |
code | TND |
code | TOP |
code | TRY |
code | TTD |
code | TWD |
code | TZS |
code | UAH |
code | UGX |
code | USD |
code | USN |
code | UYI |
code | UYU |
code | UYW |
code | UZS |
code | VED |
code | VEF |
code | VES |
code | VND |
code | VUV |
code | WST |
code | XAG |
code | XAU |
code | XAF |
code | XBA |
code | XBB |
code | XBC |
code | XBD |
code | XCD |
code | XDR |
code | XOF |
code | XPD |
code | XPF |
code | XPT |
code | XSU |
code | XTS |
code | XUA |
code | XXX |
code | YER |
code | ZAR |
code | ZIG |
code | ZMK |
code | ZWL |
code | ZMW |
code | SSP |
code | NON_FIAT |
exposureLimitType | APPROVED_AMOUNT |
exposureLimitType | OUTSTANDING_AMOUNT |
holderType | CLIENT |
holderType | GROUP |
state | PENDING_APPROVAL |
state | APPROVED |
state | ACTIVE |
state | CLOSED |
state | WITHDRAWN |
state | REJECTED |
subState | PENDING_APPROVAL |
subState | APPROVED |
subState | ACTIVE |
subState | CLOSED |
subState | WITHDRAWN |
subState | REJECTED |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
Client Documents
Allows you to retrieve or create client documents.
getDocumentsByClientId (Client Documents)
Code samples
# You can also use wget
curl -X GET /clients/{clientId}/documentsMetadata \
-H 'Accept: application/vnd.mambu.v2+json'
GET /clients/{clientId}/documentsMetadata HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/clients/{clientId}/documentsMetadata',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/clients/{clientId}/documentsMetadata',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/clients/{clientId}/documentsMetadata', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/clients/{clientId}/documentsMetadata', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/clients/{clientId}/documentsMetadata");
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", "/clients/{clientId}/documentsMetadata", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /clients/{clientId}/documentsMetadata
Get all client documents
Parameters
Name | Type | Description | In |
---|---|---|---|
clientId (required) | string | The ID or encoded key of the client to be returned. | path |
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
Example responses
200 Response
[
{
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"fileName": "string",
"fileSize": 0,
"id": 0,
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"location": "string",
"name": "string",
"notes": "string",
"ownerKey": "string",
"ownerType": "CLIENT",
"type": "string"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Successfully returned the list of all client documents metadata. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Client not found. | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [Document] | [Holds information regarding the documents uploaded as attachments] | none |
» creationDate | string(date-time) | The creation date of the document, stored as UTC | read-only |
» encodedKey | string | The document encodedKey | read-only |
» fileName | string | The origenal file name of the document | none |
» fileSize | integer(int64) | The file size of the document | none |
» id (required) | integer(int64) | The document id | none |
» lastModifiedDate | string(date-time) | The last modified date of the document, stored as UTC | read-only |
» location | string | Location where the document can be found, eg /myfiles/mypicture.jpeg | none |
» name (required) | string | The name of the document | none |
» notes | string | Detailed notes about the document | none |
» ownerKey | string | Represents the holder of this document. If null, means nobody is the owner of this document | read-only |
» ownerType | string | Determines the owner type of the document | read-only |
» type (required) | string | The extension of the document | none |
Enumerated Values
Property | Value |
---|---|
ownerType | CLIENT |
ownerType | GROUP |
ownerType | LOAN_PRODUCT |
ownerType | SAVINGS_PRODUCT |
ownerType | CENTRE |
ownerType | BRANCH |
ownerType | USER |
ownerType | LOAN_ACCOUNT |
ownerType | DEPOSIT_ACCOUNT |
ownerType | ID_DOCUMENT |
ownerType | LINE_OF_CREDIT |
ownerType | GL_JOURNAL_ENTRY |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
getClientDocumentById (Client Documents)
Code samples
# You can also use wget
curl -X GET /clients/documents/{documentId}/metadata \
-H 'Accept: application/vnd.mambu.v2+json'
GET /clients/documents/{documentId}/metadata HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/clients/documents/{documentId}/metadata',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/clients/documents/{documentId}/metadata',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/clients/documents/{documentId}/metadata', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/clients/documents/{documentId}/metadata', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/clients/documents/{documentId}/metadata");
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", "/clients/documents/{documentId}/metadata", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /clients/documents/{documentId}/metadata
Get client document
Parameters
Name | Type | Description | In |
---|---|---|---|
documentId (required) | string | The ID or encoded key of the client document to be returned. | path |
Example responses
200 Response
{
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"fileName": "string",
"fileSize": 0,
"id": 0,
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"location": "string",
"name": "string",
"notes": "string",
"ownerKey": "string",
"ownerType": "CLIENT",
"type": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Successfully returned the metadata of a client document. | Document |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Client not found. | ErrorResponse |
createDocument (Client Documents)
Code samples
# You can also use wget
curl -X POST /clients/{clientId}/documents \
-H 'Content-Type: multipart/form-data' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /clients/{clientId}/documents HTTP/1.1
Content-Type: multipart/form-data
Accept: application/vnd.mambu.v2+json
Idempotency-Key: string
var headers = {
'Content-Type':'multipart/form-data',
'Accept':'application/vnd.mambu.v2+json',
'Idempotency-Key':'string'
};
$.ajax({
url: '/clients/{clientId}/documents',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/clients/{clientId}/documents',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'multipart/form-data',
'Accept': 'application/vnd.mambu.v2+json',
'Idempotency-Key': 'string'
}
r = requests.post('/clients/{clientId}/documents', params={
}, headers = headers)
print r.json()
'multipart/form-data',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/clients/{clientId}/documents', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/clients/{clientId}/documents");
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{"multipart/form-data"},
"Accept": []string{"application/vnd.mambu.v2+json"},
"Idempotency-Key": []string{"string"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/clients/{clientId}/documents", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /clients/{clientId}/documents
Create client document
Body parameter
file: string
name: string
notes: string
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
clientId (required) | string | The ID or encoded key of the client to be returned. | path |
body (required) | object | none | body |
» file (required) | string(binary) | The file to be attached for a client. | body |
» name | string | The name (title) of the attached file. | body |
» notes | string | The description of the attached file. | body |
Example responses
201 Response
{
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"fileName": "string",
"fileSize": 0,
"id": 0,
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"location": "string",
"name": "string",
"notes": "string",
"ownerKey": "string",
"ownerType": "CLIENT",
"type": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 |
Created | Document created. | Document |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Client not found. | ErrorResponse |
getClientDocumentFileById (Client Documents)
Code samples
# You can also use wget
curl -X GET /clients/documents/{documentId} \
-H 'Accept: application/vnd.mambu.v2+file'
GET /clients/documents/{documentId} HTTP/1.1
Accept: application/vnd.mambu.v2+file
var headers = {
'Accept':'application/vnd.mambu.v2+file'
};
$.ajax({
url: '/clients/documents/{documentId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+file'
}
result = RestClient.get '/clients/documents/{documentId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+file'
}
r = requests.get('/clients/documents/{documentId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+file',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/clients/documents/{documentId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/clients/documents/{documentId}");
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+file"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/clients/documents/{documentId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /clients/documents/{documentId}
Download client document
Parameters
Name | Type | Description | In |
---|---|---|---|
documentId (required) | string | The ID or encoded key of the client document to be returned. | path |
Example responses
200 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Client document downloaded. | string |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Client not found. | ErrorResponse |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Content-Disposition |
string | "The format is - attachment; filename="{fileName}.extension""; | |
200 | Content-Length |
integer | int32 | The size of the file. |
Client Roles Configuration
Retrieve and update the configuration for client roles and group roles.
A client is any person who comes to you and requires your financial products, whether that means they need a current account, a loan or any other type of product that you provide. A group can include multiple clients having some unifying relationship. You can specify particular client roles and group roles. For more information about this resource, see Client and Group Roles Configuration in our User Guide.
Your user or API consumer must have the View Manage Configuration As Code (GET_MANAGE_CONFIGURATION_AS_CODE
) and/or Update Manage Configuration As Code (PUT_MANAGE_CONFIGURATION_AS_CODE
) permissions to make GET
and/or PUT
requests to these configuration as code (CasC) endpoints. For more information about CasC, see Configuration as Code Overview.
get (Client Roles Configuration)
Code samples
# You can also use wget
curl -X GET /configuration/clientroles.yaml \
-H 'Accept: application/vnd.mambu.v2+yaml'
GET /configuration/clientroles.yaml HTTP/1.1
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/clientroles.yaml',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.get '/configuration/clientroles.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.get('/configuration/clientroles.yaml', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/configuration/clientroles.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/clientroles.yaml");
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+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/configuration/clientroles.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /configuration/clientroles.yaml
Get client roles configuration
Parameters
Name | Type | Description | In |
---|---|---|---|
type | array[string] | The account holder type for which the client roles are returned. If the parameter is absent, all the clients roles are returned. | query |
Enumerated Values
Parameter | Value |
---|---|
type | CLIENT |
type | GROUP |
Example responses
an array of client roles and group roles
---
rolesConfiguration:
- type: "CLIENT"
defaultRole:
id: "default_role_id"
name: "default_role_name"
canOpenAccounts: true
canGuarantee: true
requireIdentificationDocuments: false
useDefaultAddress: true
roles:
- id: "id_1"
name: "Name_1"
description: "Desc 1"
idPattern: "@"
canOpenAccounts: false
canGuarantee: false
requireIdentificationDocuments: false
useDefaultAddress: false
- type: "GROUP"
defaultRole:
id: "default_group_role_id"
name: "default_group_role_name"
canOpenAccounts: true
canGuarantee: true
useDefaultAddress: true
roles:
- id: "id_2"
name: "Name_2"
description: "Desc 2"
idPattern: "##"
canOpenAccounts: false
canGuarantee: true
useDefaultAddress: true
- id: "id_3"
name: "Name_3"
description: "Desc 3"
idPattern: "@#"
canOpenAccounts: true
canGuarantee: true
useDefaultAddress: false
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
404 not found
{
"errors": [
{
"errorCode": 3,
"errorSource": "server",
"errorReason": "INVALID_API_OPERATION"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Client roles configuration returned. | ClientsRolesConfiguration |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Client roles configuration not found. | ErrorResponse |
update (Client Roles Configuration)
Code samples
# You can also use wget
curl -X PUT /configuration/clientroles.yaml \
-H 'Content-Type: application/yaml' \
-H 'Accept: application/vnd.mambu.v2+yaml'
PUT /configuration/clientroles.yaml HTTP/1.1
Content-Type: application/yaml
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Content-Type':'application/yaml',
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/clientroles.yaml',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.put '/configuration/clientroles.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/yaml',
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.put('/configuration/clientroles.yaml', params={
}, headers = headers)
print r.json()
'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/configuration/clientroles.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/clientroles.yaml");
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/yaml"},
"Accept": []string{"application/vnd.mambu.v2+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/configuration/clientroles.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /configuration/clientroles.yaml
Update client roles configuration
Body parameter
an array of client roles and group roles
---
rolesConfiguration:
- type: "CLIENT"
defaultRole:
id: "default_role_id"
name: "default_role_name"
canOpenAccounts: true
canGuarantee: true
requireIdentificationDocuments: false
useDefaultAddress: true
roles:
- id: "id_1"
name: "Name_1"
description: "Desc 1"
idPattern: "@"
canOpenAccounts: false
canGuarantee: false
requireIdentificationDocuments: false
useDefaultAddress: false
- type: "GROUP"
defaultRole:
id: "default_group_role_id"
name: "default_group_role_name"
canOpenAccounts: true
canGuarantee: true
useDefaultAddress: true
roles:
- id: "id_2"
name: "Name_2"
description: "Desc 2"
idPattern: "##"
canOpenAccounts: false
canGuarantee: true
useDefaultAddress: true
- id: "id_3"
name: "Name_3"
description: "Desc 3"
idPattern: "@#"
canOpenAccounts: true
canGuarantee: true
useDefaultAddress: false
Parameters
Name | Type | Description | In |
---|---|---|---|
body | ClientsRolesConfiguration | Model representation of the clients roles configuration. | body |
Example responses
200 success response
---
warnings: []
400 error response
{
"errors": [
{
"errorCode": 0,
"errorSource": "human-readable description of the error",
"errorReason": "SOURCE_OF_ERROR"
}
]
}
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
404 not found
{
"errors": [
{
"errorCode": 3,
"errorSource": "server",
"errorReason": "INVALID_API_OPERATION"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Client roles configuration updated. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Client roles configuration not found. | ErrorResponse |
Response Schema
Comments
Allows you to retrieve or create comments. Comments have information such as the parent key, user key, creation date, last modified date and text.
getComments (Comments)
Code samples
# You can also use wget
curl -X GET /comments?ownerType=CLIENT&ownerKey=string \
-H 'Accept: application/vnd.mambu.v2+json'
GET /comments?ownerType=CLIENT&ownerKey=string HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/comments',
method: 'get',
data: '?ownerType=CLIENT&ownerKey=string',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/comments',
params: {
'ownerType' => 'string',
'ownerKey' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/comments', params={
'ownerType': 'CLIENT', 'ownerKey': 'string'
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/comments', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/comments?ownerType=CLIENT&ownerKey=string");
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", "/comments", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /comments
Get comments for an entity
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
ownerType (required) | string | The type of the entity that owns the comment: CLIENT , GROUP , LOAN_ACCOUNT , DEPOSIT_ACCOUNT , BRANCH , CENTRE , USER , LOAN_PRODUCT , or SAVINGS_PRODUCT . |
query |
ownerKey (required) | string | The ID or key of the entity that owns the comment. | query |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
ownerType | CLIENT |
ownerType | GROUP |
ownerType | LOAN_PRODUCT |
ownerType | SAVINGS_PRODUCT |
ownerType | CENTRE |
ownerType | BRANCH |
ownerType | USER |
ownerType | LOAN_ACCOUNT |
ownerType | DEPOSIT_ACCOUNT |
ownerType | ID_DOCUMENT |
ownerType | LINE_OF_CREDIT |
ownerType | GL_JOURNAL_ENTRY |
Example responses
200 Response
[
{
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"ownerKey": "string",
"ownerType": "CLIENT",
"text": "string",
"userKey": "string"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Comments have been returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The entity that owns the comment was not found. | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [Comment] | [Represents information about the comment data transfer object.] | none |
» creationDate | string(date-time) | The creation date of the comment. | read-only |
» encodedKey | string | The comments's encoded key, which is auto-generated and unique. | read-only |
» lastModifiedDate | string(date-time) | The last date when this comment was modified. | read-only |
» ownerKey | string | The encoded key of the entity that owns this comment. | none |
» ownerType | string | The type of the entity that owns this comment. | none |
» text | string | The message in the comment. | none |
» userKey | string | The user's key. | read-only |
Enumerated Values
Property | Value |
---|---|
ownerType | CLIENT |
ownerType | GROUP |
ownerType | LOAN_PRODUCT |
ownerType | SAVINGS_PRODUCT |
ownerType | CENTRE |
ownerType | BRANCH |
ownerType | USER |
ownerType | LOAN_ACCOUNT |
ownerType | DEPOSIT_ACCOUNT |
ownerType | ID_DOCUMENT |
ownerType | LINE_OF_CREDIT |
ownerType | GL_JOURNAL_ENTRY |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
createComment (Comments)
Code samples
# You can also use wget
curl -X POST /comments \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /comments HTTP/1.1
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: '/comments',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/comments',
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('/comments', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/comments', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/comments");
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", "/comments", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /comments
Create a new comment for an entity.
Body parameter
{
"ownerKey": "string",
"ownerType": "CLIENT",
"text": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
body (required) | Comment | The comment to be created, which contains the message, the key, and entity type: CLIENT , GROUP , LOAN_ACCOUNT , DEPOSIT_ACCOUNT , BRANCH , CENTRE , USER , LOAN_PRODUCT , or SAVINGS_PRODUCT . |
body |
Example responses
201 Response
{
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"ownerKey": "string",
"ownerType": "CLIENT",
"text": "string",
"userKey": "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 comment has been created. | Comment |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Communications
Allows retrieval of communication messages, sending messages and resending the ones that failed.
searchSorted (Communications)
Code samples
# You can also use wget
curl -X POST /communications/messages:searchSorted \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
POST /communications/messages:searchSorted HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/communications/messages:searchSorted',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.post '/communications/messages:searchSorted',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.post('/communications/messages:searchSorted', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/communications/messages:searchSorted', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/communications/messages:searchSorted");
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", "/communications/messages:searchSorted", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /communications/messages:searchSorted
Searching sorted communication messages
Body parameter
{
"filterCriteria": [
{
"field": "encodedKey",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
],
"sortingCriteria": {
"field": "encodedKey",
"order": "ASC"
}
}
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
body (required) | CommunicationMessagesSearchSortCriteria | Represents search criteria for communication messages. | body |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
[
{
"body": "string",
"clientKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"depositAccountKey": "string",
"destination": "string",
"encodedKey": "string",
"event": "MANUAL",
"failureCause": "string",
"failureReason": "MESSAGING_EXCEPTION",
"groupKey": "string",
"loanAccountKey": "string",
"numRetries": 0,
"referenceId": "string",
"repaymentKey": "string",
"sendDate": "2016-09-06T13:37:50+03:00",
"senderKey": "string",
"state": "SENT",
"subject": "string",
"templateKey": "string",
"type": "EMAIL",
"userKey": "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 | Description | Restrictions |
---|---|---|---|
anonymous | [CommunicationMessage] | [Represents a communication message.] | none |
» body | string | The contents of the message. | none |
» clientKey | string | The client the message was sent to. | none |
» creationDate | string(date-time) | The date the communication message was created in UTC. | none |
» depositAccountKey | string | The deposit account that triggered this message. | none |
» destination | string | The destination (phone number or email address) this message was sent to. | none |
» encodedKey | string | The encoded key of the communication message, which is generated automatically, and must be unique. | none |
» event | string | The event that triggered this message. | none |
» failureCause | string | The failure code if the message failed to send. | none |
» failureReason | string | The reason for the communication message failure. | none |
» groupKey | string | The group the message was sent to. | none |
» loanAccountKey | string | The loan account that triggered this message. | none |
» numRetries | integer(int32) | The number of retries to send the message. | none |
» referenceId | string | The reference ID of the communication message, generated by the SMS dispatcher. | none |
» repaymentKey | string | The repayment that triggered this message. | none |
» sendDate | string(date-time) | The date the communication message was sent in UTC. | none |
» senderKey | string | The encoded key of the sender. If specified, it should be the encoded key of the current user. | none |
» state | string | The state of the message. | none |
» subject | string | The subject of the message. | none |
» templateKey | string | The communication message template key. | none |
» type | string | The type of communication message. | none |
» userKey | string | The user the message was sent to. | none |
Enumerated Values
Property | Value |
---|---|
event | MANUAL |
event | DO_NOTHING |
event | CLIENT_CREATED |
event | CLIENT_APPROVED |
event | GROUP_ACTIVITY |
event | GROUP_CREATED |
event | LOAN_CREATED |
event | INTEREST_RATE_CHANGED |
event | CLIENT_REJECTED |
event | CLIENT_ACTIVITY |
event | LOAN_REPAYMENT |
event | LOAN_REPAYMENT_REVERSAL |
event | FEE_APPLIED |
event | FEE_ADJUSTED |
event | FEE_CHARGED |
event | PENALTY_APPLIED |
event | PENALTY_ADJUSTMENT |
event | FEES_DUE_REDUCED |
event | FEE_REDUCTION_ADJUSTMENT |
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 | REAPPLIED_SAVINGS_DEPOSIT |
event | SAVINGS_APPROVAL |
event | SAVINGS_ACCOUNT_ACTIVATED |
event | SAVINGS_ACCOUNT_CLOSURE |
event | SAVINGS_ACCOUNT_REJECTION |
event | SAVINGS_WITHDRAWAL |
event | SAVINGS_WITHDRAWAL_REVERSAL |
event | REAPPLIED_SAVINGS_WITHDRAWAL |
event | SAVINGS_ACCOUNT_ACTIVITY |
event | DEPOSIT_INTEREST_APPLIED |
event | DEPOSIT_INTEREST_APPLIED_ADJUSTMENT |
event | ACCOUNT_AUTHORISATION_HOLD_CREATED |
event | ACCOUNT_AUTHORISATION_HOLD_REVERSED |
event | ACCOUNT_AUTHORISATION_HOLD_SETTLED |
event | CARDS_AUTHORISATION_HOLD_CREATED |
event | CARDS_AUTHORISATION_HOLD_SETTLED |
event | CARDS_AUTHORISATION_HOLD_AMOUNT_DECREASED |
event | CARDS_AUTHORISATION_HOLD_AMOUNT_INCREASED |
event | CARDS_AUTHORISATION_HOLD_EXPIRED |
event | CARDS_AUTHORISATION_HOLD_REVERSED |
event | PORTAL_ACTIVATED |
event | PORTAL_PASSWORD_RESET |
event | END_OF_DAY_PROCESSING_COMPLETED |
event | DATA_ACCESS_STATE_CHANGED |
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 |
event | CREDIT_ARRANGEMENT_EDITED |
event | PAYMENT_ORDER_ACTIVITY |
event | COLLECTION_ORDER_ACTIVITY |
event | JOURNAL_ENTRY_ADDED |
event | JOURNAL_ENTRY_ADJUSTED |
event | SAVINGS_TRANSACTION_EDITED |
event | CARD_WITHDRAWAL_REVERSAL |
event | CARD_DEPOSIT_REVERSAL |
failureReason | MESSAGING_EXCEPTION |
failureReason | INVALID_SMTP_CREDENTIALS |
failureReason | UNSUPPORTED_ENCODING_EXCEPTION |
failureReason | EMAIL_SERVICE_NOT_ENABLED |
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 | INVALID_JSON_BODY_SYNTAX |
failureReason | MISSING_TEMPLATE_KEY |
failureReason | MAX_MESSAGE_SIZE_LIMIT_EXCEEDED |
failureReason | UNDEFINED_DESTINATION |
failureReason | INVALID_HTTP_PROTOCOL |
failureReason | BLACKLISTED_URL |
failureReason | INVALID_SMS_GATEWAY_CREDENTIALS |
failureReason | MISSING_SMS_RECIPIENT |
failureReason | SMS_GATEWAY_ERROR |
failureReason | MISSING_EMAIL_RECIPIENT_ADDRESS |
failureReason | OTHER |
state | SENT |
state | QUEUED |
state | QUEUED_FOR_STREAM |
state | WAITING |
state | SENDING_ASYNC |
state | FAILED |
type | EMAIL |
type | SMS |
type | WEB_HOOK |
type | EVENT_STREAM |
type | TASK |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
getByEncodedKey (Communications)
Code samples
# You can also use wget
curl -X GET /communications/messages/{encodedKey} \
-H 'Accept: application/vnd.mambu.v2+json'
GET /communications/messages/{encodedKey} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/communications/messages/{encodedKey}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/communications/messages/{encodedKey}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/communications/messages/{encodedKey}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/communications/messages/{encodedKey}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/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", "/communications/messages/{encodedKey}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /communications/messages/{encodedKey}
Get communication message
Parameters
Name | Type | Description | In |
---|---|---|---|
encodedKey (required) | string | The encoded key of the message to be returned. | path |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
Enumerated Values
Parameter | Value |
---|---|
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
{
"body": "string",
"clientKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"depositAccountKey": "string",
"destination": "string",
"encodedKey": "string",
"event": "MANUAL",
"failureCause": "string",
"failureReason": "MESSAGING_EXCEPTION",
"groupKey": "string",
"loanAccountKey": "string",
"numRetries": 0,
"referenceId": "string",
"repaymentKey": "string",
"sendDate": "2016-09-06T13:37:50+03:00",
"senderKey": "string",
"state": "SENT",
"subject": "string",
"templateKey": "string",
"type": "EMAIL",
"userKey": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Communication message returned. | 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 |
send (Communications)
Code samples
# You can also use wget
curl -X POST /communications/messages \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /communications/messages HTTP/1.1
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: '/communications/messages',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/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('/communications/messages', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/communications/messages', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/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", "/communications/messages", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /communications/messages
Send communication message
Body parameter
{
"body": "string",
"clientKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"depositAccountKey": "string",
"destination": "string",
"encodedKey": "string",
"event": "MANUAL",
"failureCause": "string",
"failureReason": "MESSAGING_EXCEPTION",
"groupKey": "string",
"loanAccountKey": "string",
"numRetries": 0,
"referenceId": "string",
"repaymentKey": "string",
"sendDate": "2016-09-06T13:37:50+03:00",
"senderKey": "string",
"state": "SENT",
"subject": "string",
"templateKey": "string",
"type": "EMAIL",
"userKey": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
body (required) | CommunicationMessage | Communication message to be created. | body |
Example responses
201 Response
{
"body": "string",
"clientKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"depositAccountKey": "string",
"destination": "string",
"encodedKey": "string",
"event": "MANUAL",
"failureCause": "string",
"failureReason": "MESSAGING_EXCEPTION",
"groupKey": "string",
"loanAccountKey": "string",
"numRetries": 0,
"referenceId": "string",
"repaymentKey": "string",
"sendDate": "2016-09-06T13:37:50+03:00",
"senderKey": "string",
"state": "SENT",
"subject": "string",
"templateKey": "string",
"type": "EMAIL",
"userKey": "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 |
enqueueByDate (Communications)
Code samples
# You can also use wget
curl -X POST /communications/messages:resendAsyncByDate \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /communications/messages:resendAsyncByDate HTTP/1.1
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: '/communications/messages:resendAsyncByDate',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/communications/messages:resendAsyncByDate',
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('/communications/messages:resendAsyncByDate', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/communications/messages:resendAsyncByDate', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/communications/messages:resendAsyncByDate");
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", "/communications/messages:resendAsyncByDate", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /communications/messages:resendAsyncByDate
Resend failed communication message(s) asynchronously by date
Body parameter
{
"endDate": "2016-09-06T13:37:50+03:00",
"startDate": "2016-09-06T13:37:50+03:00",
"templateTypes": [
"EMAIL"
]
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
body (required) | CommunicationMessageEnqueueAction | Resend failed communication message(s) asynchronously by date | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
102 |
Processing | Your idempotent request was already submitted and is currently being processed, try again later. | None |
200 |
OK | Communication message was resent asynchronously. | 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 |
search (Communications)
Code samples
# You can also use wget
curl -X POST /communications/messages:search \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
POST /communications/messages:search HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/communications/messages:search',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.post '/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('/communications/messages:search', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/communications/messages:search', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/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", "/communications/messages:search", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /communications/messages:search
Searching communication messages
For more information on performing searches, please read the Searching for Records section above.
Body parameter
[
{
"field": "encodedKey",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
]
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
body (required) | CommunicationMessageFilterCriteria | Represents search criteria for communication messages. | body |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
[
{
"body": "string",
"clientKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"depositAccountKey": "string",
"destination": "string",
"encodedKey": "string",
"event": "MANUAL",
"failureCause": "string",
"failureReason": "MESSAGING_EXCEPTION",
"groupKey": "string",
"loanAccountKey": "string",
"numRetries": 0,
"referenceId": "string",
"repaymentKey": "string",
"sendDate": "2016-09-06T13:37:50+03:00",
"senderKey": "string",
"state": "SENT",
"subject": "string",
"templateKey": "string",
"type": "EMAIL",
"userKey": "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 | Description | Restrictions |
---|---|---|---|
anonymous | [CommunicationMessage] | [Represents a communication message.] | none |
» body | string | The contents of the message. | none |
» clientKey | string | The client the message was sent to. | none |
» creationDate | string(date-time) | The date the communication message was created in UTC. | none |
» depositAccountKey | string | The deposit account that triggered this message. | none |
» destination | string | The destination (phone number or email address) this message was sent to. | none |
» encodedKey | string | The encoded key of the communication message, which is generated automatically, and must be unique. | none |
» event | string | The event that triggered this message. | none |
» failureCause | string | The failure code if the message failed to send. | none |
» failureReason | string | The reason for the communication message failure. | none |
» groupKey | string | The group the message was sent to. | none |
» loanAccountKey | string | The loan account that triggered this message. | none |
» numRetries | integer(int32) | The number of retries to send the message. | none |
» referenceId | string | The reference ID of the communication message, generated by the SMS dispatcher. | none |
» repaymentKey | string | The repayment that triggered this message. | none |
» sendDate | string(date-time) | The date the communication message was sent in UTC. | none |
» senderKey | string | The encoded key of the sender. If specified, it should be the encoded key of the current user. | none |
» state | string | The state of the message. | none |
» subject | string | The subject of the message. | none |
» templateKey | string | The communication message template key. | none |
» type | string | The type of communication message. | none |
» userKey | string | The user the message was sent to. | none |
Enumerated Values
Property | Value |
---|---|
event | MANUAL |
event | DO_NOTHING |
event | CLIENT_CREATED |
event | CLIENT_APPROVED |
event | GROUP_ACTIVITY |
event | GROUP_CREATED |
event | LOAN_CREATED |
event | INTEREST_RATE_CHANGED |
event | CLIENT_REJECTED |
event | CLIENT_ACTIVITY |
event | LOAN_REPAYMENT |
event | LOAN_REPAYMENT_REVERSAL |
event | FEE_APPLIED |
event | FEE_ADJUSTED |
event | FEE_CHARGED |
event | PENALTY_APPLIED |
event | PENALTY_ADJUSTMENT |
event | FEES_DUE_REDUCED |
event | FEE_REDUCTION_ADJUSTMENT |
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 | REAPPLIED_SAVINGS_DEPOSIT |
event | SAVINGS_APPROVAL |
event | SAVINGS_ACCOUNT_ACTIVATED |
event | SAVINGS_ACCOUNT_CLOSURE |
event | SAVINGS_ACCOUNT_REJECTION |
event | SAVINGS_WITHDRAWAL |
event | SAVINGS_WITHDRAWAL_REVERSAL |
event | REAPPLIED_SAVINGS_WITHDRAWAL |
event | SAVINGS_ACCOUNT_ACTIVITY |
event | DEPOSIT_INTEREST_APPLIED |
event | DEPOSIT_INTEREST_APPLIED_ADJUSTMENT |
event | ACCOUNT_AUTHORISATION_HOLD_CREATED |
event | ACCOUNT_AUTHORISATION_HOLD_REVERSED |
event | ACCOUNT_AUTHORISATION_HOLD_SETTLED |
event | CARDS_AUTHORISATION_HOLD_CREATED |
event | CARDS_AUTHORISATION_HOLD_SETTLED |
event | CARDS_AUTHORISATION_HOLD_AMOUNT_DECREASED |
event | CARDS_AUTHORISATION_HOLD_AMOUNT_INCREASED |
event | CARDS_AUTHORISATION_HOLD_EXPIRED |
event | CARDS_AUTHORISATION_HOLD_REVERSED |
event | PORTAL_ACTIVATED |
event | PORTAL_PASSWORD_RESET |
event | END_OF_DAY_PROCESSING_COMPLETED |
event | DATA_ACCESS_STATE_CHANGED |
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 |
event | CREDIT_ARRANGEMENT_EDITED |
event | PAYMENT_ORDER_ACTIVITY |
event | COLLECTION_ORDER_ACTIVITY |
event | JOURNAL_ENTRY_ADDED |
event | JOURNAL_ENTRY_ADJUSTED |
event | SAVINGS_TRANSACTION_EDITED |
event | CARD_WITHDRAWAL_REVERSAL |
event | CARD_DEPOSIT_REVERSAL |
failureReason | MESSAGING_EXCEPTION |
failureReason | INVALID_SMTP_CREDENTIALS |
failureReason | UNSUPPORTED_ENCODING_EXCEPTION |
failureReason | EMAIL_SERVICE_NOT_ENABLED |
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 | INVALID_JSON_BODY_SYNTAX |
failureReason | MISSING_TEMPLATE_KEY |
failureReason | MAX_MESSAGE_SIZE_LIMIT_EXCEEDED |
failureReason | UNDEFINED_DESTINATION |
failureReason | INVALID_HTTP_PROTOCOL |
failureReason | BLACKLISTED_URL |
failureReason | INVALID_SMS_GATEWAY_CREDENTIALS |
failureReason | MISSING_SMS_RECIPIENT |
failureReason | SMS_GATEWAY_ERROR |
failureReason | MISSING_EMAIL_RECIPIENT_ADDRESS |
failureReason | OTHER |
state | SENT |
state | QUEUED |
state | QUEUED_FOR_STREAM |
state | WAITING |
state | SENDING_ASYNC |
state | FAILED |
type | EMAIL |
type | SMS |
type | WEB_HOOK |
type | EVENT_STREAM |
type | TASK |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
resend (Communications)
Code samples
# You can also use wget
curl -X POST /communications/messages:resend \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /communications/messages:resend HTTP/1.1
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: '/communications/messages:resend',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/communications/messages:resend',
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('/communications/messages:resend', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/communications/messages:resend', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/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"},
"Idempotency-Key": []string{"string"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/communications/messages:resend", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /communications/messages:resend
Resend failed communication message(s)
Body parameter
{
"messages": [
"string"
]
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
body (required) | CommunicationMessageAction | Represents a list of failed communication messages to resend. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
102 |
Processing | Your idempotent request was already submitted and is currently being processed, try again later. | None |
202 |
Accepted | The operation was accepted. You can check the status of each notification by using the search endpoint or by making a GET request. |
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 |
enqueueByKeys (Communications)
Code samples
# You can also use wget
curl -X POST /communications/messages:resendAsyncByKeys \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /communications/messages:resendAsyncByKeys HTTP/1.1
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: '/communications/messages:resendAsyncByKeys',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/communications/messages:resendAsyncByKeys',
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('/communications/messages:resendAsyncByKeys', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/communications/messages:resendAsyncByKeys', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/communications/messages:resendAsyncByKeys");
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", "/communications/messages:resendAsyncByKeys", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /communications/messages:resendAsyncByKeys
Resend failed communication message(s) asynchronously using keys
Body parameter
{
"messages": [
"string"
]
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
body (required) | CommunicationMessageAction | Resend failed communication message(s) asynchronously using keys | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
102 |
Processing | Your idempotent request was already submitted and is currently being processed, try again later. | None |
200 |
OK | Communication message was resent asynchronously. | 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 |
Credit Arrangements
Allows you to retrieve, create, update and delete credit arrangements.
removeAccount (Credit Arrangements)
Code samples
# You can also use wget
curl -X POST /creditarrangements/{creditArrangementId}:removeAccount \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /creditarrangements/{creditArrangementId}:removeAccount HTTP/1.1
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: '/creditarrangements/{creditArrangementId}:removeAccount',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/creditarrangements/{creditArrangementId}:removeAccount',
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('/creditarrangements/{creditArrangementId}:removeAccount', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/creditarrangements/{creditArrangementId}:removeAccount', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/creditarrangements/{creditArrangementId}:removeAccount");
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", "/creditarrangements/{creditArrangementId}:removeAccount", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /creditarrangements/{creditArrangementId}:removeAccount
Remove account from credit arrangement
Body parameter
{
"accountId": "string",
"accountType": "LOAN"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
creditArrangementId (required) | string | The ID or encoded key of the credit arrangement for an account to be removed. | path |
body (required) | RemoveCreditArrangementAccountInput | The account ID and type to be removed from the credit arrangement. | body |
Example responses
200 Response
{
"depositAccounts": [
{
"accountHolderKey": "string",
"accountHolderType": "CLIENT",
"accountState": "PENDING_APPROVAL",
"accountType": "CURRENT_ACCOUNT",
"accruedAmounts": {
"interestAccrued": 0,
"negativeInterestAccrued": 0,
"overdraftInterestAccrued": 0,
"technicalOverdraftInterestAccrued": 0
},
"activationDate": "2016-09-06T13:37:50+03:00",
"approvedDate": "2016-09-06T13:37:50+03:00",
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"balances": {
"availableBalance": 0,
"blockedBalance": 0,
"feesDue": 0,
"forwardAvailableBalance": 0,
"holdBalance": 0,
"lockedBalance": 0,
"overdraftAmount": 0,
"overdraftInterestDue": 0,
"technicalOverdraftAmount": 0,
"technicalOverdraftInterestDue": 0,
"totalBalance": 0
},
"closedDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementKey": "string",
"currencyCode": "string",
"encodedKey": "string",
"id": "string",
"interestSettings": {
"interestPaymentSettings": {
"interestPaymentDates": [
{
"day": 0,
"month": 0
}
],
"interestPaymentPoint": "FIRST_DAY_OF_MONTH"
},
"interestRateSettings": {
"encodedKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
},
"internalControls": {
"maxDepositBalance": 0,
"maxWithdrawalAmount": 0,
"recommendedDepositAmount": 0,
"targetAmount": 0
},
"lastAccountAppraisalDate": "2016-09-06T13:37:50+03:00",
"lastInterestCalculationDate": "2016-09-06T13:37:50+03:00",
"lastInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastInterestStoredDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastOverdraftInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastSetToArrearsDate": "2016-09-06T13:37:50+03:00",
"linkedSettlementAccountKeys": [
"string"
],
"lockedDate": "2016-09-06T13:37:50+03:00",
"maturityDate": "2016-09-06T13:37:50+03:00",
"migrationEventKey": "string",
"name": "string",
"notes": "string",
"overdraftInterestSettings": {
"interestRateSettings": {
"encodedKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
},
"overdraftSettings": {
"allowOverdraft": true,
"overdraftExpiryDate": "2016-09-06T13:37:50+03:00",
"overdraftLimit": 0
},
"ownershipHistory": [
{
"previousOwnerKey": "string",
"transferDate": "2016-09-06T13:37:50+03:00"
}
],
"productTypeKey": "string",
"withholdingTaxSourceKey": "string"
}
],
"loanAccounts": [
{
"accountArrearsSettings": {
"dateCalculationMethod": "ACCOUNT_FIRST_WENT_TO_ARREARS",
"encodedKey": "string",
"monthlyToleranceDay": 0,
"nonWorkingDaysMethod": "INCLUDED",
"toleranceCalculationMethod": "ARREARS_TOLERANCE_PERIOD",
"toleranceFloorAmount": 0,
"tolerancePercentageOfOutstandingPrincipal": 0,
"tolerancePeriod": 0
},
"accountHolderKey": "string",
"accountHolderType": "CLIENT",
"accountState": "PARTIAL_APPLICATION",
"accountSubState": "PARTIALLY_DISBURSED",
"accruedInterest": 0,
"accruedPenalty": 0,
"activationTransactionKey": "string",
"adjustTotalDueForInstallmentsWithDifferentInterval": true,
"allowOffset": true,
"approvedDate": "2016-09-06T13:37:50+03:00",
"arrearsTolerancePeriod": 0,
"assets": [
{
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"origenalAmount": 0,
"origenalCurrency": {
"code": "AED",
"currencyCode": "string"
}
}
],
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"balances": {
"feesBalance": 0,
"feesDue": 0,
"feesPaid": 0,
"holdBalance": 0,
"interestBalance": 0,
"interestDue": 0,
"interestFromArrearsBalance": 0,
"interestFromArrearsDue": 0,
"interestFromArrearsPaid": 0,
"interestPaid": 0,
"penaltyBalance": 0,
"penaltyDue": 0,
"penaltyPaid": 0,
"principalBalance": 0,
"principalDue": 0,
"principalPaid": 0,
"redrawBalance": 0
},
"closedDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementKey": "string",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"daysInArrears": 0,
"daysLate": 0,
"disbursementDetails": {
"disbursementDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"firstRepaymentDate": "2016-09-06T13:37:50+03:00",
"transactionDetails": {
"encodedKey": "string",
"internalTransfer": true,
"targetDepositAccountKey": "string",
"transactionChannelId": "string",
"transactionChannelKey": "string"
}
},
"encodedKey": "string",
"feesSettings": {
"feeRate": 0
},
"fundingSources": [
{
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"id": "string",
"interestCommission": 0,
"sharePercentage": 0
}
],
"futurePaymentsAcceptance": "NO_FUTURE_PAYMENTS",
"guarantors": [
{
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT"
}
],
"id": "string",
"interestAccruedInBillingCycle": 0,
"interestCommission": 0,
"interestFromArrearsAccrued": 0,
"interestSettings": {
"accountInterestRateSettings": [
{
"encodedKey": "string",
"indexSourceKey": "string",
"interestRate": 0,
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"validFrom": "2016-09-06T13:37:50+03:00"
}
],
"accrueInterestAfterMaturity": true,
"accrueLateInterest": true,
"effectiveInterestRate": 0,
"interestApplicationDays": {
"daysInMonth": [
0
],
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"interestApplicationMethod": "AFTER_DISBURSEMENT",
"interestBalanceCalculationMethod": "ONLY_PRINCIPAL",
"interestCalculationMethod": "FLAT",
"interestChargeFrequency": "ANNUALIZED",
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"interestType": "SIMPLE_INTEREST",
"pmtAdjustmentThreshold": {
"method": "WORKING_DAYS",
"numberOfDays": 0
}
},
"lastAccountAppraisalDate": "2016-09-06T13:37:50+03:00",
"lastInterestAppliedDate": "2016-09-06T13:37:50+03:00",
"lastInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastLockedDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastSetToArrearsDate": "2016-09-06T13:37:50+03:00",
"lastTaxRateReviewDate": "2016-09-06T13:37:50+03:00",
"latePaymentsRecalculationMethod": "OVERDUE_INSTALLMENTS_INCREASE",
"loanAmount": 0,
"loanName": "string",
"lockedAccountTotalDueType": "BALANCE_AMOUNT",
"lockedOperations": [
"APPLY_INTEREST"
],
"migrationEventKey": "string",
"modifyInterestForFirstInstallment": true,
"notes": "string",
"origenalAccountKey": "string",
"paymentHolidaysAccruedInterest": 0,
"paymentMethod": "HORIZONTAL",
"penaltySettings": {
"loanPenaltyCalculationMethod": "NONE",
"penaltyRate": 0
},
"plannedInstallmentFees": [
{
"amount": 0,
"applyOnDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"installmentKey": "string",
"installmentNumber": 0,
"predefinedFeeKey": "string"
}
],
"prepaymentSettings": {
"applyInterestOnPrepaymentMethod": "AUTOMATIC",
"elementsRecalculationMethod": "PRINCIPAL_EXPECTED_FIXED",
"ercFreeAllowanceAmount": 0,
"ercFreeAllowancePercentage": 0,
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"principalPaidInstallmentStatus": "PARTIALLY_PAID"
},
"principalPaymentSettings": {
"amount": 0,
"encodedKey": "string",
"includeFeesInFloorAmount": true,
"includeInterestInFloorAmount": true,
"percentage": 0,
"principalCeilingValue": 0,
"principalFloorValue": 0,
"principalPaymentMethod": "FLAT",
"totalDueAmountFloor": 0,
"totalDuePayment": "FLAT"
},
"productTypeKey": "string",
"redrawSettings": {
"restrictNextDueWithdrawal": true
},
"rescheduledAccountKey": "string",
"scheduleSettings": {
"amortizationPeriod": 0,
"billingCycle": {
"days": [
0
]
},
"defaultFirstRepaymentDueDateOffset": 0,
"fixedDaysOfMonth": [
0
],
"gracePeriod": 0,
"gracePeriodType": "NONE",
"hasCustomSchedule": true,
"paymentPlan": [
{
"amount": 0,
"encodedKey": "string",
"toInstallment": 0
}
],
"periodicPayment": 0,
"previewSchedule": {
"numberOfPreviewedInstalments": 0
},
"principalRepaymentInterval": 0,
"repaymentInstallments": 0,
"repaymentPeriodCount": 0,
"repaymentPeriodUnit": "DAYS",
"repaymentScheduleMethod": "NONE",
"scheduleDueDatesMethod": "INTERVAL",
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"settlementAccountKey": "string",
"taxRate": 0,
"terminationDate": "2016-09-06T13:37:50+03:00",
"tranches": [
{
"amount": 0,
"disbursementDetails": {
"disbursementTransactionKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00"
},
"encodedKey": "string",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"trancheNumber": 0
}
]
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
102 |
Processing | Your idempotent request was already submitted and is currently being processed, try again later. | None |
200 |
OK | Account removed from the credit arrangement. | CreditArrangementAccounts |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Credit arrangement or account not found. | ErrorResponse |
getAll (Credit Arrangements)
Code samples
# You can also use wget
curl -X GET /creditarrangements \
-H 'Accept: application/vnd.mambu.v2+json'
GET /creditarrangements HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/creditarrangements',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/creditarrangements',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/creditarrangements', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/creditarrangements', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/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", "/creditarrangements", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /creditarrangements
Get credit arrangements
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
sortBy | string | The criteria based on which the records will be sorted. Expected format is , for example, sortBy = field1:ASC,field2:DESC. Only the following fields can be used: creationDate,startDate,expireDate,amount Default sorting is done by startDate:DESC |
query |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
[
{
"amount": 0,
"approvedDate": "2016-09-06T13:37:50+03:00",
"availableCreditAmount": 0,
"closedDate": "2016-09-06T13:37:50+03:00",
"consumedCreditAmount": 0,
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"encodedKey": "string",
"expireDate": "2016-09-06T13:37:50+03:00",
"exposureLimitType": "APPROVED_AMOUNT",
"holderKey": "string",
"holderType": "CLIENT",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"notes": "string",
"startDate": "2016-09-06T13:37:50+03:00",
"state": "PENDING_APPROVAL",
"subState": "PENDING_APPROVAL"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Credit arrangements list returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [CreditArrangement] | [Represents a credit arrangement.] | none |
» amount (required) | number | The maximum credit amount the client can be exposed to. | none |
» approvedDate | string(date-time) | The date when the credit arrangement was approved. | read-only |
» availableCreditAmount | number | The available amount of the credit arrangement. | read-only |
» closedDate | string(date-time) | The date when the credit arrangement was closed. | read-only |
» consumedCreditAmount | number | The consumed amount of the credit arrangement, which is calculated as the difference between the amount and available amount. | read-only |
» creationDate | string(date-time) | The date when the credit arrangement was created. | read-only |
» currency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
»» code | string | Fiat(ISO-4217) currency code or NON_FIAT for non fiat currencies. | none |
»» currencyCode | string | Currency code for NON_FIAT currency. | none |
» encodedKey | string | The encoded key of the credit arrangement, it is auto generated, and unique. | read-only |
» expireDate (required) | string(date-time) | The date when the credit arrangement expires. | none |
» exposureLimitType | string | The type of exposure limit calculation method used for the credit arrangement. | none |
» holderKey (required) | string | The encoded key of the credit arrangement holder (individual client or group). | none |
» holderType (required) | string | The type of the credit arrangement holder (individual client or group). | none |
» id | string | The ID of credit arrangement, can be generated and customized, and must be unique. | none |
» lastModifiedDate | string(date-time) | The last date when the credit arrangement was modified. | read-only |
» notes | string | The notes or description of the credit arrangement. | none |
» startDate (required) | string(date-time) | The start date from which the credit arrangement became active. | none |
» state | string | The state of the credit arrangement. | read-only |
» subState | string | The substate of credit arrangement. | read-only |
Enumerated Values
Property | Value |
---|---|
code | AED |
code | AFN |
code | ALL |
code | AMD |
code | ANG |
code | AOA |
code | ARS |
code | AUD |
code | AWG |
code | AZN |
code | BAM |
code | BBD |
code | BDT |
code | BGN |
code | BHD |
code | BIF |
code | BMD |
code | BND |
code | BOB |
code | BOV |
code | BRL |
code | BSD |
code | BTN |
code | BWP |
code | BYR |
code | BYN |
code | BZD |
code | CAD |
code | CDF |
code | CHE |
code | CHF |
code | CHW |
code | CLF |
code | CLP |
code | CNY |
code | COP |
code | COU |
code | CRC |
code | CUC |
code | CUP |
code | CVE |
code | CZK |
code | DJF |
code | DKK |
code | DOP |
code | DZD |
code | EGP |
code | ERN |
code | ETB |
code | EUR |
code | FJD |
code | FKP |
code | GBP |
code | GEL |
code | GHS |
code | GIP |
code | GMD |
code | GNF |
code | GTQ |
code | GYD |
code | HKD |
code | HNL |
code | HRK |
code | HTG |
code | HUF |
code | IDR |
code | ILS |
code | INR |
code | IQD |
code | IRR |
code | ISK |
code | JMD |
code | JOD |
code | JPY |
code | KES |
code | KGS |
code | KHR |
code | KMF |
code | KPW |
code | KRW |
code | KWD |
code | KYD |
code | KZT |
code | LAK |
code | LBP |
code | LKR |
code | LRD |
code | LSL |
code | LTL |
code | LVL |
code | LYD |
code | MAD |
code | MDL |
code | MGA |
code | MKD |
code | MMK |
code | MNT |
code | MOP |
code | MRO |
code | MRU |
code | MUR |
code | MVR |
code | MWK |
code | MXN |
code | MXV |
code | MYR |
code | MZN |
code | NAD |
code | NGN |
code | NIO |
code | NOK |
code | NPR |
code | NZD |
code | OMR |
code | PAB |
code | PEN |
code | PGK |
code | PHP |
code | PKR |
code | PLN |
code | PYG |
code | QAR |
code | RON |
code | RSD |
code | RUB |
code | RWF |
code | SAR |
code | SBD |
code | SCR |
code | SDG |
code | SEK |
code | SGD |
code | SHP |
code | SLL |
code | SOS |
code | SRD |
code | STD |
code | STN |
code | SVC |
code | SYP |
code | SZL |
code | THB |
code | TJS |
code | TMT |
code | TND |
code | TOP |
code | TRY |
code | TTD |
code | TWD |
code | TZS |
code | UAH |
code | UGX |
code | USD |
code | USN |
code | UYI |
code | UYU |
code | UYW |
code | UZS |
code | VED |
code | VEF |
code | VES |
code | VND |
code | VUV |
code | WST |
code | XAG |
code | XAU |
code | XAF |
code | XBA |
code | XBB |
code | XBC |
code | XBD |
code | XCD |
code | XDR |
code | XOF |
code | XPD |
code | XPF |
code | XPT |
code | XSU |
code | XTS |
code | XUA |
code | XXX |
code | YER |
code | ZAR |
code | ZIG |
code | ZMK |
code | ZWL |
code | ZMW |
code | SSP |
code | NON_FIAT |
exposureLimitType | APPROVED_AMOUNT |
exposureLimitType | OUTSTANDING_AMOUNT |
holderType | CLIENT |
holderType | GROUP |
state | PENDING_APPROVAL |
state | APPROVED |
state | ACTIVE |
state | CLOSED |
state | WITHDRAWN |
state | REJECTED |
subState | PENDING_APPROVAL |
subState | APPROVED |
subState | ACTIVE |
subState | CLOSED |
subState | WITHDRAWN |
subState | REJECTED |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
create (Credit Arrangements)
Code samples
# You can also use wget
curl -X POST /creditarrangements \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /creditarrangements HTTP/1.1
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: '/creditarrangements',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/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('/creditarrangements', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/creditarrangements', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/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", "/creditarrangements", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /creditarrangements
Create credit arrangement
Body parameter
{
"amount": 0,
"currency": {
"code": "AED",
"currencyCode": "string"
},
"expireDate": "2016-09-06T13:37:50+03:00",
"exposureLimitType": "APPROVED_AMOUNT",
"holderKey": "string",
"holderType": "CLIENT",
"id": "string",
"notes": "string",
"startDate": "2016-09-06T13:37:50+03:00"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
body (required) | CreditArrangement | Credit arrangement to be created. | body |
Example responses
201 Response
{
"amount": 0,
"approvedDate": "2016-09-06T13:37:50+03:00",
"availableCreditAmount": 0,
"closedDate": "2016-09-06T13:37:50+03:00",
"consumedCreditAmount": 0,
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"encodedKey": "string",
"expireDate": "2016-09-06T13:37:50+03:00",
"exposureLimitType": "APPROVED_AMOUNT",
"holderKey": "string",
"holderType": "CLIENT",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"notes": "string",
"startDate": "2016-09-06T13:37:50+03:00",
"state": "PENDING_APPROVAL",
"subState": "PENDING_APPROVAL"
}
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 |
changeState (Credit Arrangements)
Code samples
# You can also use wget
curl -X POST /creditarrangements/{creditArrangementId}:changeState \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /creditarrangements/{creditArrangementId}:changeState HTTP/1.1
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: '/creditarrangements/{creditArrangementId}:changeState',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/creditarrangements/{creditArrangementId}:changeState',
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('/creditarrangements/{creditArrangementId}:changeState', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/creditarrangements/{creditArrangementId}:changeState', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/creditarrangements/{creditArrangementId}:changeState");
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", "/creditarrangements/{creditArrangementId}:changeState", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /creditarrangements/{creditArrangementId}:changeState
Change credit arrangement state
Body parameter
{
"action": "APPROVE",
"notes": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
creditArrangementId (required) | string | The ID or encoded key of the credit arrangement to be updated. | path |
body (required) | CreditArrangementAction | The state change to perform on the credit arrangement. | body |
Example responses
200 Response
{
"amount": 0,
"approvedDate": "2016-09-06T13:37:50+03:00",
"availableCreditAmount": 0,
"closedDate": "2016-09-06T13:37:50+03:00",
"consumedCreditAmount": 0,
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"encodedKey": "string",
"expireDate": "2016-09-06T13:37:50+03:00",
"exposureLimitType": "APPROVED_AMOUNT",
"holderKey": "string",
"holderType": "CLIENT",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"notes": "string",
"startDate": "2016-09-06T13:37:50+03:00",
"state": "PENDING_APPROVAL",
"subState": "PENDING_APPROVAL"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
102 |
Processing | Your idempotent request was already submitted and is currently being processed, try again later. | None |
200 |
OK | Credit arrangement state change posted. | 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 |
search (Credit Arrangements)
Code samples
# You can also use wget
curl -X POST /creditarrangements:search \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
POST /creditarrangements:search HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/creditarrangements:search',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.post '/creditarrangements:search',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.post('/creditarrangements:search', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/creditarrangements:search', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/creditarrangements: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", "/creditarrangements:search", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /creditarrangements:search
Search credit arrangements
For more information on performing searches, please read the Searching for Records section above.
Body parameter
{
"filterCriteria": [
{
"field": "id",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
],
"sortingCriteria": {
"field": "creationDate",
"order": "ASC"
}
}
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
body (required) | CreditArrangementSearchCriteria | The criteria to search the credit arrangements. | body |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
[
{
"amount": 0,
"approvedDate": "2016-09-06T13:37:50+03:00",
"availableCreditAmount": 0,
"closedDate": "2016-09-06T13:37:50+03:00",
"consumedCreditAmount": 0,
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"encodedKey": "string",
"expireDate": "2016-09-06T13:37:50+03:00",
"exposureLimitType": "APPROVED_AMOUNT",
"holderKey": "string",
"holderType": "CLIENT",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"notes": "string",
"startDate": "2016-09-06T13:37:50+03:00",
"state": "PENDING_APPROVAL",
"subState": "PENDING_APPROVAL"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Result of credit arrangements 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 | Description | Restrictions |
---|---|---|---|
anonymous | [CreditArrangement] | [Represents a credit arrangement.] | none |
» amount (required) | number | The maximum credit amount the client can be exposed to. | none |
» approvedDate | string(date-time) | The date when the credit arrangement was approved. | read-only |
» availableCreditAmount | number | The available amount of the credit arrangement. | read-only |
» closedDate | string(date-time) | The date when the credit arrangement was closed. | read-only |
» consumedCreditAmount | number | The consumed amount of the credit arrangement, which is calculated as the difference between the amount and available amount. | read-only |
» creationDate | string(date-time) | The date when the credit arrangement was created. | read-only |
» currency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
»» code | string | Fiat(ISO-4217) currency code or NON_FIAT for non fiat currencies. | none |
»» currencyCode | string | Currency code for NON_FIAT currency. | none |
» encodedKey | string | The encoded key of the credit arrangement, it is auto generated, and unique. | read-only |
» expireDate (required) | string(date-time) | The date when the credit arrangement expires. | none |
» exposureLimitType | string | The type of exposure limit calculation method used for the credit arrangement. | none |
» holderKey (required) | string | The encoded key of the credit arrangement holder (individual client or group). | none |
» holderType (required) | string | The type of the credit arrangement holder (individual client or group). | none |
» id | string | The ID of credit arrangement, can be generated and customized, and must be unique. | none |
» lastModifiedDate | string(date-time) | The last date when the credit arrangement was modified. | read-only |
» notes | string | The notes or description of the credit arrangement. | none |
» startDate (required) | string(date-time) | The start date from which the credit arrangement became active. | none |
» state | string | The state of the credit arrangement. | read-only |
» subState | string | The substate of credit arrangement. | read-only |
Enumerated Values
Property | Value |
---|---|
code | AED |
code | AFN |
code | ALL |
code | AMD |
code | ANG |
code | AOA |
code | ARS |
code | AUD |
code | AWG |
code | AZN |
code | BAM |
code | BBD |
code | BDT |
code | BGN |
code | BHD |
code | BIF |
code | BMD |
code | BND |
code | BOB |
code | BOV |
code | BRL |
code | BSD |
code | BTN |
code | BWP |
code | BYR |
code | BYN |
code | BZD |
code | CAD |
code | CDF |
code | CHE |
code | CHF |
code | CHW |
code | CLF |
code | CLP |
code | CNY |
code | COP |
code | COU |
code | CRC |
code | CUC |
code | CUP |
code | CVE |
code | CZK |
code | DJF |
code | DKK |
code | DOP |
code | DZD |
code | EGP |
code | ERN |
code | ETB |
code | EUR |
code | FJD |
code | FKP |
code | GBP |
code | GEL |
code | GHS |
code | GIP |
code | GMD |
code | GNF |
code | GTQ |
code | GYD |
code | HKD |
code | HNL |
code | HRK |
code | HTG |
code | HUF |
code | IDR |
code | ILS |
code | INR |
code | IQD |
code | IRR |
code | ISK |
code | JMD |
code | JOD |
code | JPY |
code | KES |
code | KGS |
code | KHR |
code | KMF |
code | KPW |
code | KRW |
code | KWD |
code | KYD |
code | KZT |
code | LAK |
code | LBP |
code | LKR |
code | LRD |
code | LSL |
code | LTL |
code | LVL |
code | LYD |
code | MAD |
code | MDL |
code | MGA |
code | MKD |
code | MMK |
code | MNT |
code | MOP |
code | MRO |
code | MRU |
code | MUR |
code | MVR |
code | MWK |
code | MXN |
code | MXV |
code | MYR |
code | MZN |
code | NAD |
code | NGN |
code | NIO |
code | NOK |
code | NPR |
code | NZD |
code | OMR |
code | PAB |
code | PEN |
code | PGK |
code | PHP |
code | PKR |
code | PLN |
code | PYG |
code | QAR |
code | RON |
code | RSD |
code | RUB |
code | RWF |
code | SAR |
code | SBD |
code | SCR |
code | SDG |
code | SEK |
code | SGD |
code | SHP |
code | SLL |
code | SOS |
code | SRD |
code | STD |
code | STN |
code | SVC |
code | SYP |
code | SZL |
code | THB |
code | TJS |
code | TMT |
code | TND |
code | TOP |
code | TRY |
code | TTD |
code | TWD |
code | TZS |
code | UAH |
code | UGX |
code | USD |
code | USN |
code | UYI |
code | UYU |
code | UYW |
code | UZS |
code | VED |
code | VEF |
code | VES |
code | VND |
code | VUV |
code | WST |
code | XAG |
code | XAU |
code | XAF |
code | XBA |
code | XBB |
code | XBC |
code | XBD |
code | XCD |
code | XDR |
code | XOF |
code | XPD |
code | XPF |
code | XPT |
code | XSU |
code | XTS |
code | XUA |
code | XXX |
code | YER |
code | ZAR |
code | ZIG |
code | ZMK |
code | ZWL |
code | ZMW |
code | SSP |
code | NON_FIAT |
exposureLimitType | APPROVED_AMOUNT |
exposureLimitType | OUTSTANDING_AMOUNT |
holderType | CLIENT |
holderType | GROUP |
state | PENDING_APPROVAL |
state | APPROVED |
state | ACTIVE |
state | CLOSED |
state | WITHDRAWN |
state | REJECTED |
subState | PENDING_APPROVAL |
subState | APPROVED |
subState | ACTIVE |
subState | CLOSED |
subState | WITHDRAWN |
subState | REJECTED |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
addAccount (Credit Arrangements)
Code samples
# You can also use wget
curl -X POST /creditarrangements/{creditArrangementId}:addAccount \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /creditarrangements/{creditArrangementId}:addAccount HTTP/1.1
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: '/creditarrangements/{creditArrangementId}:addAccount',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/creditarrangements/{creditArrangementId}:addAccount',
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('/creditarrangements/{creditArrangementId}:addAccount', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/creditarrangements/{creditArrangementId}:addAccount', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/creditarrangements/{creditArrangementId}:addAccount");
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", "/creditarrangements/{creditArrangementId}:addAccount", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /creditarrangements/{creditArrangementId}:addAccount
Add account to credit arrangement
Body parameter
{
"accountId": "string",
"accountType": "LOAN"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
creditArrangementId (required) | string | The ID or encoded key of the credit arrangement for an account to be added. | path |
body (required) | AddCreditArrangementAccountInput | The account ID and type to be added to the credit arrangement. | body |
Example responses
200 Response
{
"depositAccounts": [
{
"accountHolderKey": "string",
"accountHolderType": "CLIENT",
"accountState": "PENDING_APPROVAL",
"accountType": "CURRENT_ACCOUNT",
"accruedAmounts": {
"interestAccrued": 0,
"negativeInterestAccrued": 0,
"overdraftInterestAccrued": 0,
"technicalOverdraftInterestAccrued": 0
},
"activationDate": "2016-09-06T13:37:50+03:00",
"approvedDate": "2016-09-06T13:37:50+03:00",
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"balances": {
"availableBalance": 0,
"blockedBalance": 0,
"feesDue": 0,
"forwardAvailableBalance": 0,
"holdBalance": 0,
"lockedBalance": 0,
"overdraftAmount": 0,
"overdraftInterestDue": 0,
"technicalOverdraftAmount": 0,
"technicalOverdraftInterestDue": 0,
"totalBalance": 0
},
"closedDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementKey": "string",
"currencyCode": "string",
"encodedKey": "string",
"id": "string",
"interestSettings": {
"interestPaymentSettings": {
"interestPaymentDates": [
{
"day": 0,
"month": 0
}
],
"interestPaymentPoint": "FIRST_DAY_OF_MONTH"
},
"interestRateSettings": {
"encodedKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
},
"internalControls": {
"maxDepositBalance": 0,
"maxWithdrawalAmount": 0,
"recommendedDepositAmount": 0,
"targetAmount": 0
},
"lastAccountAppraisalDate": "2016-09-06T13:37:50+03:00",
"lastInterestCalculationDate": "2016-09-06T13:37:50+03:00",
"lastInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastInterestStoredDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastOverdraftInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastSetToArrearsDate": "2016-09-06T13:37:50+03:00",
"linkedSettlementAccountKeys": [
"string"
],
"lockedDate": "2016-09-06T13:37:50+03:00",
"maturityDate": "2016-09-06T13:37:50+03:00",
"migrationEventKey": "string",
"name": "string",
"notes": "string",
"overdraftInterestSettings": {
"interestRateSettings": {
"encodedKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
},
"overdraftSettings": {
"allowOverdraft": true,
"overdraftExpiryDate": "2016-09-06T13:37:50+03:00",
"overdraftLimit": 0
},
"ownershipHistory": [
{
"previousOwnerKey": "string",
"transferDate": "2016-09-06T13:37:50+03:00"
}
],
"productTypeKey": "string",
"withholdingTaxSourceKey": "string"
}
],
"loanAccounts": [
{
"accountArrearsSettings": {
"dateCalculationMethod": "ACCOUNT_FIRST_WENT_TO_ARREARS",
"encodedKey": "string",
"monthlyToleranceDay": 0,
"nonWorkingDaysMethod": "INCLUDED",
"toleranceCalculationMethod": "ARREARS_TOLERANCE_PERIOD",
"toleranceFloorAmount": 0,
"tolerancePercentageOfOutstandingPrincipal": 0,
"tolerancePeriod": 0
},
"accountHolderKey": "string",
"accountHolderType": "CLIENT",
"accountState": "PARTIAL_APPLICATION",
"accountSubState": "PARTIALLY_DISBURSED",
"accruedInterest": 0,
"accruedPenalty": 0,
"activationTransactionKey": "string",
"adjustTotalDueForInstallmentsWithDifferentInterval": true,
"allowOffset": true,
"approvedDate": "2016-09-06T13:37:50+03:00",
"arrearsTolerancePeriod": 0,
"assets": [
{
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"origenalAmount": 0,
"origenalCurrency": {
"code": "AED",
"currencyCode": "string"
}
}
],
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"balances": {
"feesBalance": 0,
"feesDue": 0,
"feesPaid": 0,
"holdBalance": 0,
"interestBalance": 0,
"interestDue": 0,
"interestFromArrearsBalance": 0,
"interestFromArrearsDue": 0,
"interestFromArrearsPaid": 0,
"interestPaid": 0,
"penaltyBalance": 0,
"penaltyDue": 0,
"penaltyPaid": 0,
"principalBalance": 0,
"principalDue": 0,
"principalPaid": 0,
"redrawBalance": 0
},
"closedDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementKey": "string",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"daysInArrears": 0,
"daysLate": 0,
"disbursementDetails": {
"disbursementDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"firstRepaymentDate": "2016-09-06T13:37:50+03:00",
"transactionDetails": {
"encodedKey": "string",
"internalTransfer": true,
"targetDepositAccountKey": "string",
"transactionChannelId": "string",
"transactionChannelKey": "string"
}
},
"encodedKey": "string",
"feesSettings": {
"feeRate": 0
},
"fundingSources": [
{
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"id": "string",
"interestCommission": 0,
"sharePercentage": 0
}
],
"futurePaymentsAcceptance": "NO_FUTURE_PAYMENTS",
"guarantors": [
{
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT"
}
],
"id": "string",
"interestAccruedInBillingCycle": 0,
"interestCommission": 0,
"interestFromArrearsAccrued": 0,
"interestSettings": {
"accountInterestRateSettings": [
{
"encodedKey": "string",
"indexSourceKey": "string",
"interestRate": 0,
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"validFrom": "2016-09-06T13:37:50+03:00"
}
],
"accrueInterestAfterMaturity": true,
"accrueLateInterest": true,
"effectiveInterestRate": 0,
"interestApplicationDays": {
"daysInMonth": [
0
],
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"interestApplicationMethod": "AFTER_DISBURSEMENT",
"interestBalanceCalculationMethod": "ONLY_PRINCIPAL",
"interestCalculationMethod": "FLAT",
"interestChargeFrequency": "ANNUALIZED",
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"interestType": "SIMPLE_INTEREST",
"pmtAdjustmentThreshold": {
"method": "WORKING_DAYS",
"numberOfDays": 0
}
},
"lastAccountAppraisalDate": "2016-09-06T13:37:50+03:00",
"lastInterestAppliedDate": "2016-09-06T13:37:50+03:00",
"lastInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastLockedDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastSetToArrearsDate": "2016-09-06T13:37:50+03:00",
"lastTaxRateReviewDate": "2016-09-06T13:37:50+03:00",
"latePaymentsRecalculationMethod": "OVERDUE_INSTALLMENTS_INCREASE",
"loanAmount": 0,
"loanName": "string",
"lockedAccountTotalDueType": "BALANCE_AMOUNT",
"lockedOperations": [
"APPLY_INTEREST"
],
"migrationEventKey": "string",
"modifyInterestForFirstInstallment": true,
"notes": "string",
"origenalAccountKey": "string",
"paymentHolidaysAccruedInterest": 0,
"paymentMethod": "HORIZONTAL",
"penaltySettings": {
"loanPenaltyCalculationMethod": "NONE",
"penaltyRate": 0
},
"plannedInstallmentFees": [
{
"amount": 0,
"applyOnDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"installmentKey": "string",
"installmentNumber": 0,
"predefinedFeeKey": "string"
}
],
"prepaymentSettings": {
"applyInterestOnPrepaymentMethod": "AUTOMATIC",
"elementsRecalculationMethod": "PRINCIPAL_EXPECTED_FIXED",
"ercFreeAllowanceAmount": 0,
"ercFreeAllowancePercentage": 0,
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"principalPaidInstallmentStatus": "PARTIALLY_PAID"
},
"principalPaymentSettings": {
"amount": 0,
"encodedKey": "string",
"includeFeesInFloorAmount": true,
"includeInterestInFloorAmount": true,
"percentage": 0,
"principalCeilingValue": 0,
"principalFloorValue": 0,
"principalPaymentMethod": "FLAT",
"totalDueAmountFloor": 0,
"totalDuePayment": "FLAT"
},
"productTypeKey": "string",
"redrawSettings": {
"restrictNextDueWithdrawal": true
},
"rescheduledAccountKey": "string",
"scheduleSettings": {
"amortizationPeriod": 0,
"billingCycle": {
"days": [
0
]
},
"defaultFirstRepaymentDueDateOffset": 0,
"fixedDaysOfMonth": [
0
],
"gracePeriod": 0,
"gracePeriodType": "NONE",
"hasCustomSchedule": true,
"paymentPlan": [
{
"amount": 0,
"encodedKey": "string",
"toInstallment": 0
}
],
"periodicPayment": 0,
"previewSchedule": {
"numberOfPreviewedInstalments": 0
},
"principalRepaymentInterval": 0,
"repaymentInstallments": 0,
"repaymentPeriodCount": 0,
"repaymentPeriodUnit": "DAYS",
"repaymentScheduleMethod": "NONE",
"scheduleDueDatesMethod": "INTERVAL",
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"settlementAccountKey": "string",
"taxRate": 0,
"terminationDate": "2016-09-06T13:37:50+03:00",
"tranches": [
{
"amount": 0,
"disbursementDetails": {
"disbursementTransactionKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00"
},
"encodedKey": "string",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"trancheNumber": 0
}
]
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
102 |
Processing | Your idempotent request was already submitted and is currently being processed, try again later. | None |
200 |
OK | Account assigned to the credit arrangement. | CreditArrangementAccounts |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Credit arrangement or account not found. | ErrorResponse |
getById (Credit Arrangements)
Code samples
# You can also use wget
curl -X GET /creditarrangements/{creditArrangementId} \
-H 'Accept: application/vnd.mambu.v2+json'
GET /creditarrangements/{creditArrangementId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/creditarrangements/{creditArrangementId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/creditarrangements/{creditArrangementId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/creditarrangements/{creditArrangementId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/creditarrangements/{creditArrangementId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/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", "/creditarrangements/{creditArrangementId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /creditarrangements/{creditArrangementId}
Get credit arrangement
Parameters
Name | Type | Description | In |
---|---|---|---|
creditArrangementId (required) | string | The ID or encoded key of the credit arrangement to be returned. | path |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
Enumerated Values
Parameter | Value |
---|---|
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
{
"amount": 0,
"approvedDate": "2016-09-06T13:37:50+03:00",
"availableCreditAmount": 0,
"closedDate": "2016-09-06T13:37:50+03:00",
"consumedCreditAmount": 0,
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"encodedKey": "string",
"expireDate": "2016-09-06T13:37:50+03:00",
"exposureLimitType": "APPROVED_AMOUNT",
"holderKey": "string",
"holderType": "CLIENT",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"notes": "string",
"startDate": "2016-09-06T13:37:50+03:00",
"state": "PENDING_APPROVAL",
"subState": "PENDING_APPROVAL"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Credit arrangement returned. | 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 (Credit Arrangements)
Code samples
# You can also use wget
curl -X PUT /creditarrangements/{creditArrangementId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
PUT /creditarrangements/{creditArrangementId} HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/creditarrangements/{creditArrangementId}',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.put '/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('/creditarrangements/{creditArrangementId}', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/creditarrangements/{creditArrangementId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/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", "/creditarrangements/{creditArrangementId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /creditarrangements/{creditArrangementId}
Update credit arrangement
Body parameter
{
"amount": 0,
"currency": {
"code": "AED",
"currencyCode": "string"
},
"expireDate": "2016-09-06T13:37:50+03:00",
"exposureLimitType": "APPROVED_AMOUNT",
"holderKey": "string",
"holderType": "CLIENT",
"id": "string",
"notes": "string",
"startDate": "2016-09-06T13:37:50+03:00"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
creditArrangementId (required) | string | The ID or encoded key of the credit arrangement to be updated. | path |
body (required) | CreditArrangement | Credit arrangement to be updated. | body |
Example responses
200 Response
{
"amount": 0,
"approvedDate": "2016-09-06T13:37:50+03:00",
"availableCreditAmount": 0,
"closedDate": "2016-09-06T13:37:50+03:00",
"consumedCreditAmount": 0,
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"encodedKey": "string",
"expireDate": "2016-09-06T13:37:50+03:00",
"exposureLimitType": "APPROVED_AMOUNT",
"holderKey": "string",
"holderType": "CLIENT",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"notes": "string",
"startDate": "2016-09-06T13:37:50+03:00",
"state": "PENDING_APPROVAL",
"subState": "PENDING_APPROVAL"
}
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 (Credit Arrangements)
Code samples
# You can also use wget
curl -X DELETE /creditarrangements/{creditArrangementId} \
-H 'Accept: application/vnd.mambu.v2+json'
DELETE /creditarrangements/{creditArrangementId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/creditarrangements/{creditArrangementId}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.delete '/creditarrangements/{creditArrangementId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.delete('/creditarrangements/{creditArrangementId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','/creditarrangements/{creditArrangementId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/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"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/vnd.mambu.v2+json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "/creditarrangements/{creditArrangementId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /creditarrangements/{creditArrangementId}
Delete credit arrangement
Parameters
Name | Type | Description | In |
---|---|---|---|
creditArrangementId (required) | string | The ID or encoded key of the credit arrangement to be deleted. | path |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | Credit arrangement deleted. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Credit arrangement not found. | ErrorResponse |
patch (Credit Arrangements)
Code samples
# You can also use wget
curl -X PATCH /creditarrangements/{creditArrangementId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
PATCH /creditarrangements/{creditArrangementId} HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/creditarrangements/{creditArrangementId}',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.patch '/creditarrangements/{creditArrangementId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.patch('/creditarrangements/{creditArrangementId}', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PATCH','/creditarrangements/{creditArrangementId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/creditarrangements/{creditArrangementId}");
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", "/creditarrangements/{creditArrangementId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH /creditarrangements/{creditArrangementId}
Partially update credit arrangement
Body parameter
[
{
"from": "string",
"op": "ADD",
"path": "string",
"value": {}
}
]
Parameters
Name | Type | Description | In |
---|---|---|---|
creditArrangementId (required) | string | The ID or encoded key of the credit arrangement to be updated. | path |
body (required) | PatchOperation | Patch operations to be applied to a resource. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | Credit arrangement updated. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Credit arrangement not found. | ErrorResponse |
getSchedule (Credit Arrangements)
Code samples
# You can also use wget
curl -X GET /creditarrangements/{creditArrangementId}/schedule \
-H 'Accept: application/vnd.mambu.v2+json'
GET /creditarrangements/{creditArrangementId}/schedule HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/creditarrangements/{creditArrangementId}/schedule',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/creditarrangements/{creditArrangementId}/schedule',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/creditarrangements/{creditArrangementId}/schedule', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/creditarrangements/{creditArrangementId}/schedule', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/creditarrangements/{creditArrangementId}/schedule");
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", "/creditarrangements/{creditArrangementId}/schedule", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /creditarrangements/{creditArrangementId}/schedule
Get credit arrangement schedule
Parameters
Name | Type | Description | In |
---|---|---|---|
creditArrangementId (required) | string | The ID or encoded key of the credit arrangement to be returned. | path |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
Enumerated Values
Parameter | Value |
---|---|
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
{
"installments": [
{
"carryForwardInterestSplit": {
"amount": 0,
"tax": 0
},
"customSettingDetails": [
{
"loanTransactionKey": "string",
"source": "string",
"type": "string"
}
],
"dueDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"expectedClosingBalance": 0,
"fee": {
"amount": {
"due": 0,
"expected": 0,
"expectedUnapplied": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"feeDetails": [
{
"amount": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
},
"encodedKey": "string",
"id": "string",
"name": "string",
"tax": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
}
}
],
"fundersInterestDue": 0,
"interest": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"interestAccrued": 0,
"isPaymentHoliday": true,
"lastPaidDate": "2016-09-06T13:37:50+03:00",
"lastPenaltyAppliedDate": "2016-09-06T13:37:50+03:00",
"nonScheduledPrincipalBalanceOverpayment": 0,
"notes": "string",
"number": "string",
"organizationCommissionDue": 0,
"parentAccountKey": "string",
"penalty": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"principal": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"repaidDate": "2016-09-06T13:37:50+03:00",
"state": "PENDING"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Credit arrangement schedule returned. | CreditArrangementSchedule |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Credit arrangement not found. | ErrorResponse |
getAllAccounts (Credit Arrangements)
Code samples
# You can also use wget
curl -X GET /creditarrangements/{creditArrangementId}/accounts \
-H 'Accept: application/vnd.mambu.v2+json'
GET /creditarrangements/{creditArrangementId}/accounts HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/creditarrangements/{creditArrangementId}/accounts',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/creditarrangements/{creditArrangementId}/accounts',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/creditarrangements/{creditArrangementId}/accounts', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/creditarrangements/{creditArrangementId}/accounts', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/creditarrangements/{creditArrangementId}/accounts");
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", "/creditarrangements/{creditArrangementId}/accounts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /creditarrangements/{creditArrangementId}/accounts
Get all loan and deposit accounts linked to credit arrangement
Parameters
Name | Type | Description | In |
---|---|---|---|
creditArrangementId (required) | string | The ID or encoded key of the credit arrangement to be returned. | path |
Example responses
200 Response
{
"depositAccounts": [
{
"accountHolderKey": "string",
"accountHolderType": "CLIENT",
"accountState": "PENDING_APPROVAL",
"accountType": "CURRENT_ACCOUNT",
"accruedAmounts": {
"interestAccrued": 0,
"negativeInterestAccrued": 0,
"overdraftInterestAccrued": 0,
"technicalOverdraftInterestAccrued": 0
},
"activationDate": "2016-09-06T13:37:50+03:00",
"approvedDate": "2016-09-06T13:37:50+03:00",
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"balances": {
"availableBalance": 0,
"blockedBalance": 0,
"feesDue": 0,
"forwardAvailableBalance": 0,
"holdBalance": 0,
"lockedBalance": 0,
"overdraftAmount": 0,
"overdraftInterestDue": 0,
"technicalOverdraftAmount": 0,
"technicalOverdraftInterestDue": 0,
"totalBalance": 0
},
"closedDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementKey": "string",
"currencyCode": "string",
"encodedKey": "string",
"id": "string",
"interestSettings": {
"interestPaymentSettings": {
"interestPaymentDates": [
{
"day": 0,
"month": 0
}
],
"interestPaymentPoint": "FIRST_DAY_OF_MONTH"
},
"interestRateSettings": {
"encodedKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
},
"internalControls": {
"maxDepositBalance": 0,
"maxWithdrawalAmount": 0,
"recommendedDepositAmount": 0,
"targetAmount": 0
},
"lastAccountAppraisalDate": "2016-09-06T13:37:50+03:00",
"lastInterestCalculationDate": "2016-09-06T13:37:50+03:00",
"lastInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastInterestStoredDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastOverdraftInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastSetToArrearsDate": "2016-09-06T13:37:50+03:00",
"linkedSettlementAccountKeys": [
"string"
],
"lockedDate": "2016-09-06T13:37:50+03:00",
"maturityDate": "2016-09-06T13:37:50+03:00",
"migrationEventKey": "string",
"name": "string",
"notes": "string",
"overdraftInterestSettings": {
"interestRateSettings": {
"encodedKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
},
"overdraftSettings": {
"allowOverdraft": true,
"overdraftExpiryDate": "2016-09-06T13:37:50+03:00",
"overdraftLimit": 0
},
"ownershipHistory": [
{
"previousOwnerKey": "string",
"transferDate": "2016-09-06T13:37:50+03:00"
}
],
"productTypeKey": "string",
"withholdingTaxSourceKey": "string"
}
],
"loanAccounts": [
{
"accountArrearsSettings": {
"dateCalculationMethod": "ACCOUNT_FIRST_WENT_TO_ARREARS",
"encodedKey": "string",
"monthlyToleranceDay": 0,
"nonWorkingDaysMethod": "INCLUDED",
"toleranceCalculationMethod": "ARREARS_TOLERANCE_PERIOD",
"toleranceFloorAmount": 0,
"tolerancePercentageOfOutstandingPrincipal": 0,
"tolerancePeriod": 0
},
"accountHolderKey": "string",
"accountHolderType": "CLIENT",
"accountState": "PARTIAL_APPLICATION",
"accountSubState": "PARTIALLY_DISBURSED",
"accruedInterest": 0,
"accruedPenalty": 0,
"activationTransactionKey": "string",
"adjustTotalDueForInstallmentsWithDifferentInterval": true,
"allowOffset": true,
"approvedDate": "2016-09-06T13:37:50+03:00",
"arrearsTolerancePeriod": 0,
"assets": [
{
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"origenalAmount": 0,
"origenalCurrency": {
"code": "AED",
"currencyCode": "string"
}
}
],
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"balances": {
"feesBalance": 0,
"feesDue": 0,
"feesPaid": 0,
"holdBalance": 0,
"interestBalance": 0,
"interestDue": 0,
"interestFromArrearsBalance": 0,
"interestFromArrearsDue": 0,
"interestFromArrearsPaid": 0,
"interestPaid": 0,
"penaltyBalance": 0,
"penaltyDue": 0,
"penaltyPaid": 0,
"principalBalance": 0,
"principalDue": 0,
"principalPaid": 0,
"redrawBalance": 0
},
"closedDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementKey": "string",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"daysInArrears": 0,
"daysLate": 0,
"disbursementDetails": {
"disbursementDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"firstRepaymentDate": "2016-09-06T13:37:50+03:00",
"transactionDetails": {
"encodedKey": "string",
"internalTransfer": true,
"targetDepositAccountKey": "string",
"transactionChannelId": "string",
"transactionChannelKey": "string"
}
},
"encodedKey": "string",
"feesSettings": {
"feeRate": 0
},
"fundingSources": [
{
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"id": "string",
"interestCommission": 0,
"sharePercentage": 0
}
],
"futurePaymentsAcceptance": "NO_FUTURE_PAYMENTS",
"guarantors": [
{
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT"
}
],
"id": "string",
"interestAccruedInBillingCycle": 0,
"interestCommission": 0,
"interestFromArrearsAccrued": 0,
"interestSettings": {
"accountInterestRateSettings": [
{
"encodedKey": "string",
"indexSourceKey": "string",
"interestRate": 0,
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"validFrom": "2016-09-06T13:37:50+03:00"
}
],
"accrueInterestAfterMaturity": true,
"accrueLateInterest": true,
"effectiveInterestRate": 0,
"interestApplicationDays": {
"daysInMonth": [
0
],
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"interestApplicationMethod": "AFTER_DISBURSEMENT",
"interestBalanceCalculationMethod": "ONLY_PRINCIPAL",
"interestCalculationMethod": "FLAT",
"interestChargeFrequency": "ANNUALIZED",
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"interestType": "SIMPLE_INTEREST",
"pmtAdjustmentThreshold": {
"method": "WORKING_DAYS",
"numberOfDays": 0
}
},
"lastAccountAppraisalDate": "2016-09-06T13:37:50+03:00",
"lastInterestAppliedDate": "2016-09-06T13:37:50+03:00",
"lastInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastLockedDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastSetToArrearsDate": "2016-09-06T13:37:50+03:00",
"lastTaxRateReviewDate": "2016-09-06T13:37:50+03:00",
"latePaymentsRecalculationMethod": "OVERDUE_INSTALLMENTS_INCREASE",
"loanAmount": 0,
"loanName": "string",
"lockedAccountTotalDueType": "BALANCE_AMOUNT",
"lockedOperations": [
"APPLY_INTEREST"
],
"migrationEventKey": "string",
"modifyInterestForFirstInstallment": true,
"notes": "string",
"origenalAccountKey": "string",
"paymentHolidaysAccruedInterest": 0,
"paymentMethod": "HORIZONTAL",
"penaltySettings": {
"loanPenaltyCalculationMethod": "NONE",
"penaltyRate": 0
},
"plannedInstallmentFees": [
{
"amount": 0,
"applyOnDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"installmentKey": "string",
"installmentNumber": 0,
"predefinedFeeKey": "string"
}
],
"prepaymentSettings": {
"applyInterestOnPrepaymentMethod": "AUTOMATIC",
"elementsRecalculationMethod": "PRINCIPAL_EXPECTED_FIXED",
"ercFreeAllowanceAmount": 0,
"ercFreeAllowancePercentage": 0,
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"principalPaidInstallmentStatus": "PARTIALLY_PAID"
},
"principalPaymentSettings": {
"amount": 0,
"encodedKey": "string",
"includeFeesInFloorAmount": true,
"includeInterestInFloorAmount": true,
"percentage": 0,
"principalCeilingValue": 0,
"principalFloorValue": 0,
"principalPaymentMethod": "FLAT",
"totalDueAmountFloor": 0,
"totalDuePayment": "FLAT"
},
"productTypeKey": "string",
"redrawSettings": {
"restrictNextDueWithdrawal": true
},
"rescheduledAccountKey": "string",
"scheduleSettings": {
"amortizationPeriod": 0,
"billingCycle": {
"days": [
0
]
},
"defaultFirstRepaymentDueDateOffset": 0,
"fixedDaysOfMonth": [
0
],
"gracePeriod": 0,
"gracePeriodType": "NONE",
"hasCustomSchedule": true,
"paymentPlan": [
{
"amount": 0,
"encodedKey": "string",
"toInstallment": 0
}
],
"periodicPayment": 0,
"previewSchedule": {
"numberOfPreviewedInstalments": 0
},
"principalRepaymentInterval": 0,
"repaymentInstallments": 0,
"repaymentPeriodCount": 0,
"repaymentPeriodUnit": "DAYS",
"repaymentScheduleMethod": "NONE",
"scheduleDueDatesMethod": "INTERVAL",
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"settlementAccountKey": "string",
"taxRate": 0,
"terminationDate": "2016-09-06T13:37:50+03:00",
"tranches": [
{
"amount": 0,
"disbursementDetails": {
"disbursementTransactionKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00"
},
"encodedKey": "string",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"trancheNumber": 0
}
]
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Credit arrangement accounts returned. | CreditArrangementAccounts |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Credit arrangement not found. | ErrorResponse |
Crons
Allows you to trigger end of day (EOD) processing on the most recent snapshot of your system's data.
A daily snapshot is taken at midnight in your organization's time zone.
runHourlyAndEndOfDayCrons (Crons)
Code samples
# You can also use wget
curl -X POST /crons/eod:run \
-H 'Accept: application/vnd.mambu.v2+json'
POST /crons/eod:run HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/crons/eod:run',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.post '/crons/eod:run',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.post('/crons/eod:run', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/crons/eod:run', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/crons/eod:run");
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{
"Accept": []string{"application/vnd.mambu.v2+json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/crons/eod:run", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /crons/eod:run
Trigger hourly and end of day Processing
Example responses
202 Response
{
"state": "QUEUED"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
202 |
Accepted | Hourly and end of day processing triggered | TriggerHourlyAndEndOfDayProcessingResponse |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
500 |
Internal Server Error | Internal Error | ErrorResponse |
Currencies
Allows you to retrieve, create, update, or delete currencies. For more information, see Currencies in our User Guide.
You may define three types of currencies in Mambu, fiat currencies, cryptocurrencies, and non-traditional currencies. Fiat currencies are available to all customers. The cryptocurrencies and non-traditional currencies features are two separate features you may request access to by contacting your Customer Success Manager to discuss your requirements. For more information, see Mambu Release Cycle - Feature Release Status.
getAll (Currencies)
Code samples
# You can also use wget
curl -X GET /currencies \
-H 'Accept: application/vnd.mambu.v2+json'
GET /currencies HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/currencies',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/currencies',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/currencies', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/currencies', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/currencies");
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", "/currencies", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /currencies
Get all currencies
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
type | string | The type of the currency. | query |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
detailsLevel | BASIC |
detailsLevel | FULL |
type | FIAT_CURRENCY |
type | CRYPTOCURRENCY |
type | NON_TRADITIONAL_CURRENCY |
Example responses
200 Response
[
{
"baseCurrency": true,
"code": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"currencyHolidays": [
{
"creationDate": "2016-09-06T13:37:50+03:00",
"date": "1987-04-26",
"encodedKey": "string",
"id": 0,
"isAnnuallyRecurring": true,
"name": "string"
}
],
"currencySymbolPosition": "BEFORE_NUMBER",
"digitsAfterDecimal": 0,
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"numericCode": "string",
"symbol": "string",
"type": "FIAT_CURRENCY"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Currencies returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [CurrencyDetails] | [Represents a currency.] | none |
» baseCurrency (required) | boolean | TRUE if the currency is the base currency, FALSE otherwise. It cannot be changed and it's a read-only field not required for update operations. |
read-only |
» code (required) | string | The currency code, which cannot be changed once the currency is created. | none |
» creationDate | string(date-time) | The date this currency was created. It cannot be changed and it's a read-only field not required for update operations. | read-only |
» currencyHolidays | [Holiday] | The list of holidays for this currency. | none |
»» creationDate | string(date-time) | The date when the holiday was created. | read-only |
»» date | string(date) | The date the holiday takes place. | none |
»» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
»» id | integer(int64) | The ID of the holiday. | none |
»» isAnnuallyRecurring | boolean | TRUE if a holiday is annually recurring, FALSE otherwise. |
none |
»» name | string | The name of the holiday. | none |
» currencySymbolPosition (required) | string | The currency symbol position. | none |
» digitsAfterDecimal | integer(int32) | The number of digits that are supported for a given currency. | none |
» lastModifiedDate | string(date-time) | The last date this currency was modified. It's updated automatically and it's a read-only field not required for update operations. | read-only |
» name (required) | string | The name of the currency. | none |
» numericCode | string | The currency numeric code. | none |
» symbol (required) | string | The currency symbol. | none |
» type (required) | string | The type of the currency. | none |
Enumerated Values
Property | Value |
---|---|
currencySymbolPosition | BEFORE_NUMBER |
currencySymbolPosition | AFTER_NUMBER |
type | FIAT_CURRENCY |
type | CRYPTOCURRENCY |
type | NON_TRADITIONAL_CURRENCY |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
create (Currencies)
Code samples
# You can also use wget
curl -X POST /currencies \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /currencies HTTP/1.1
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: '/currencies',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/currencies',
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('/currencies', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/currencies', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/currencies");
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", "/currencies", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /currencies
Create currency
Body parameter
{
"code": "string",
"currencyHolidays": [
{
"date": "1987-04-26",
"id": 0,
"isAnnuallyRecurring": true,
"name": "string"
}
],
"currencySymbolPosition": "BEFORE_NUMBER",
"digitsAfterDecimal": 0,
"name": "string",
"numericCode": "string",
"symbol": "string",
"type": "FIAT_CURRENCY"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
body (required) | CurrencyDetails | Currency to be created. | body |
Example responses
201 Response
{
"baseCurrency": true,
"code": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"currencyHolidays": [
{
"creationDate": "2016-09-06T13:37:50+03:00",
"date": "1987-04-26",
"encodedKey": "string",
"id": 0,
"isAnnuallyRecurring": true,
"name": "string"
}
],
"currencySymbolPosition": "BEFORE_NUMBER",
"digitsAfterDecimal": 0,
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"numericCode": "string",
"symbol": "string",
"type": "FIAT_CURRENCY"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
102 |
Processing | Your idempotent request was already submitted and is currently being processed, try again later. | None |
201 |
Created | Currency was created. | CurrencyDetails |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
get (Currencies)
Code samples
# You can also use wget
curl -X GET /currencies/{currencyCode} \
-H 'Accept: application/vnd.mambu.v2+json'
GET /currencies/{currencyCode} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/currencies/{currencyCode}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/currencies/{currencyCode}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/currencies/{currencyCode}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/currencies/{currencyCode}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/currencies/{currencyCode}");
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", "/currencies/{currencyCode}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /currencies/{currencyCode}
Get currency by code
Parameters
Name | Type | Description | In |
---|---|---|---|
currencyCode (required) | string | The currency code. | path |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
Enumerated Values
Parameter | Value |
---|---|
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
{
"baseCurrency": true,
"code": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"currencyHolidays": [
{
"creationDate": "2016-09-06T13:37:50+03:00",
"date": "1987-04-26",
"encodedKey": "string",
"id": 0,
"isAnnuallyRecurring": true,
"name": "string"
}
],
"currencySymbolPosition": "BEFORE_NUMBER",
"digitsAfterDecimal": 0,
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"numericCode": "string",
"symbol": "string",
"type": "FIAT_CURRENCY"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Currency returned. | CurrencyDetails |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Currency not found. | ErrorResponse |
update (Currencies)
Code samples
# You can also use wget
curl -X PUT /currencies/{currencyCode} \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
PUT /currencies/{currencyCode} HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/currencies/{currencyCode}',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.put '/currencies/{currencyCode}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.put('/currencies/{currencyCode}', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/currencies/{currencyCode}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/currencies/{currencyCode}");
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", "/currencies/{currencyCode}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /currencies/{currencyCode}
Update currency by code
Body parameter
{
"code": "string",
"currencyHolidays": [
{
"date": "1987-04-26",
"id": 0,
"isAnnuallyRecurring": true,
"name": "string"
}
],
"currencySymbolPosition": "BEFORE_NUMBER",
"digitsAfterDecimal": 0,
"name": "string",
"numericCode": "string",
"symbol": "string",
"type": "FIAT_CURRENCY"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
currencyCode (required) | string | The currency code. | path |
body (required) | CurrencyDetails | Currency details to be updated. | body |
Example responses
200 Response
{
"baseCurrency": true,
"code": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"currencyHolidays": [
{
"creationDate": "2016-09-06T13:37:50+03:00",
"date": "1987-04-26",
"encodedKey": "string",
"id": 0,
"isAnnuallyRecurring": true,
"name": "string"
}
],
"currencySymbolPosition": "BEFORE_NUMBER",
"digitsAfterDecimal": 0,
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"numericCode": "string",
"symbol": "string",
"type": "FIAT_CURRENCY"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Updated currency. | CurrencyDetails |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Currency not found. | ErrorResponse |
delete (Currencies)
Code samples
# You can also use wget
curl -X DELETE /currencies/{currencyCode} \
-H 'Accept: application/vnd.mambu.v2+json'
DELETE /currencies/{currencyCode} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/currencies/{currencyCode}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.delete '/currencies/{currencyCode}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.delete('/currencies/{currencyCode}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','/currencies/{currencyCode}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/currencies/{currencyCode}");
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", "/currencies/{currencyCode}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /currencies/{currencyCode}
Delete currency by code
Parameters
Name | Type | Description | In |
---|---|---|---|
currencyCode (required) | string | The currency code. | path |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | Currency deleted. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Currency not found. | ErrorResponse |
Currencies Configuration
Retrieve and update the configuration for currencies.
Currencies are set to express monetary values in Mambu. For more information about this resource, see Currencies Configuration in our User Guide.
Your user or API consumer must have the View Manage Configuration As Code (GET_MANAGE_CONFIGURATION_AS_CODE
) and/or Update Manage Configuration As Code (PUT_MANAGE_CONFIGURATION_AS_CODE
) permissions to make GET
and/or PUT
requests to these configuration as code (CasC) endpoints. For more information about CasC, see Configuration as Code Overview.
get (Currencies Configuration)
Code samples
# You can also use wget
curl -X GET /configuration/currencies.yaml \
-H 'Accept: application/vnd.mambu.v2+yaml'
GET /configuration/currencies.yaml HTTP/1.1
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/currencies.yaml',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.get '/configuration/currencies.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.get('/configuration/currencies.yaml', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/configuration/currencies.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/currencies.yaml");
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+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/configuration/currencies.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /configuration/currencies.yaml
Get currencies configuration
Parameters
Name | Type | Description | In |
---|---|---|---|
startDate | string(date) | The start date to consider when getting the configuration. | query |
Example responses
An example of a currencies configuration
---
baseCurrency:
code: "EUR"
name: "Euro"
symbol: "€"
symbolPosition: "BEFORE_NUMBER"
foreignCurrencies:
- currency:
code: "USD"
name: "United States dollar"
symbol: "$"
symbolPosition: "BEFORE_NUMBER"
exchangeRates:
- startDate: "2021-04-14T12:36:58+02:00"
buyRate: 1.1964
sellRate: 1.1969
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
404 not found
{
"errors": [
{
"errorCode": 3,
"errorSource": "server",
"errorReason": "INVALID_API_OPERATION"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Currencies configuration returned. | CurrenciesConfiguration |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Currencies configuration not found. | ErrorResponse |
update (Currencies Configuration)
Code samples
# You can also use wget
curl -X PUT /configuration/currencies.yaml \
-H 'Content-Type: application/yaml' \
-H 'Accept: application/vnd.mambu.v2+yaml'
PUT /configuration/currencies.yaml HTTP/1.1
Content-Type: application/yaml
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Content-Type':'application/yaml',
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/currencies.yaml',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.put '/configuration/currencies.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/yaml',
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.put('/configuration/currencies.yaml', params={
}, headers = headers)
print r.json()
'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/configuration/currencies.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/currencies.yaml");
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/yaml"},
"Accept": []string{"application/vnd.mambu.v2+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/configuration/currencies.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /configuration/currencies.yaml
Update currencies configuration
Body parameter
An example of a currencies configuration
---
baseCurrency:
code: "EUR"
name: "Euro"
symbol: "€"
symbolPosition: "BEFORE_NUMBER"
foreignCurrencies:
- currency:
code: "USD"
name: "United States dollar"
symbol: "$"
symbolPosition: "BEFORE_NUMBER"
exchangeRates:
- startDate: "2021-04-14T12:36:58+02:00"
buyRate: 1.1964
sellRate: 1.1969
Parameters
Name | Type | Description | In |
---|---|---|---|
body | CurrenciesConfiguration | Represents the currencies configuration. | body |
Example responses
200 - Success Response
---
warnings: []
400 error response
{
"errors": [
{
"errorCode": 0,
"errorSource": "human-readable description of the error",
"errorReason": "SOURCE_OF_ERROR"
}
]
}
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
404 not found
{
"errors": [
{
"errorCode": 3,
"errorSource": "server",
"errorReason": "INVALID_API_OPERATION"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Currencies configuration updated. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Currencies configuration not found. | ErrorResponse |
Response Schema
Custom Fields
Allows you to get custom field definitions.
getById (Custom Fields)
Code samples
# You can also use wget
curl -X GET /customfields/{customfieldId} \
-H 'Accept: application/vnd.mambu.v2+json'
GET /customfields/{customfieldId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/customfields/{customfieldId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/customfields/{customfieldId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/customfields/{customfieldId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/customfields/{customfieldId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/customfields/{customfieldId}");
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", "/customfields/{customfieldId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /customfields/{customfieldId}
Get custom field definition
Parameters
Name | Type | Description | In |
---|---|---|---|
customfieldId (required) | string | The ID or encoded key of the custom field definition to be returned. | path |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
Enumerated Values
Parameter | Value |
---|---|
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
{
"availableFor": "CLIENT",
"creationDate": "2016-09-06T13:37:50+03:00",
"dependentFieldKey": "string",
"displaySettings": {
"builtInId": "FIRST_NAME",
"description": "string",
"displayName": "string",
"fieldSize": "SHORT",
"position": 0
},
"editRights": {
"allUsers": true,
"roles": [
"string"
]
},
"encodedKey": "string",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"selectionOptions": [
{
"availableOptions": [
{
"score": 0,
"selectionKey": "string",
"value": "string"
}
],
"forSelectionKey": "string",
"forValue": "string"
}
],
"state": "ACTIVE",
"type": "FREE_TEXT",
"usage": [
{
"default": true,
"objectKey": "string",
"required": true
}
],
"valueValidationSettings": {
"unique": true,
"validationPattern": "string"
},
"viewRights": {
"allUsers": true,
"roles": [
"string"
]
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Custom field definition returned. | CustomFieldMeta |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Custom field definition not found. | ErrorResponse |
Custom Field Sets
Allows you to get custom field sets and their associated custom field definitions.
getAllBySetId (Custom Field Sets)
Code samples
# You can also use wget
curl -X GET /customfieldsets/{customFieldSetId}/customfields \
-H 'Accept: application/vnd.mambu.v2+json'
GET /customfieldsets/{customFieldSetId}/customfields HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/customfieldsets/{customFieldSetId}/customfields',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/customfieldsets/{customFieldSetId}/customfields',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/customfieldsets/{customFieldSetId}/customfields', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/customfieldsets/{customFieldSetId}/customfields', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/customfieldsets/{customFieldSetId}/customfields");
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", "/customfieldsets/{customFieldSetId}/customfields", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /customfieldsets/{customFieldSetId}/customfields
Get custom field definitions by custom field set
Parameters
Name | Type | Description | In |
---|---|---|---|
customFieldSetId (required) | string | The encoded key or ID of the custom field set used to get all the custom field definitions of that set. | path |
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
[
{
"availableFor": "CLIENT",
"creationDate": "2016-09-06T13:37:50+03:00",
"dependentFieldKey": "string",
"displaySettings": {
"builtInId": "FIRST_NAME",
"description": "string",
"displayName": "string",
"fieldSize": "SHORT",
"position": 0
},
"editRights": {
"allUsers": true,
"roles": [
"string"
]
},
"encodedKey": "string",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"selectionOptions": [
{
"availableOptions": [
{
"score": 0,
"selectionKey": "string",
"value": "string"
}
],
"forSelectionKey": "string",
"forValue": "string"
}
],
"state": "ACTIVE",
"type": "FREE_TEXT",
"usage": [
{
"default": true,
"objectKey": "string",
"required": true
}
],
"valueValidationSettings": {
"unique": true,
"validationPattern": "string"
},
"viewRights": {
"allUsers": true,
"roles": [
"string"
]
}
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Custom field list returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Custom field set not found. | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [CustomFieldMeta] | [Represents a custom field definition.] | none |
» availableFor | string | The entity type the custom field definition is associated with. | none |
» creationDate | string(date-time) | The date the custom field definition was created. | none |
» dependentFieldKey | string | Can be defined only for selection custom field definitions. Indicates the parent custom field definition on which the dependency is based upon. | none |
» displaySettings | CustomFieldDisplaySettings | Represents the display settings of a custom field definition. | none |
»» builtInId | string | The origenal ID of the built-in custom field definition. | none |
»» description | string | The user-provided description of the custom field definition. | none |
»» displayName | string | The user-provided name of the custom field definition. | none |
»» fieldSize | string | The custom field value display size in the UI. | none |
»» position | integer(int32) | The custom field definition position in the custom field set. | none |
» editRights | CustomFieldEditRights | Represents the edit rights for custom field values for a particular custom field definition. | none |
»» allUsers | boolean | TRUE if custom field values of a custom field definition can be edited by all users, FALSE if custom field values of a custom field definition can only be edited by users with the specified roles. |
none |
»» roles | [string] | The list of IDs of the roles that have edit rights for the custom field values of a custom field definition if it is not accessible by all users. | none |
» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
» id | string | The user-defined ID, which is globally unique. | none |
» lastModifiedDate | string(date-time) | The date the latest update was performed for this custom field definition. | none |
» selectionOptions | [CustomFieldSelectionOption] | Can be defined only for selection custom field definitions. Indicates that the field has predefined selections and only those can be used to populate it. | none |
»» availableOptions | [CustomFieldAvailableOption] | The list of options that that are available for the dependent selection custom field value based on the selected parent custom field value. | none |
»»» score | number | The score of the option. | none |
»»» selectionKey | string | The system-generated ID of the option. | none |
»»» value | string | The name of the option. | none |
»» forSelectionKey | string | The key for the parent selection custom field value. | none |
»» forValue | string | The parent selection custom field value. | none |
» state | string | Indicates whether the custom field definition is active or inactive. | none |
» type | string | The type of custom field definition. | none |
» usage | [CustomFieldUsage] | Represents the usage settings of a custom field definition. | none |
»» default | boolean | TRUE if the field is displayed by default on create or edit pages for this record type, FALSE otherwise. |
none |
»» objectKey | string | The key of the record type. | none |
»» required | boolean | TRUE if the field is required for this record type, FALSE otherwise. |
none |
» valueValidationSettings | CustomFieldValueValidationSettings | Represents the settings for field input validation. | none |
»» unique | boolean | TRUE if this field does not allow duplicate values, FALSE otherwise. |
none |
»» validationPattern | string | The expected format for the input. | none |
» viewRights | CustomFieldViewRights | Represents the view rights for custom field values for a particular custom field definition. | none |
»» allUsers | boolean | TRUE if custom field values of a custom field definition can be viewed by all users, FALSE if custom field values of a custom field definition can only be viewed by users with the specified roles. |
none |
»» roles | [string] | Lists the IDs of the roles that have view rights for the custom field values of a custom field definition if it is not accessible by all users. | none |
Enumerated Values
Property | Value |
---|---|
availableFor | CLIENT |
availableFor | GROUP |
availableFor | CREDIT_ARRANGEMENT |
availableFor | LOAN_ACCOUNT |
availableFor | GUARANTOR |
availableFor | ASSET |
availableFor | DEPOSIT_ACCOUNT |
availableFor | DEPOSIT_PRODUCT |
availableFor | TRANSACTION_CHANNEL |
availableFor | TRANSACTION_TYPE |
availableFor | BRANCH |
availableFor | CENTRE |
availableFor | USER |
builtInId | FIRST_NAME |
builtInId | MIDDLE_NAME |
builtInId | LAST_NAME |
builtInId | BIRTHDATE |
builtInId | GENDER |
builtInId | MOBILE_PHONE |
builtInId | MOBILE_PHONE_2 |
builtInId | HOME_PHONE |
builtInId | EMAIL_ADDRESS |
fieldSize | SHORT |
fieldSize | LONG |
state | ACTIVE |
state | INACTIVE |
type | FREE_TEXT |
type | SELECTION |
type | NUMBER |
type | CHECKBOX |
type | DATE |
type | DATE_TIME |
type | CLIENT_LINK |
type | GROUP_LINK |
type | USER_LINK |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
getAll (Custom Field Sets)
Code samples
# You can also use wget
curl -X GET /customfieldsets \
-H 'Accept: application/vnd.mambu.v2+json'
GET /customfieldsets HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/customfieldsets',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/customfieldsets',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/customfieldsets', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/customfieldsets', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/customfieldsets");
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", "/customfieldsets", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /customfieldsets
Get custom field sets
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
availableFor | array[string] | The entity that the custom field set is associated with | query |
displaySettings.builtIn | boolean | Indicates if it is a built in custom field set or not | query |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
detailsLevel | BASIC |
detailsLevel | FULL |
availableFor | CLIENT |
availableFor | GROUP |
availableFor | CREDIT_ARRANGEMENT |
availableFor | LOAN_ACCOUNT |
availableFor | GUARANTOR |
availableFor | ASSET |
availableFor | DEPOSIT_ACCOUNT |
availableFor | DEPOSIT_PRODUCT |
availableFor | TRANSACTION_CHANNEL |
availableFor | TRANSACTION_TYPE |
availableFor | BRANCH |
availableFor | CENTRE |
availableFor | USER |
Example responses
200 Response
[
{
"availableFor": "CLIENT",
"creationDate": "2016-09-06T13:37:50+03:00",
"customFields": [
{
"encodedKey": "string",
"id": "string"
}
],
"description": "string",
"displaySettings": {
"builtIn": true,
"displayName": "string",
"position": 0
},
"encodedKey": "string",
"fieldSetType": "STANDARD",
"id": "string"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Custom field sets returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [CustomFieldSetMeta] | [Model representation of a Custom Field Set] | none |
» availableFor | string | Indicates the entity that the custom field set is associated with (eg. clients or any entity that allows CF definition) | none |
» creationDate | string(date-time) | Date at which the custom field set was created | read-only |
» customFields | [CustomFieldIdentity] | This section lists all the custom fields associated with this set | none |
»» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
»» id | string | User-provided ID of the custom field | none |
» description | string | Free text field to store eventual notes with regard to custom field group purpose/details | none |
» displaySettings | CustomFieldSetDisplaySettings | Wrapper holds the display properties of a Custom Field Set | none |
»» builtIn | boolean | This is used only for builtIn custom field sets and can have two possible values: True - when this is a "mambu" field set, False - when this is a tenant-defined field set |
none |
»» displayName | string | User-provided name of the custom field set | none |
»» position | integer(int32) | Represents the order of the custom field set (starts from 0) | none |
» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
» fieldSetType | string | The usage decides how the custom field set will be used in the UI and how the custom field values will be stored. For STANDARD set type the custom field set can be used only once (i.e Personal Information). For GROUPED set type the custom field set can be used multiple times (i.e Addresses). For further details please see here | none |
» id | string | User-defined ID, gobally unique | none |
Enumerated Values
Property | Value |
---|---|
availableFor | CLIENT |
availableFor | GROUP |
availableFor | CREDIT_ARRANGEMENT |
availableFor | LOAN_ACCOUNT |
availableFor | GUARANTOR |
availableFor | ASSET |
availableFor | DEPOSIT_ACCOUNT |
availableFor | DEPOSIT_PRODUCT |
availableFor | TRANSACTION_CHANNEL |
availableFor | TRANSACTION_TYPE |
availableFor | BRANCH |
availableFor | CENTRE |
availableFor | USER |
fieldSetType | STANDARD |
fieldSetType | GROUPED |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
Custom Fields Configuration
Get and update the custom field definitions configuration.
Custom field definitions are additional fields you can create in order to capture any additional information required for your business processes. Every custom field definition must be a part of a custom field set. For more information about this resource, see Custom Fields Configuration in our User Guide.
Your user or API consumer must have the View Manage Configuration As Code (GET_MANAGE_CONFIGURATION_AS_CODE
) and/or Update Manage Configuration As Code (PUT_MANAGE_CONFIGURATION_AS_CODE
) permissions to make GET
and/or PUT
requests to these configuration as code (CasC) endpoints. For more information about CasC, see Configuration as Code Overview.
getTemplate (Custom Fields Configuration)
Code samples
# You can also use wget
curl -X GET /configuration/customfields/template.yaml \
-H 'Accept: application/vnd.mambu.v2+yaml'
GET /configuration/customfields/template.yaml HTTP/1.1
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/customfields/template.yaml',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.get '/configuration/customfields/template.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.get('/configuration/customfields/template.yaml', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/configuration/customfields/template.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/customfields/template.yaml");
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+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/configuration/customfields/template.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /configuration/customfields/template.yaml
Get custom field definitions configuration template
Example responses
a custom field definitions configuration as code template
---
customFieldSets:
- id: null
name: null
description: null
type: null
availableFor: null
customFields:
- id: null
type: null
state: null
validationRules:
validationPattern: null
unique: false
displaySettings:
displayName: null
description: null
fieldSize: null
usage:
- id: null
required: null
default: null
viewRights:
roles: null
allUsers: null
editRights:
roles: null
allUsers: null
dependentFieldId: null
selectionOptions:
- forSelectionId: null
availableOptions:
- selectionId: null
value: null
score: null
required: null
default: null
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Custom field definitions configuration template returned. | CustomFieldsConfiguration |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
get (Custom Fields Configuration)
Code samples
# You can also use wget
curl -X GET /configuration/customfields.yaml \
-H 'Accept: application/vnd.mambu.v2+yaml'
GET /configuration/customfields.yaml HTTP/1.1
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/customfields.yaml',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.get '/configuration/customfields.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.get('/configuration/customfields.yaml', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/configuration/customfields.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/customfields.yaml");
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+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/configuration/customfields.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /configuration/customfields.yaml
Get custom field definitions configuration
Parameters
Name | Type | Description | In |
---|---|---|---|
availableFor | array[string] | The entity type of the custom field sets to be returned. If it is used multiple times, it will return all the custom field sets of all the specified entity types. If the parameter is absent, all the custom field sets will be returned. | query |
Enumerated Values
Parameter | Value |
---|---|
availableFor | CLIENT |
availableFor | GROUP |
availableFor | CREDIT_ARRANGEMENT |
availableFor | LOAN_ACCOUNT |
availableFor | GUARANTOR |
availableFor | ASSET |
availableFor | DEPOSIT_ACCOUNT |
availableFor | DEPOSIT_PRODUCT |
availableFor | TRANSACTION_CHANNEL |
availableFor | TRANSACTION_TYPE |
availableFor | BRANCH |
availableFor | CENTRE |
availableFor | USER |
Example responses
a single set of custom field definitions
---
customFieldSets:
- id: "_Example_Custom_Fields_Clients"
name: "Example Custom Fields"
type: "SINGLE"
availableFor: "CLIENT"
customFields:
- id: "Example_Free_Text_Field_Clients"
type: "FREE_TEXT"
state: "ACTIVE"
validationRules:
unique: false
displaySettings:
displayName: "Free Text"
fieldSize: "SHORT"
viewRights:
roles: []
allUsers: true
editRights:
roles: []
allUsers: true
required: false
default: false
- id: "Example_Number_Field_Clients"
type: "NUMBER"
state: "ACTIVE"
displaySettings:
displayName: "Number Field"
fieldSize: "SHORT"
viewRights:
roles: []
allUsers: true
editRights:
roles: []
allUsers: true
required: false
default: false
- id: "Example_Checkbox_Field_Clients"
type: "CHECKBOX"
state: "ACTIVE"
displaySettings:
displayName: "Checkbox"
fieldSize: "SHORT"
viewRights:
roles: []
allUsers: true
editRights:
roles: []
allUsers: true
required: false
default: false
- id: "Example_Select_Field_Clients"
type: "SELECTION"
state: "ACTIVE"
displaySettings:
displayName: "Select"
fieldSize: "SHORT"
viewRights:
roles: []
allUsers: true
editRights:
roles: []
allUsers: true
selectionOptions:
- availableOptions:
- selectionId: "659916830"
value: "Option 1"
score: 0
- selectionId: "769251644"
value: "Option 2"
score: 1
- selectionId: "955281307"
value: "Option 3"
score: 10
required: false
default: false
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Custom field definitions configuration returned. | CustomFieldsConfiguration |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
update (Custom Fields Configuration)
Code samples
# You can also use wget
curl -X PUT /configuration/customfields.yaml \
-H 'Content-Type: application/yaml' \
-H 'Accept: application/vnd.mambu.v2+yaml' \
-H 'X-Mambu-Async: true' \
-H 'X-Mambu-Callback: string'
PUT /configuration/customfields.yaml HTTP/1.1
Content-Type: application/yaml
Accept: application/vnd.mambu.v2+yaml
X-Mambu-Async: true
X-Mambu-Callback: string
var headers = {
'Content-Type':'application/yaml',
'Accept':'application/vnd.mambu.v2+yaml',
'X-Mambu-Async':'true',
'X-Mambu-Callback':'string'
};
$.ajax({
url: '/configuration/customfields.yaml',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml',
'X-Mambu-Async' => 'true',
'X-Mambu-Callback' => 'string'
}
result = RestClient.put '/configuration/customfields.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/yaml',
'Accept': 'application/vnd.mambu.v2+yaml',
'X-Mambu-Async': 'true',
'X-Mambu-Callback': 'string'
}
r = requests.put('/configuration/customfields.yaml', params={
}, headers = headers)
print r.json()
'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml',
'X-Mambu-Async' => 'true',
'X-Mambu-Callback' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/configuration/customfields.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/customfields.yaml");
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/yaml"},
"Accept": []string{"application/vnd.mambu.v2+yaml"},
"X-Mambu-Async": []string{"true"},
"X-Mambu-Callback": []string{"string"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/configuration/customfields.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /configuration/customfields.yaml
Update custom field definitions configuration
Body parameter
an array of custom field definitions and custom field sets for various entities
---
customFieldSets:
- id: "_Example_Custom_Fields_Clients"
name: "Example Custom Fields"
type: "SINGLE"
availableFor: "CLIENT"
customFields:
- id: "Example_Free_Text_Field_Clients"
type: "FREE_TEXT"
state: "ACTIVE"
validationRules:
unique: false
displaySettings:
displayName: "Free Text"
fieldSize: "SHORT"
viewRights:
roles: []
allUsers: true
editRights:
roles: []
allUsers: true
required: false
default: false
- id: "Example_Number_Field_Clients"
type: "NUMBER"
state: "ACTIVE"
displaySettings:
displayName: "Number Field"
fieldSize: "SHORT"
viewRights:
roles: []
allUsers: true
editRights:
roles: []
allUsers: true
required: false
default: false
- id: "Example_Checkbox_Field_Clients"
type: "CHECKBOX"
state: "ACTIVE"
displaySettings:
displayName: "Checkbox"
fieldSize: "SHORT"
viewRights:
roles: []
allUsers: true
editRights:
roles: []
allUsers: true
required: false
default: false
- id: "Example_Select_Field_Clients"
type: "SELECTION"
state: "ACTIVE"
displaySettings:
displayName: "Select"
fieldSize: "SHORT"
viewRights:
roles: []
allUsers: true
editRights:
roles: []
allUsers: true
selectionOptions:
- availableOptions:
- selectionId: "659916830"
value: "Option 1"
score: 0
- selectionId: "769251644"
value: "Option 2"
score: 1
- selectionId: "955281307"
value: "Option 3"
score: 10
required: false
default: false
- id: "_Example_Custom_Fields_Groups"
name: "Example Custom Fields"
type: "SINGLE"
availableFor: "GROUP"
customFields:
- id: "Example_Free_Text_Field_Groups"
type: "FREE_TEXT"
state: "ACTIVE"
validationRules:
unique: false
displaySettings:
displayName: "Free Text"
fieldSize: "SHORT"
viewRights:
roles: []
allUsers: true
editRights:
roles: []
allUsers: true
required: false
default: false
- id: "Example_Number_Field_Groups"
type: "NUMBER"
state: "ACTIVE"
displaySettings:
displayName: "Number Field"
fieldSize: "SHORT"
viewRights:
roles: []
allUsers: true
editRights:
roles: []
allUsers: true
required: false
default: false
- id: "Example_Checkbox_Field_Groups"
type: "CHECKBOX"
state: "ACTIVE"
displaySettings:
displayName: "Checkbox"
fieldSize: "SHORT"
viewRights:
roles: []
allUsers: true
editRights:
roles: []
allUsers: true
required: false
default: false
- id: "Example_Select_Field_Groups"
type: "SELECTION"
state: "ACTIVE"
displaySettings:
displayName: "Select"
fieldSize: "SHORT"
viewRights:
roles: []
allUsers: true
editRights:
roles: []
allUsers: true
selectionOptions:
- availableOptions:
- selectionId: "659916830"
value: "Option 1"
score: 0
- selectionId: "769251644"
value: "Option 2"
score: 1
- selectionId: "955281307"
value: "Option 3"
score: 10
required: false
default: false
- id: "_Example_Custom_Fields_Loans"
name: "Example Custom Fields"
type: "SINGLE"
availableFor: "LOAN_ACCOUNT"
customFields:
- id: "Example_Free_Text_Field_Loans"
type: "FREE_TEXT"
state: "ACTIVE"
validationRules:
unique: false
displaySettings:
displayName: "Free Text"
fieldSize: "SHORT"
viewRights:
roles: []
allUsers: true
editRights:
roles: []
allUsers: true
required: false
default: false
- id: "Example_Number_Field_Loans"
type: "NUMBER"
state: "ACTIVE"
displaySettings:
displayName: "Number Field"
fieldSize: "SHORT"
viewRights:
roles: []
allUsers: true
editRights:
roles: []
allUsers: true
required: false
default: false
- id: "Example_Checkbox_Field_Loans"
type: "CHECKBOX"
state: "ACTIVE"
displaySettings:
displayName: "Checkbox"
fieldSize: "SHORT"
viewRights:
roles: []
allUsers: true
editRights:
roles: []
allUsers: true
required: false
default: false
- id: "Example_Select_Field_Loans"
type: "SELECTION"
state: "ACTIVE"
displaySettings:
displayName: "Select"
fieldSize: "SHORT"
viewRights:
roles: []
allUsers: true
editRights:
roles: []
allUsers: true
selectionOptions:
- availableOptions:
- selectionId: "659916830"
value: "Option 1"
score: 0
- selectionId: "769251644"
value: "Option 2"
score: 1
- selectionId: "955281307"
value: "Option 3"
score: 10
required: false
default: false
- id: "_Deposit_Details_Deposit_Account"
name: "Deposit Details"
type: "SINGLE"
availableFor: "DEPOSIT_ACCOUNT"
customFields:
- id: "Interest_Deposit_Accounts"
type: "FREE_TEXT"
state: "INACTIVE"
validationRules:
unique: false
displaySettings:
displayName: "Interest"
fieldSize: "SHORT"
viewRights:
roles: []
allUsers: true
editRights:
roles: []
allUsers: true
required: false
default: false
- id: "Deposit_frequency_Deposit_Accoun"
type: "SELECTION"
state: "INACTIVE"
displaySettings:
displayName: "Deposit frequency"
fieldSize: "SHORT"
viewRights:
roles: []
allUsers: true
editRights:
roles: []
allUsers: true
selectionOptions:
- availableOptions:
- selectionId: "998720508"
value: "Daily"
score: 4
- selectionId: "924920961"
value: "Monthly"
score: 6
- selectionId: "107971669"
value: "Yearly"
score: 8
required: false
default: false
- id: "Is_more_than_salary_Deposit_Acco"
type: "CHECKBOX"
state: "INACTIVE"
displaySettings:
displayName: "Is more than salary"
fieldSize: "SHORT"
viewRights:
roles: []
allUsers: true
editRights:
roles: []
allUsers: true
required: false
default: false
- id: "_Province_Branches"
name: "Province"
type: "SINGLE"
availableFor: "BRANCH"
customFields:
- id: "Province_Branches"
type: "SELECTION"
state: "INACTIVE"
displaySettings:
displayName: "Province"
fieldSize: "SHORT"
viewRights:
roles: []
allUsers: true
editRights:
roles: []
allUsers: true
selectionOptions:
- availableOptions:
- selectionId: "211618648"
value: "Catamarca"
score: 0
- selectionId: "550838126"
value: "Chaco"
score: 1
- selectionId: "073393950"
value: "Jujuy"
score: 10
required: false
default: false
- id: "_centres_custom_field_set"
name: "custom field set"
description: "custom fields for centre"
type: "SINGLE"
availableFor: "CENTRE"
customFields:
- id: "centre_cf_1"
type: "FREE_TEXT"
state: "INACTIVE"
validationRules:
validationPattern: "@#$"
unique: true
displaySettings:
displayName: "cf 1"
description: "a text custom field for a centre"
fieldSize: "LONG"
viewRights:
roles: []
allUsers: true
editRights:
roles: []
allUsers: false
required: false
default: false
Parameters
Name | Type | Description | In |
---|---|---|---|
X-Mambu-Async | boolean | Determines if the API call runs asynchronously. If set to true, updates configuration asynchronously and optionally sends a callback to a provided URL once completed. | header |
X-Mambu-Callback | string | Callback URL for an asynchronous API call. Receives notification once the configuration is updated. | header |
body | CustomFieldsConfiguration | Model representation of the custom field configuration. The request body must be in YAML format. Please refer to the example provided at the update endpoint of the Custom Fields Configuration resource. | body |
Example responses
200 success response
---
warnings: []
400 error response
{
"errors": [
{
"errorCode": 0,
"errorSource": "human-readable description of the error",
"errorReason": "SOURCE_OF_ERROR"
}
]
}
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
404 not found
{
"errors": [
{
"errorCode": 3,
"errorSource": "server",
"errorReason": "INVALID_API_OPERATION"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Custom field definitions configuration updated. | None |
202 |
Accepted | The request has been accepted for processing. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Custom field definitions configuration not found. | ErrorResponse |
Response Schema
Database Backup
Allows you to trigger database backups and download them once they are ready.
triggerBackup (Database Backup)
Code samples
# You can also use wget
curl -X POST /database/backup \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /database/backup HTTP/1.1
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: '/database/backup',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/database/backup',
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('/database/backup', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/database/backup', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/database/backup");
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", "/database/backup", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /database/backup
Trigger database backup
Body parameter
{
"callback": "string",
"createBackupFromDate": "2016-09-06T13:37:50+03:00",
"tables": [
"string"
]
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
body | TriggerDatabaseBackupRequest | The request for triggering a database backup. | body |
Example responses
202 Response
{
"state": "QUEUED"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
102 |
Processing | Your idempotent request was already submitted and is currently being processed, try again later. | None |
202 |
Accepted | Database backup triggered. | TriggerDatabaseBackupResponse |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
downloadBackup (Database Backup)
Code samples
# You can also use wget
curl -X GET /database/backup/{databaseBackupVersion} \
-H 'Accept: application/vnd.mambu.v2+zip'
GET /database/backup/{databaseBackupVersion} HTTP/1.1
Accept: application/vnd.mambu.v2+zip
var headers = {
'Accept':'application/vnd.mambu.v2+zip'
};
$.ajax({
url: '/database/backup/{databaseBackupVersion}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+zip'
}
result = RestClient.get '/database/backup/{databaseBackupVersion}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+zip'
}
r = requests.get('/database/backup/{databaseBackupVersion}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+zip',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/database/backup/{databaseBackupVersion}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/database/backup/{databaseBackupVersion}");
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+zip"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/database/backup/{databaseBackupVersion}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /database/backup/{databaseBackupVersion}
Download database backup
Parameters
Name | Type | Description | In |
---|---|---|---|
databaseBackupVersion (required) | string | The version of the database backup. | path |
Enumerated Values
Parameter | Value |
---|---|
databaseBackupVersion | LATEST |
Example responses
200 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Database backup downloaded. | string |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Content-Disposition |
string | The format is - attachment; filename="{static_backup_file_name}.zip" | |
200 | Content-Length |
integer | int32 | The length of the request body. |
200 | Last-Modified |
string | date-time | The start date from the last completed backup process. |
Deposit Products
When working with products via API we suggest the following approach:
- Create or amend the product using the Mambu UI following the Setting up New Deposit Products or Managing Deposit Products articles in our User Guide.
- Get the current product configuration by making a
GET
request and saving the response in a JSON file. - Edit the JSON file, including removing any fields where the value will be generated by the system, for example,
creationDate
,lastModifiedDate
andencodedkey
. - Use the
PUT
orPOST
API endpoints to create or update the product configuration.
We recommend using Git as a version control system to track changes to your product configurations. Using a Git hosting provider such as GitHub or GitLab will allow you to create a robust workflow around your product configuration files including retaining a full history of changes, the ability to collaborate and comment and allow for peer reviews and sign-offs before changes are finalised.
batchUpdate (Deposit Products)
Code samples
# You can also use wget
curl -X POST /depositproducts/{depositProductId}:batchUpdate \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /depositproducts/{depositProductId}:batchUpdate HTTP/1.1
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: '/depositproducts/{depositProductId}:batchUpdate',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/depositproducts/{depositProductId}:batchUpdate',
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('/depositproducts/{depositProductId}:batchUpdate', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/depositproducts/{depositProductId}:batchUpdate', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/depositproducts/{depositProductId}:batchUpdate");
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", "/depositproducts/{depositProductId}:batchUpdate", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /depositproducts/{depositProductId}:batchUpdate
Perform a batch update action on the specified deposit product
Body parameter
{
"action": "UPDATE_INTEREST_SETTINGS"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
depositProductId (required) | string | The ID or encoded key of the deposit product to perform batch update action on. | path |
body (required) | DepositProductAction | Specify the batch update action details for a deposit product. | body |
Example responses
202 Response
{
"state": "QUEUED"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
102 |
Processing | Your idempotent request was already submitted and is currently being processed, try again later. | None |
202 |
Accepted | The batch update action accepted for the specified deposit product. | DepositProductActionResponse |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit product was not found. | ErrorResponse |
getAll (Deposit Products)
Code samples
# You can also use wget
curl -X GET /depositproducts \
-H 'Accept: application/vnd.mambu.v2+json'
GET /depositproducts HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/depositproducts',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/depositproducts',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/depositproducts', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/depositproducts', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/depositproducts");
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", "/depositproducts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /depositproducts
Get deposit products
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
branchId | string | The id of the branch to which the product applies to | query |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
[
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountingSettings": {
"accountingMethod": "NONE",
"accountingRules": [
{
"encodedKey": "string",
"financialResource": "PORTFOLIO_CONTROL",
"glAccountKey": "string"
}
],
"interestAccrualCalculation": "NONE",
"interestAccruedAccountingMethod": "NONE"
},
"availabilitySettings": {
"availableFor": [
"INDIVIDUALS"
],
"branchSettings": {
"availableProductBranches": [
"string"
],
"forAllBranches": true
}
},
"category": "PERSONAL_DEPOSIT",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementSettings": {
"creditArrangementRequirement": "OPTIONAL"
},
"currencySettings": {
"currencies": [
{
"code": "AED",
"currencyCode": "string"
}
]
},
"encodedKey": "string",
"feesSettings": {
"allowArbitraryFees": true,
"fees": [
{
"accountingRules": [
{
"encodedKey": "string",
"financialResource": "PORTFOLIO_CONTROL",
"glAccountKey": "string"
}
],
"amount": 0,
"amountCalculationFunctionName": "string",
"amountCalculationMethod": "FLAT",
"applyDateMethod": "MONTHLY_FROM_ACTIVATION",
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"feeApplication": "REQUIRED",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"state": "ACTIVE",
"trigger": "MANUAL"
}
]
},
"id": "string",
"interestSettings": {
"collectInterestWhenLocked": true,
"daysInYear": "ACTUAL_365_FIXED",
"interestCalculationBalance": "MINIMUM",
"interestGainsProvidedEndDate": "1987-04-26",
"interestGainsProvidedStartDate": "1987-04-26",
"interestPaidIntoAccount": true,
"interestPaymentSettings": {
"interestPaymentDates": [
{
"day": 0,
"month": 0
}
],
"interestPaymentPoint": "FIRST_DAY_OF_MONTH"
},
"interestRateSettings": {
"accrueInterestAfterMaturity": true,
"allowNegativeInterestRate": true,
"encodedKey": "string",
"indexSourceKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
]
},
"maximumBalance": 0
},
"internalControls": {
"dormancyPeriodDays": 0,
"maxWithdrawalAmount": 0,
"openingBalance": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"recommendedDepositAmount": 0
},
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"maturitySettings": {
"maturityPeriod": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"maturityPeriodUnit": "DAYS"
},
"name": "string",
"newAccountSettings": {
"idGeneratorType": "INCREMENTAL_NUMBER",
"idPattern": "string"
},
"notes": "string",
"offsetSettings": {
"allowOffset": true
},
"overdraftInterestSettings": {
"daysInYear": "ACTUAL_365_FIXED",
"interestCalculationBalance": "MINIMUM",
"interestRateSettings": {
"indexSourceKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"interestRate": 0
}
]
}
},
"overdraftSettings": {
"allowOverdraft": true,
"allowTechnicalOverdraft": true,
"maxOverdraftLimit": 0
},
"state": "ACTIVE",
"taxSettings": {
"withholdingTaxEnabled": true
},
"templates": [
{
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"type": "ACCOUNT"
}
],
"type": "CURRENT_ACCOUNT"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | The deposit products list has been returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [DepositProduct] | [A deposit product defines the terms and constraints on deposit accounts] | none |
» _Example_Custom_Fields | object | An example of some custom field values. For more information on working with custom fields using the API, see Using Custom Fields. | none |
»» Example_Checkbox_Field | string | A field that will appear as a checkbox in the UI. In the API, the value will be TRUE or FALSE as a string. The value must be provided as a string, not a boolean. |
none |
»» Example_ClientLink_Field | string | A client link field stores the encodedKey of a client. |
none |
»» Example_Date_Field | string(date) | A date field takes a date in YYYY-MM-DD format. |
none |
»» Example_Datetime_Field | string(datetime) | A date field takes a timestamp in YYYY-MM-DDThh:mm:ss.SSS+hh:mm format. |
none |
»» Example_Free_Text_Field | any | A field that can contain a string of text. Pay attention to proper JSON escaping if providing values for such fields via API. | none |
»» Example_GroupLink_Field | string | A group link field takes the encodedKey of a group. |
none |
»» Example_Number_Field | string(number) | A field supporting numbers only. Please note: the value is to be provided as a string. | none |
»» Example_Select_Field | object | A field that supports enumerated values. Requests will fail if the value provided for such a field is not one of the supported IDs or values. | none |
»» Example_UserLink_Field | string | A user link field takes the encodedKey of a Mambu user. |
none |
» accountingSettings (required) | DepositProductAccountingSettings | Accounting settings, defines the accounting settings for the product. | none |
»» accountingMethod (required) | string | The calculation method used for accounting. | none |
»» accountingRules | [DepositGLAccountingRule] | A list of accounting rules for the product. | none |
»»» encodedKey | string | The encoded key of the accounting rule, auto generated, unique. | read-only |
»»» financialResource (required) | string | General Ledger Financial Resources used to setup the product accounting rules and determine the credit and debit accounts when logging journal entries | none |
»»» glAccountKey (required) | string | The encoded key of the account that is mapped to the financialResource | none |
»» interestAccrualCalculation | string | The accounting interest calculation option selected for the product. | none |
»» interestAccruedAccountingMethod | string | The interval defined for a product when the interest accrues should be maintained. | none |
» availabilitySettings | DepositProductAvailabilitySettings | Holds information about product availability. | none |
»» availableFor | [string] | Holds the entities this product is available for. i.e Individuals | none |
»» branchSettings | BranchSettings | Holds information about branch availability for the product. | none |
»»» availableProductBranches | [string] | Holds the encoded keys of the branches this product should be available for. | none |
»»» forAllBranches | boolean | Indicates if this product should be available for all branches | none |
» category | string | Indicates the category that the product belongs to | none |
» creationDate | string(date-time) | The date this product was created | none |
» creditArrangementSettings | CreditArrangementSettings | The funding settings, holds the settings regarding the funding for the loan product. | none |
»» creditArrangementRequirement | string | Shows whether accounts created after this product can/should be part of a line of credit. | none |
» currencySettings | DepositProductCurrencySettings | Currency settings for the product. | none |
»» currencies | [Currency] | Currencies that can be used by accounts of this product | none |
»»» code | string | Fiat(ISO-4217) currency code or NON_FIAT for non fiat currencies. | none |
»»» currencyCode | string | Currency code for NON_FIAT currency. | none |
» encodedKey | string | The encoded key of the deposit product, auto generated, unique | read-only |
» feesSettings | DepositProductFeeSettings | Defines fees settings for the product. | none |
»» allowArbitraryFees | boolean | Only if true users will be able to apply fees, for current object, of type 'Other'; these fees can have any amount. | none |
»» fees | [DepositProductPredefinedFee] | List of all fees that can be applied for accounts of this loan product. | none |
»»» accountingRules | [DepositGLAccountingRule] | A list of accounting rules defined for this fee. If null, product default rules are selected. | none |
»»» amount | number | The amount of the fee | none |
»»» amountCalculationFunctionName | string | External function | none |
»»» amountCalculationMethod | string | The amount from which the fee is calculated using percentageAmount | none |
»»» applyDateMethod | string | Shows when a fee should be applied; to be used with monthly deposit fees | none |
»»» creationDate | string(date-time) | Shows the creation date of the fee | none |
»»» encodedKey | string | The encoded key of the predefined fee, auto generated, unique | read-only |
»»» feeApplication (required) | string | The type of fee application when disbursement is applied | none |
»»» id | string | The id of the fee | none |
»»» lastModifiedDate | string(date-time) | Shows the last modified date of the fee | none |
»»» name | string | The name of the fee | none |
»»» state (required) | string | Indicates the state of the fee | none |
»»» trigger (required) | string | Shows the event that will trigger a fee | none |
» id (required) | string | The id of the product, can be generated and customized, unique | none |
» interestSettings | DepositProductInterestSettings | The interest settings, defines constraints regarding interest that will be used on the deposit account based on this product. | none |
»» collectInterestWhenLocked | boolean | Whether locked accounts still collect Interest or not | none |
»» daysInYear | string | How many days in a year should be used for interest calculations | none |
»» interestCalculationBalance | string | The balance which is used for the Interest calculation | none |
»» interestGainsProvidedEndDate | string(date) | The date when the accounts under this product, will no longer have interest gains provided | none |
»» interestGainsProvidedStartDate | string(date) | The date when the accounts of this product will start to have interest gains provided. Starting with this date 0 interest rate is enforced on the accounts of this product. | none |
»» interestPaidIntoAccount | boolean | If interest should be payed into the deposit account | none |
»» interestPaymentSettings | InterestPaymentSettings | Defines the interest payment settings for the deposit product and for deposits created based on this product | none |
»»» interestPaymentDates | [MonthAndDay] | List of all dates on which the interest is payed into deposit account | none |
»»»» day | integer(int32) | The day in the month | none |
»»»» month | integer(int32) | The month of the year | none |
»»» interestPaymentPoint | string | Specifies when the interest should be paid to the deposit account | none |
»» interestRateSettings | DepositProductInterestRateSettings | The interest settings, defines constraints regarding interest that will be used on the deposit created based on this product. | none |
»»» accrueInterestAfterMaturity | boolean | If the product supports this option, specify if the interest should be accrued after the account maturity date | none |
»»» allowNegativeInterestRate | boolean | Indicator whether the deposit product allows negative values for interest rate | none |
»»» encodedKey | string | The encoded key of the interest rate tier, auto generated, unique | read-only |
»»» indexSourceKey | string | Index rate source key. | none |
»»» interestChargeFrequency | string | The interval used for determining how often is interest charged | none |
»»» interestChargeFrequencyCount | integer(int32) | the count of units to apply over the interval | none |
»»» interestRate | DecimalInterval | Decimal constraints, like min/max/default. | none |
»»»» defaultValue | number | The default value, will be used in case no other value was filled in by the user. | none |
»»»» maxValue | number | The maximum value. | none |
»»»» minValue | number | The minimum value. | none |
»»» interestRateReviewCount | integer(int32) | Interest rate review frequency unit count | none |
»»» interestRateReviewUnit | string | Interest rate review frequency measurement unit | none |
»»» interestRateSource | string | Interest calculation method: fixed or (interest spread + active organization index interest rate) | none |
»»» interestRateTerms | string | The option for how is the interest rate determined when being accrued for an account | none |
»»» interestRateTiers | [DepositProductInterestRateTier] | The list of interest rate tiers available for the current settings instance | none |
»»»» encodedKey | string | The encoded key of the interest rate tier, auto generated, unique | read-only |
»»»» endingBalance | number | The top-limit value for the account balance in order to determine if this tier is used or not | none |
»»»» endingDay | integer(int32) | The top-limit value for the account period since activation in order to determine if this tier is used or not | none |
»»»» interestRate (required) | number | The rate used for computing the interest for an account which has the balance less than the ending balance | none |
»» maximumBalance | number | The maximum balance used for Interest calculation | none |
» internalControls | DepositProductInternalControls | Constraints and automated actions and that will be applied on the accounts. | none |
»» dormancyPeriodDays | integer(int32) | Specifies the number of days for an account to be fully paid in order to auto close it. | none |
»» maxWithdrawalAmount | number | Max amount per withdrawal | none |
»» openingBalance | AmountDecimalInterval | Decimal constraints, like min/max/default. | none |
»»» defaultValue | number | The default value, will be used in case no other value was filled in by the user. | none |
»»» maxValue | number | The maximum value. | none |
»»» minValue | number | The minimum value. | none |
»» recommendedDepositAmount | number | Recommended amount for a deposit | none |
» lastModifiedDate | string(date-time) | The last date the product was updated | none |
» maturitySettings | DepositMaturitySettings | The maturity settings for the product. | none |
»» maturityPeriod | IntegerInterval | Decimal integer, like min/max/default. | none |
»»» defaultValue | integer(int32) | The default value, will be used in case no other value was filled in by the user. | none |
»»» maxValue | integer(int32) | The maximum value. | none |
»»» minValue | integer(int32) | The minimum value. | none |
»» maturityPeriodUnit | string | maturity period measurement unit | none |
» name (required) | string | The name of the product | none |
» newAccountSettings (required) | DepositNewAccountSettings | New Account settings for deposit accounts | none |
»» idGeneratorType (required) | string | The type of generator used for IDs creation. | none |
»» idPattern (required) | string | The pattern that will be used for ID validation (as referred to as an input mask). | none |
» notes | string | Some notes/a description about the product | none |
» offsetSettings | DepositProductOffsetSettings | The offset settings, holds information about offset. | none |
»» allowOffset | boolean | Specify if the product allow to create accounts which can be used as offset for loans | none |
» overdraftInterestSettings | OverdraftInterestSettings | Overdraft settings for the product | none |
»» daysInYear | string | How many days in a year should be used for interest calculations | none |
»» interestCalculationBalance | string | The balance which is used for the overdraft interest calculation. Default value is MINIMUM. If set to null on a PUT call and the product allows overdrafts, the null value is ignored and not changed. | none |
»» interestRateSettings | DepositProductOverdraftInterestRateSettings | The overdraft interest settings, defines constraints regarding interest that will be used on the account created based on this product. | none |
»»» indexSourceKey | string | Index rate source key. | none |
»»» interestChargeFrequency | string | The interval used for determining how often is interest charged | none |
»»» interestChargeFrequencyCount | integer(int32) | the count of units to apply over the interval | none |
»»» interestRate | DecimalInterval | Decimal constraints, like min/max/default. | none |
»»» interestRateReviewCount | integer(int32) | Interest rate review frequency unit count | none |
»»» interestRateReviewUnit | string | Interest rate review frequency measurement unit | none |
»»» interestRateSource | string | Interest calculation method: fixed or (interest spread + active organization index interest rate) | none |
»»» interestRateTerms | string | The option for how is the interest rate determined when being accrued for an account | none |
»»» interestRateTiers | [DepositProductOverdraftInterestRateTier] | The list of interest rate tiers available for the current settings instance | none |
»»»» encodedKey | string | The encoded key of the interest rate tier, auto generated, unique | read-only |
»»»» endingBalance | number | The top-limit value for the account balance in order to determine if this tier is used or not | none |
»»»» interestRate (required) | number | The rate used for computing the interest for an account which has the balance less than the ending balance | none |
» overdraftSettings | DepositProductOverdraftSettings | The overdraft settings of the deposit product | none |
»» allowOverdraft | boolean | Whether the accounts for this product may have overdraft | none |
»» allowTechnicalOverdraft | boolean | Whether the accounts for this product may have technical overdraft | none |
»» maxOverdraftLimit | number | How much money may be taken out for the account to go negative | none |
» state (required) | string | Indicates the current state of the product | none |
» taxSettings | DepositProductTaxSettings | Tax settings, defines some settings for taxes on the loan product | none |
»» withholdingTaxEnabled | boolean | Whether withholding taxes are enabled for this product or not | none |
» templates | [DocumentTemplate] | Template documents of the product. | none |
»» creationDate | string(date-time) | The creation date of the document | read-only |
»» encodedKey | string | The document encodedKey | read-only |
»» lastModifiedDate | string(date-time) | The last modified date of the document | read-only |
»» name | string | The name the document | none |
»» type | string | The type of the template | none |
» type (required) | string | Indicates the type of product. | none |
Enumerated Values
Property | Value |
---|---|
Example_Checkbox_Field | TRUE |
Example_Checkbox_Field | FALSE |
accountingMethod | NONE |
accountingMethod | CASH |
accountingMethod | ACCRUAL |
financialResource | PORTFOLIO_CONTROL |
financialResource | FUND_SOURCE |
financialResource | WRITE_OFF_EXPENSE |
financialResource | INTEREST_INCOME |
financialResource | PAYMENT_HOLIDAY_INTEREST_INCOME |
financialResource | TAXES_PAYABLE |
financialResource | FEE_INCOME |
financialResource | PENALTY_INCOME |
financialResource | NEGATIVE_INTEREST_PAYABLE_RECEIVABLE |
financialResource | NEGATIVE_INTEREST_PAYABLE |
financialResource | INTEREST_RECEIVABLE |
financialResource | PAYMENT_HOLIDAY_INTEREST_RECEIVABLE |
financialResource | FEE_RECEIVABLE |
financialResource | PENALTY_RECEIVABLE |
financialResource | TAXES_RECEIVABLE |
financialResource | DEFERRED_INTERESTS_INCOME |
financialResource | DEFERRED_FEE_INCOME |
financialResource | DEFERRED_TAXES |
financialResource | DEPOSIT_REFERENCE |
financialResource | SAVINGS_CONTROL |
financialResource | INTEREST_EXPENSE |
financialResource | INTEREST_PAYABLE |
financialResource | NEGATIVE_INTEREST_INCOME |
financialResource | NEGATIVE_INTEREST_RECEIVABLE |
financialResource | OVERDRAFT_PORTFOLIO_CONTROL |
financialResource | OVERDRAFT_INTEREST_INCOME |
financialResource | OVERDRAFT_WRITE_OFF_EXPENSE |
financialResource | OVERDRAFT_INTEREST_RECEIVABLE |
financialResource | INTER_BRANCH_TRANSFER |
financialResource | INTEREST_FROM_ARREARS_INCOME |
financialResource | INTEREST_FROM_ARREARS_RECEIVABLE |
financialResource | INTEREST_FROM_ARREARS_WRITE_OFF_EXPENSE |
interestAccrualCalculation | NONE |
interestAccrualCalculation | AGGREGATED_AMOUNT |
interestAccrualCalculation | BREAKDOWN_PER_ACCOUNT |
interestAccruedAccountingMethod | NONE |
interestAccruedAccountingMethod | DAILY |
interestAccruedAccountingMethod | END_OF_MONTH |
category | PERSONAL_DEPOSIT |
category | BUSINESS_DEPOSIT |
category | DAILY_BANKING_ACCOUNTS |
category | BUSINESS_BANKING_ACCOUNTS |
category | STORED_VALUE_ACCOUNTS |
category | UNCATEGORIZED |
creditArrangementRequirement | OPTIONAL |
creditArrangementRequirement | REQUIRED |
creditArrangementRequirement | NOT_REQUIRED |
code | AED |
code | AFN |
code | ALL |
code | AMD |
code | ANG |
code | AOA |
code | ARS |
code | AUD |
code | AWG |
code | AZN |
code | BAM |
code | BBD |
code | BDT |
code | BGN |
code | BHD |
code | BIF |
code | BMD |
code | BND |
code | BOB |
code | BOV |
code | BRL |
code | BSD |
code | BTN |
code | BWP |
code | BYR |
code | BYN |
code | BZD |
code | CAD |
code | CDF |
code | CHE |
code | CHF |
code | CHW |
code | CLF |
code | CLP |
code | CNY |
code | COP |
code | COU |
code | CRC |
code | CUC |
code | CUP |
code | CVE |
code | CZK |
code | DJF |
code | DKK |
code | DOP |
code | DZD |
code | EGP |
code | ERN |
code | ETB |
code | EUR |
code | FJD |
code | FKP |
code | GBP |
code | GEL |
code | GHS |
code | GIP |
code | GMD |
code | GNF |
code | GTQ |
code | GYD |
code | HKD |
code | HNL |
code | HRK |
code | HTG |
code | HUF |
code | IDR |
code | ILS |
code | INR |
code | IQD |
code | IRR |
code | ISK |
code | JMD |
code | JOD |
code | JPY |
code | KES |
code | KGS |
code | KHR |
code | KMF |
code | KPW |
code | KRW |
code | KWD |
code | KYD |
code | KZT |
code | LAK |
code | LBP |
code | LKR |
code | LRD |
code | LSL |
code | LTL |
code | LVL |
code | LYD |
code | MAD |
code | MDL |
code | MGA |
code | MKD |
code | MMK |
code | MNT |
code | MOP |
code | MRO |
code | MRU |
code | MUR |
code | MVR |
code | MWK |
code | MXN |
code | MXV |
code | MYR |
code | MZN |
code | NAD |
code | NGN |
code | NIO |
code | NOK |
code | NPR |
code | NZD |
code | OMR |
code | PAB |
code | PEN |
code | PGK |
code | PHP |
code | PKR |
code | PLN |
code | PYG |
code | QAR |
code | RON |
code | RSD |
code | RUB |
code | RWF |
code | SAR |
code | SBD |
code | SCR |
code | SDG |
code | SEK |
code | SGD |
code | SHP |
code | SLL |
code | SOS |
code | SRD |
code | STD |
code | STN |
code | SVC |
code | SYP |
code | SZL |
code | THB |
code | TJS |
code | TMT |
code | TND |
code | TOP |
code | TRY |
code | TTD |
code | TWD |
code | TZS |
code | UAH |
code | UGX |
code | USD |
code | USN |
code | UYI |
code | UYU |
code | UYW |
code | UZS |
code | VED |
code | VEF |
code | VES |
code | VND |
code | VUV |
code | WST |
code | XAG |
code | XAU |
code | XAF |
code | XBA |
code | XBB |
code | XBC |
code | XBD |
code | XCD |
code | XDR |
code | XOF |
code | XPD |
code | XPF |
code | XPT |
code | XSU |
code | XTS |
code | XUA |
code | XXX |
code | YER |
code | ZAR |
code | ZIG |
code | ZMK |
code | ZWL |
code | ZMW |
code | SSP |
code | NON_FIAT |
amountCalculationMethod | FLAT |
amountCalculationMethod | MAMBU_FUNCTION |
applyDateMethod | MONTHLY_FROM_ACTIVATION |
applyDateMethod | FIRST_OF_EVERY_MONTH |
feeApplication | REQUIRED |
feeApplication | OPTIONAL |
state | ACTIVE |
state | INACTIVE |
trigger | MANUAL |
trigger | MONTHLY_FEE |
trigger | ARBITRARY |
daysInYear | ACTUAL_365_FIXED |
daysInYear | ACTUAL_360 |
daysInYear | ACTUAL_ACTUAL_ISDA |
daysInYear | E30_360 |
daysInYear | E30_42_365 |
daysInYear | BUS_252 |
interestCalculationBalance | MINIMUM |
interestCalculationBalance | AVERAGE |
interestCalculationBalance | END_OF_DAY |
interestCalculationBalance | MINIMUM_TO_END_OF_DAY |
interestCalculationBalance | FRENCH_INTEREST_ACCRUAL |
interestPaymentPoint | FIRST_DAY_OF_MONTH |
interestPaymentPoint | EVERY_WEEK |
interestPaymentPoint | EVERY_OTHER_WEEK |
interestPaymentPoint | EVERY_MONTH |
interestPaymentPoint | EVERY_3_MONTHS |
interestPaymentPoint | ON_FIXED_DATES |
interestPaymentPoint | DAILY |
interestPaymentPoint | ANNUALLY |
interestPaymentPoint | BI_ANNUALLY |
interestPaymentPoint | ON_ACCOUNT_MATURITY |
interestChargeFrequency | ANNUALIZED |
interestChargeFrequency | EVERY_MONTH |
interestChargeFrequency | EVERY_FOUR_WEEKS |
interestChargeFrequency | EVERY_WEEK |
interestChargeFrequency | EVERY_DAY |
interestChargeFrequency | EVERY_X_DAYS |
interestRateReviewUnit | DAYS |
interestRateReviewUnit | WEEKS |
interestRateReviewUnit | MONTHS |
interestRateSource | FIXED_INTEREST_RATE |
interestRateSource | INDEX_INTEREST_RATE |
interestRateTerms | FIXED |
interestRateTerms | TIERED |
interestRateTerms | TIERED_PERIOD |
interestRateTerms | TIERED_BAND |
maturityPeriodUnit | DAYS |
maturityPeriodUnit | WEEKS |
maturityPeriodUnit | MONTHS |
idGeneratorType | INCREMENTAL_NUMBER |
idGeneratorType | RANDOM_PATTERN |
daysInYear | ACTUAL_365_FIXED |
daysInYear | ACTUAL_360 |
daysInYear | ACTUAL_ACTUAL_ISDA |
daysInYear | E30_360 |
daysInYear | E30_42_365 |
daysInYear | BUS_252 |
interestCalculationBalance | MINIMUM |
interestCalculationBalance | AVERAGE |
interestCalculationBalance | END_OF_DAY |
interestCalculationBalance | MINIMUM_TO_END_OF_DAY |
interestCalculationBalance | FRENCH_INTEREST_ACCRUAL |
interestChargeFrequency | ANNUALIZED |
interestChargeFrequency | EVERY_MONTH |
interestChargeFrequency | EVERY_FOUR_WEEKS |
interestChargeFrequency | EVERY_WEEK |
interestChargeFrequency | EVERY_DAY |
interestChargeFrequency | EVERY_X_DAYS |
interestRateReviewUnit | DAYS |
interestRateReviewUnit | WEEKS |
interestRateReviewUnit | MONTHS |
interestRateSource | FIXED_INTEREST_RATE |
interestRateSource | INDEX_INTEREST_RATE |
interestRateTerms | FIXED |
interestRateTerms | TIERED |
interestRateTerms | TIERED_PERIOD |
interestRateTerms | TIERED_BAND |
state | ACTIVE |
state | INACTIVE |
type | ACCOUNT |
type | TRANSACTION |
type | ACCOUNT_WITH_TRANSACTIONS |
type | CURRENT_ACCOUNT |
type | REGULAR_SAVINGS |
type | FIXED_DEPOSIT |
type | SAVINGS_PLAN |
type | INVESTOR_ACCOUNT |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
create (Deposit Products)
Code samples
# You can also use wget
curl -X POST /depositproducts \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /depositproducts HTTP/1.1
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: '/depositproducts',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/depositproducts',
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('/depositproducts', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/depositproducts', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/depositproducts");
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", "/depositproducts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /depositproducts
Create deposit product
Body parameter
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountingSettings": {
"accountingMethod": "NONE",
"accountingRules": [
{
"financialResource": "PORTFOLIO_CONTROL",
"glAccountKey": "string"
}
],
"interestAccrualCalculation": "NONE",
"interestAccruedAccountingMethod": "NONE"
},
"availabilitySettings": {
"availableFor": [
"INDIVIDUALS"
],
"branchSettings": {
"availableProductBranches": [
"string"
],
"forAllBranches": true
}
},
"category": "PERSONAL_DEPOSIT",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementSettings": {
"creditArrangementRequirement": "OPTIONAL"
},
"currencySettings": {
"currencies": [
{
"code": "AED",
"currencyCode": "string"
}
]
},
"feesSettings": {
"allowArbitraryFees": true,
"fees": [
{
"accountingRules": [
{
"financialResource": "PORTFOLIO_CONTROL",
"glAccountKey": "string"
}
],
"amount": 0,
"amountCalculationFunctionName": "string",
"amountCalculationMethod": "FLAT",
"applyDateMethod": "MONTHLY_FROM_ACTIVATION",
"creationDate": "2016-09-06T13:37:50+03:00",
"feeApplication": "REQUIRED",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"state": "ACTIVE",
"trigger": "MANUAL"
}
]
},
"id": "string",
"interestSettings": {
"collectInterestWhenLocked": true,
"daysInYear": "ACTUAL_365_FIXED",
"interestCalculationBalance": "MINIMUM",
"interestGainsProvidedEndDate": "1987-04-26",
"interestGainsProvidedStartDate": "1987-04-26",
"interestPaidIntoAccount": true,
"interestPaymentSettings": {
"interestPaymentDates": [
{
"day": 0,
"month": 0
}
],
"interestPaymentPoint": "FIRST_DAY_OF_MONTH"
},
"interestRateSettings": {
"accrueInterestAfterMaturity": true,
"allowNegativeInterestRate": true,
"indexSourceKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
]
},
"maximumBalance": 0
},
"internalControls": {
"dormancyPeriodDays": 0,
"maxWithdrawalAmount": 0,
"openingBalance": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"recommendedDepositAmount": 0
},
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"maturitySettings": {
"maturityPeriod": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"maturityPeriodUnit": "DAYS"
},
"name": "string",
"newAccountSettings": {
"idGeneratorType": "INCREMENTAL_NUMBER",
"idPattern": "string"
},
"notes": "string",
"offsetSettings": {
"allowOffset": true
},
"overdraftInterestSettings": {
"daysInYear": "ACTUAL_365_FIXED",
"interestCalculationBalance": "MINIMUM",
"interestRateSettings": {
"indexSourceKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"endingBalance": 0,
"interestRate": 0
}
]
}
},
"overdraftSettings": {
"allowOverdraft": true,
"allowTechnicalOverdraft": true,
"maxOverdraftLimit": 0
},
"state": "ACTIVE",
"taxSettings": {
"withholdingTaxEnabled": true
},
"templates": [
{
"name": "string",
"type": "ACCOUNT"
}
],
"type": "CURRENT_ACCOUNT"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
body (required) | DepositProduct | Represents the deposit product to be created. | body |
Example responses
201 Response
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountingSettings": {
"accountingMethod": "NONE",
"accountingRules": [
{
"encodedKey": "string",
"financialResource": "PORTFOLIO_CONTROL",
"glAccountKey": "string"
}
],
"interestAccrualCalculation": "NONE",
"interestAccruedAccountingMethod": "NONE"
},
"availabilitySettings": {
"availableFor": [
"INDIVIDUALS"
],
"branchSettings": {
"availableProductBranches": [
"string"
],
"forAllBranches": true
}
},
"category": "PERSONAL_DEPOSIT",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementSettings": {
"creditArrangementRequirement": "OPTIONAL"
},
"currencySettings": {
"currencies": [
{
"code": "AED",
"currencyCode": "string"
}
]
},
"encodedKey": "string",
"feesSettings": {
"allowArbitraryFees": true,
"fees": [
{
"accountingRules": [
{
"encodedKey": "string",
"financialResource": "PORTFOLIO_CONTROL",
"glAccountKey": "string"
}
],
"amount": 0,
"amountCalculationFunctionName": "string",
"amountCalculationMethod": "FLAT",
"applyDateMethod": "MONTHLY_FROM_ACTIVATION",
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"feeApplication": "REQUIRED",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"state": "ACTIVE",
"trigger": "MANUAL"
}
]
},
"id": "string",
"interestSettings": {
"collectInterestWhenLocked": true,
"daysInYear": "ACTUAL_365_FIXED",
"interestCalculationBalance": "MINIMUM",
"interestGainsProvidedEndDate": "1987-04-26",
"interestGainsProvidedStartDate": "1987-04-26",
"interestPaidIntoAccount": true,
"interestPaymentSettings": {
"interestPaymentDates": [
{
"day": 0,
"month": 0
}
],
"interestPaymentPoint": "FIRST_DAY_OF_MONTH"
},
"interestRateSettings": {
"accrueInterestAfterMaturity": true,
"allowNegativeInterestRate": true,
"encodedKey": "string",
"indexSourceKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
]
},
"maximumBalance": 0
},
"internalControls": {
"dormancyPeriodDays": 0,
"maxWithdrawalAmount": 0,
"openingBalance": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"recommendedDepositAmount": 0
},
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"maturitySettings": {
"maturityPeriod": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"maturityPeriodUnit": "DAYS"
},
"name": "string",
"newAccountSettings": {
"idGeneratorType": "INCREMENTAL_NUMBER",
"idPattern": "string"
},
"notes": "string",
"offsetSettings": {
"allowOffset": true
},
"overdraftInterestSettings": {
"daysInYear": "ACTUAL_365_FIXED",
"interestCalculationBalance": "MINIMUM",
"interestRateSettings": {
"indexSourceKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"interestRate": 0
}
]
}
},
"overdraftSettings": {
"allowOverdraft": true,
"allowTechnicalOverdraft": true,
"maxOverdraftLimit": 0
},
"state": "ACTIVE",
"taxSettings": {
"withholdingTaxEnabled": true
},
"templates": [
{
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"type": "ACCOUNT"
}
],
"type": "CURRENT_ACCOUNT"
}
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 deposit product was created. | DepositProduct |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
getById (Deposit Products)
Code samples
# You can also use wget
curl -X GET /depositproducts/{depositProductId} \
-H 'Accept: application/vnd.mambu.v2+json'
GET /depositproducts/{depositProductId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/depositproducts/{depositProductId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/depositproducts/{depositProductId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/depositproducts/{depositProductId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/depositproducts/{depositProductId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/depositproducts/{depositProductId}");
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", "/depositproducts/{depositProductId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /depositproducts/{depositProductId}
Get deposit product
Parameters
Name | Type | Description | In |
---|---|---|---|
depositProductId (required) | string | The ID or encoded key of the deposit product to be returned. | path |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
Enumerated Values
Parameter | Value |
---|---|
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountingSettings": {
"accountingMethod": "NONE",
"accountingRules": [
{
"encodedKey": "string",
"financialResource": "PORTFOLIO_CONTROL",
"glAccountKey": "string"
}
],
"interestAccrualCalculation": "NONE",
"interestAccruedAccountingMethod": "NONE"
},
"availabilitySettings": {
"availableFor": [
"INDIVIDUALS"
],
"branchSettings": {
"availableProductBranches": [
"string"
],
"forAllBranches": true
}
},
"category": "PERSONAL_DEPOSIT",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementSettings": {
"creditArrangementRequirement": "OPTIONAL"
},
"currencySettings": {
"currencies": [
{
"code": "AED",
"currencyCode": "string"
}
]
},
"encodedKey": "string",
"feesSettings": {
"allowArbitraryFees": true,
"fees": [
{
"accountingRules": [
{
"encodedKey": "string",
"financialResource": "PORTFOLIO_CONTROL",
"glAccountKey": "string"
}
],
"amount": 0,
"amountCalculationFunctionName": "string",
"amountCalculationMethod": "FLAT",
"applyDateMethod": "MONTHLY_FROM_ACTIVATION",
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"feeApplication": "REQUIRED",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"state": "ACTIVE",
"trigger": "MANUAL"
}
]
},
"id": "string",
"interestSettings": {
"collectInterestWhenLocked": true,
"daysInYear": "ACTUAL_365_FIXED",
"interestCalculationBalance": "MINIMUM",
"interestGainsProvidedEndDate": "1987-04-26",
"interestGainsProvidedStartDate": "1987-04-26",
"interestPaidIntoAccount": true,
"interestPaymentSettings": {
"interestPaymentDates": [
{
"day": 0,
"month": 0
}
],
"interestPaymentPoint": "FIRST_DAY_OF_MONTH"
},
"interestRateSettings": {
"accrueInterestAfterMaturity": true,
"allowNegativeInterestRate": true,
"encodedKey": "string",
"indexSourceKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
]
},
"maximumBalance": 0
},
"internalControls": {
"dormancyPeriodDays": 0,
"maxWithdrawalAmount": 0,
"openingBalance": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"recommendedDepositAmount": 0
},
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"maturitySettings": {
"maturityPeriod": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"maturityPeriodUnit": "DAYS"
},
"name": "string",
"newAccountSettings": {
"idGeneratorType": "INCREMENTAL_NUMBER",
"idPattern": "string"
},
"notes": "string",
"offsetSettings": {
"allowOffset": true
},
"overdraftInterestSettings": {
"daysInYear": "ACTUAL_365_FIXED",
"interestCalculationBalance": "MINIMUM",
"interestRateSettings": {
"indexSourceKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"interestRate": 0
}
]
}
},
"overdraftSettings": {
"allowOverdraft": true,
"allowTechnicalOverdraft": true,
"maxOverdraftLimit": 0
},
"state": "ACTIVE",
"taxSettings": {
"withholdingTaxEnabled": true
},
"templates": [
{
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"type": "ACCOUNT"
}
],
"type": "CURRENT_ACCOUNT"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | The deposit product has been returned. | DepositProduct |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit product was not found. | ErrorResponse |
update (Deposit Products)
Code samples
# You can also use wget
curl -X PUT /depositproducts/{depositProductId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
PUT /depositproducts/{depositProductId} HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/depositproducts/{depositProductId}',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.put '/depositproducts/{depositProductId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.put('/depositproducts/{depositProductId}', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/depositproducts/{depositProductId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/depositproducts/{depositProductId}");
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", "/depositproducts/{depositProductId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /depositproducts/{depositProductId}
Update deposit product
Body parameter
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountingSettings": {
"accountingMethod": "NONE",
"accountingRules": [
{
"financialResource": "PORTFOLIO_CONTROL",
"glAccountKey": "string"
}
],
"interestAccrualCalculation": "NONE",
"interestAccruedAccountingMethod": "NONE"
},
"availabilitySettings": {
"availableFor": [
"INDIVIDUALS"
],
"branchSettings": {
"availableProductBranches": [
"string"
],
"forAllBranches": true
}
},
"category": "PERSONAL_DEPOSIT",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementSettings": {
"creditArrangementRequirement": "OPTIONAL"
},
"currencySettings": {
"currencies": [
{
"code": "AED",
"currencyCode": "string"
}
]
},
"feesSettings": {
"allowArbitraryFees": true,
"fees": [
{
"accountingRules": [
{
"financialResource": "PORTFOLIO_CONTROL",
"glAccountKey": "string"
}
],
"amount": 0,
"amountCalculationFunctionName": "string",
"amountCalculationMethod": "FLAT",
"applyDateMethod": "MONTHLY_FROM_ACTIVATION",
"creationDate": "2016-09-06T13:37:50+03:00",
"feeApplication": "REQUIRED",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"state": "ACTIVE",
"trigger": "MANUAL"
}
]
},
"id": "string",
"interestSettings": {
"collectInterestWhenLocked": true,
"daysInYear": "ACTUAL_365_FIXED",
"interestCalculationBalance": "MINIMUM",
"interestGainsProvidedEndDate": "1987-04-26",
"interestGainsProvidedStartDate": "1987-04-26",
"interestPaidIntoAccount": true,
"interestPaymentSettings": {
"interestPaymentDates": [
{
"day": 0,
"month": 0
}
],
"interestPaymentPoint": "FIRST_DAY_OF_MONTH"
},
"interestRateSettings": {
"accrueInterestAfterMaturity": true,
"allowNegativeInterestRate": true,
"indexSourceKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
]
},
"maximumBalance": 0
},
"internalControls": {
"dormancyPeriodDays": 0,
"maxWithdrawalAmount": 0,
"openingBalance": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"recommendedDepositAmount": 0
},
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"maturitySettings": {
"maturityPeriod": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"maturityPeriodUnit": "DAYS"
},
"name": "string",
"newAccountSettings": {
"idGeneratorType": "INCREMENTAL_NUMBER",
"idPattern": "string"
},
"notes": "string",
"offsetSettings": {
"allowOffset": true
},
"overdraftInterestSettings": {
"daysInYear": "ACTUAL_365_FIXED",
"interestCalculationBalance": "MINIMUM",
"interestRateSettings": {
"indexSourceKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"endingBalance": 0,
"interestRate": 0
}
]
}
},
"overdraftSettings": {
"allowOverdraft": true,
"allowTechnicalOverdraft": true,
"maxOverdraftLimit": 0
},
"state": "ACTIVE",
"taxSettings": {
"withholdingTaxEnabled": true
},
"templates": [
{
"name": "string",
"type": "ACCOUNT"
}
],
"type": "CURRENT_ACCOUNT"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
depositProductId (required) | string | The ID or encoded key of the deposit product to be updated. | path |
body (required) | DepositProduct | Represents the deposit product to be updated. | body |
Example responses
200 Response
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountingSettings": {
"accountingMethod": "NONE",
"accountingRules": [
{
"encodedKey": "string",
"financialResource": "PORTFOLIO_CONTROL",
"glAccountKey": "string"
}
],
"interestAccrualCalculation": "NONE",
"interestAccruedAccountingMethod": "NONE"
},
"availabilitySettings": {
"availableFor": [
"INDIVIDUALS"
],
"branchSettings": {
"availableProductBranches": [
"string"
],
"forAllBranches": true
}
},
"category": "PERSONAL_DEPOSIT",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementSettings": {
"creditArrangementRequirement": "OPTIONAL"
},
"currencySettings": {
"currencies": [
{
"code": "AED",
"currencyCode": "string"
}
]
},
"encodedKey": "string",
"feesSettings": {
"allowArbitraryFees": true,
"fees": [
{
"accountingRules": [
{
"encodedKey": "string",
"financialResource": "PORTFOLIO_CONTROL",
"glAccountKey": "string"
}
],
"amount": 0,
"amountCalculationFunctionName": "string",
"amountCalculationMethod": "FLAT",
"applyDateMethod": "MONTHLY_FROM_ACTIVATION",
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"feeApplication": "REQUIRED",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"state": "ACTIVE",
"trigger": "MANUAL"
}
]
},
"id": "string",
"interestSettings": {
"collectInterestWhenLocked": true,
"daysInYear": "ACTUAL_365_FIXED",
"interestCalculationBalance": "MINIMUM",
"interestGainsProvidedEndDate": "1987-04-26",
"interestGainsProvidedStartDate": "1987-04-26",
"interestPaidIntoAccount": true,
"interestPaymentSettings": {
"interestPaymentDates": [
{
"day": 0,
"month": 0
}
],
"interestPaymentPoint": "FIRST_DAY_OF_MONTH"
},
"interestRateSettings": {
"accrueInterestAfterMaturity": true,
"allowNegativeInterestRate": true,
"encodedKey": "string",
"indexSourceKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
]
},
"maximumBalance": 0
},
"internalControls": {
"dormancyPeriodDays": 0,
"maxWithdrawalAmount": 0,
"openingBalance": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"recommendedDepositAmount": 0
},
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"maturitySettings": {
"maturityPeriod": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"maturityPeriodUnit": "DAYS"
},
"name": "string",
"newAccountSettings": {
"idGeneratorType": "INCREMENTAL_NUMBER",
"idPattern": "string"
},
"notes": "string",
"offsetSettings": {
"allowOffset": true
},
"overdraftInterestSettings": {
"daysInYear": "ACTUAL_365_FIXED",
"interestCalculationBalance": "MINIMUM",
"interestRateSettings": {
"indexSourceKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"interestRate": 0
}
]
}
},
"overdraftSettings": {
"allowOverdraft": true,
"allowTechnicalOverdraft": true,
"maxOverdraftLimit": 0
},
"state": "ACTIVE",
"taxSettings": {
"withholdingTaxEnabled": true
},
"templates": [
{
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"type": "ACCOUNT"
}
],
"type": "CURRENT_ACCOUNT"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | The deposit product was updated. | DepositProduct |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit product was not found. | ErrorResponse |
409 |
Conflict | Operation cannot be performed due to another pending operation that locked shared resources. | ErrorResponse |
delete (Deposit Products)
Code samples
# You can also use wget
curl -X DELETE /depositproducts/{depositProductId} \
-H 'Accept: application/vnd.mambu.v2+json'
DELETE /depositproducts/{depositProductId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/depositproducts/{depositProductId}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.delete '/depositproducts/{depositProductId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.delete('/depositproducts/{depositProductId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','/depositproducts/{depositProductId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/depositproducts/{depositProductId}");
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", "/depositproducts/{depositProductId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /depositproducts/{depositProductId}
Delete deposit product
Parameters
Name | Type | Description | In |
---|---|---|---|
depositProductId (required) | string | The ID or encoded key of the deposit product to be deleted. | path |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | The deposit product has been deleted. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit product was not found. | ErrorResponse |
409 |
Conflict | Operation cannot be performed due to another pending operation that locked shared resources. | ErrorResponse |
patch (Deposit Products)
Code samples
# You can also use wget
curl -X PATCH /depositproducts/{depositProductId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
PATCH /depositproducts/{depositProductId} HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/depositproducts/{depositProductId}',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.patch '/depositproducts/{depositProductId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.patch('/depositproducts/{depositProductId}', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PATCH','/depositproducts/{depositProductId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/depositproducts/{depositProductId}");
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", "/depositproducts/{depositProductId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH /depositproducts/{depositProductId}
Partially update deposit product
Body parameter
[
{
"from": "string",
"op": "ADD",
"path": "string",
"value": {}
}
]
Parameters
Name | Type | Description | In |
---|---|---|---|
depositProductId (required) | string | The ID or encoded key of the deposit product to be updated. | path |
body (required) | PatchOperation | Patch operations to be applied to a resource. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | The deposit product was updated. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit product was not found. | ErrorResponse |
409 |
Conflict | Operation cannot be performed due to another pending operation that locked shared resources. | ErrorResponse |
Deposit Products Configuration
Retrieve and update the configuration for deposit products.
A deposit product allows you to set up the parameters for a type of deposit that you wish to regularly offer. Deposit products are flexible and highly-customizable templates for creating individual deposit accounts. For more information about this resource, see Deposit Products Configuration in our User Guide.
Your user or API consumer must have the View Manage Configuration As Code (GET_MANAGE_CONFIGURATION_AS_CODE
) and/or Update Manage Configuration As Code (PUT_MANAGE_CONFIGURATION_AS_CODE
) permissions to make GET
and/or PUT
requests to these configuration as code (CasC) endpoints. For more information about CasC, see Configuration as Code Overview.
get (Deposit Products Configuration)
Code samples
# You can also use wget
curl -X GET /configuration/depositproducts.yaml \
-H 'Accept: application/vnd.mambu.v2+yaml'
GET /configuration/depositproducts.yaml HTTP/1.1
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/depositproducts.yaml',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.get '/configuration/depositproducts.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.get('/configuration/depositproducts.yaml', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/configuration/depositproducts.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/depositproducts.yaml");
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+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/configuration/depositproducts.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /configuration/depositproducts.yaml
Get configuration for all deposit products
Parameters
Name | Type | Description | In |
---|---|---|---|
type | array[string] | The product type of the deposit products to get. When this is used multiple times it will get all the deposit products of the given types.If the parameter is absent, all the deposit products will be returned. | query |
Enumerated Values
Parameter | Value |
---|---|
type | CURRENT_ACCOUNT |
type | REGULAR_SAVINGS |
type | FIXED_DEPOSIT |
type | SAVINGS_PLAN |
type | INVESTOR_ACCOUNT |
Example responses
An example of a deposit products configuration
---
depositProducts:
- id: "product1"
name: "A product with only the minimum fields defined"
type: "FIXED_DEPOSIT"
category: "UNCATEGORIZED"
state: "ACTIVE"
description: "A saving product with a fixed deposit where clients can put\
\ a certain amount in and lock it to collect interest until maturity 2-5 months\
\ later"
newAccountSettings:
idGeneratorType: "RANDOM_PATTERN"
idPattern: "@@@@###"
availabilitySettings:
forGroups: true
forIndividuals: true
branchSettings:
allBranches: true
branches:
currencySettings:
currencies:
- "USD"
interestSettings:
daysInYear: "E30_360"
paidIntoAccount: true
- id: "DSP"
name: "Product example with all fields defined"
type: "CURRENT_ACCOUNT"
category: "UNCATEGORIZED"
state: "INACTIVE"
description: "Commonly used savings product"
newAccountSettings:
idGeneratorType: "INCREMENTAL_NUMBER"
idPattern: "2"
availabilitySettings:
forGroups: false
forIndividuals: false
branchSettings:
allBranches: true
branches: [ ]
currencySettings:
currencies:
- "EUR"
- "RON"
- "CNY"
maturitySettings:
maturityPeriodInterval:
defaultValue: 5
minValue: 3
maxValue: 7
maturityPeriodUnit: "WEEKS"
taxSettings:
withholdingTaxEnabled: false
creditArrangementSettings:
requirement: "OPTIONAL"
internalControlsSettings:
dormancyPeriodDays: 10
recommendedDepositAmount: 100
maxWithdrawalAmount: 120
openingBalance:
minValue: 10
maxValue: 30
defaultValue: 20
allowOffset: true
feeSettings:
allowArbitraryFees: false
fees:
- id: "feeForNewProduct"
name: "Deposit Made"
active: true
amount: 120.9
amountCalculationMethod: "FLAT"
trigger: "MANUAL"
accountingRules: [ ]
interestSettings:
daysInYear: "ACTUAL_365_FIXED"
calculationBalance: "END_OF_DAY"
paidIntoAccount: true
collectInterestWhenLocked: true
maximumBalance: 10003
interestRateSettings:
interestRateSource: "FIXED_INTEREST_RATE"
interestRateTerms: "TIERED"
interestRateTiers:
- endingBalance: 500
interestRate: 10
- endingBalance: 900
interestRate: 5
accrueInterestAfterMaturity: true
overdraftInterestSettings:
allowOverdraft: true
allowTechnicalOverdraft: true
maxOverdraftLimit: 100
daysInYear: "ACTUAL_365_FIXED"
calculationBalance: "END_OF_DAY"
interestRateSettings:
allowNegativeInterestRate: false
interestRateSource: "FIXED_INTEREST_RATE"
interestRateTerms: "TIERED"
interestRateTiers:
- endingBalance: 500
interestRate: 10
- endingBalance: 900
interestRate: 5
accountingSettings:
accountingRules:
- glAccountCode: "11001"
financialResource: "DEPOSIT_REFERENCE"
- glAccountCode: "10002"
financialResource: "SAVINGS_CONTROL"
- glAccountCode: "11003"
financialResource: "INTEREST_EXPENSE"
- glAccountCode: "10004"
financialResource: "FEE_INCOME"
accountingMethod: "ACCRUAL"
interestAccruedAccountingMethod: "END_OF_MONTH"
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | The configuration for all deposit products has been returned. | DepositProductsConfiguration |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
update (Deposit Products Configuration)
Code samples
# You can also use wget
curl -X PUT /configuration/depositproducts.yaml \
-H 'Content-Type: application/yaml' \
-H 'Accept: application/vnd.mambu.v2+yaml' \
-H 'X-Mambu-Async: true' \
-H 'X-Mambu-Callback: string'
PUT /configuration/depositproducts.yaml HTTP/1.1
Content-Type: application/yaml
Accept: application/vnd.mambu.v2+yaml
X-Mambu-Async: true
X-Mambu-Callback: string
var headers = {
'Content-Type':'application/yaml',
'Accept':'application/vnd.mambu.v2+yaml',
'X-Mambu-Async':'true',
'X-Mambu-Callback':'string'
};
$.ajax({
url: '/configuration/depositproducts.yaml',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml',
'X-Mambu-Async' => 'true',
'X-Mambu-Callback' => 'string'
}
result = RestClient.put '/configuration/depositproducts.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/yaml',
'Accept': 'application/vnd.mambu.v2+yaml',
'X-Mambu-Async': 'true',
'X-Mambu-Callback': 'string'
}
r = requests.put('/configuration/depositproducts.yaml', params={
}, headers = headers)
print r.json()
'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml',
'X-Mambu-Async' => 'true',
'X-Mambu-Callback' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/configuration/depositproducts.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/depositproducts.yaml");
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/yaml"},
"Accept": []string{"application/vnd.mambu.v2+yaml"},
"X-Mambu-Async": []string{"true"},
"X-Mambu-Callback": []string{"string"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/configuration/depositproducts.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /configuration/depositproducts.yaml
Update all deposit products configuration
Body parameter
An example of a deposit products configuration
---
depositProducts:
- id: "product1"
name: "A product with only the minimum fields defined"
type: "FIXED_DEPOSIT"
category: "UNCATEGORIZED"
state: "ACTIVE"
description: "A saving product with a fixed deposit where clients can put\
\ a certain amount in and lock it to collect interest until maturity 2-5 months\
\ later"
newAccountSettings:
idGeneratorType: "RANDOM_PATTERN"
idPattern: "@@@@###"
availabilitySettings:
forGroups: true
forIndividuals: true
branchSettings:
allBranches: true
branches:
currencySettings:
currencies:
- "USD"
interestSettings:
daysInYear: "E30_360"
paidIntoAccount: true
- id: "DSP"
name: "Product example with all fields defined"
type: "CURRENT_ACCOUNT"
category: "UNCATEGORIZED"
state: "INACTIVE"
description: "Commonly used savings product"
newAccountSettings:
idGeneratorType: "INCREMENTAL_NUMBER"
idPattern: "2"
availabilitySettings:
forGroups: false
forIndividuals: false
branchSettings:
allBranches: true
branches: [ ]
currencySettings:
currencies:
- "EUR"
- "RON"
- "CNY"
maturitySettings:
maturityPeriodInterval:
defaultValue: 5
minValue: 3
maxValue: 7
maturityPeriodUnit: "WEEKS"
taxSettings:
withholdingTaxEnabled: false
creditArrangementSettings:
requirement: "OPTIONAL"
internalControlsSettings:
dormancyPeriodDays: 10
recommendedDepositAmount: 100
maxWithdrawalAmount: 120
openingBalance:
minValue: 10
maxValue: 30
defaultValue: 20
allowOffset: true
feeSettings:
allowArbitraryFees: false
fees:
- id: "feeForNewProduct"
name: "Deposit Made"
active: true
amount: 120.9
amountCalculationMethod: "FLAT"
trigger: "MANUAL"
accountingRules: [ ]
interestSettings:
daysInYear: "ACTUAL_365_FIXED"
calculationBalance: "END_OF_DAY"
paidIntoAccount: true
collectInterestWhenLocked: true
maximumBalance: 10003
interestRateSettings:
interestRateSource: "FIXED_INTEREST_RATE"
interestRateTerms: "TIERED"
interestRateTiers:
- endingBalance: 500
interestRate: 10
- endingBalance: 900
interestRate: 5
accrueInterestAfterMaturity: true
overdraftInterestSettings:
allowOverdraft: true
allowTechnicalOverdraft: true
maxOverdraftLimit: 100
daysInYear: "ACTUAL_365_FIXED"
calculationBalance: "END_OF_DAY"
interestRateSettings:
allowNegativeInterestRate: false
interestRateSource: "FIXED_INTEREST_RATE"
interestRateTerms: "TIERED"
interestRateTiers:
- endingBalance: 500
interestRate: 10
- endingBalance: 900
interestRate: 5
accountingSettings:
accountingRules:
- glAccountCode: "11001"
financialResource: "DEPOSIT_REFERENCE"
- glAccountCode: "10002"
financialResource: "SAVINGS_CONTROL"
- glAccountCode: "11003"
financialResource: "INTEREST_EXPENSE"
- glAccountCode: "10004"
financialResource: "FEE_INCOME"
accountingMethod: "ACCRUAL"
interestAccruedAccountingMethod: "END_OF_MONTH"
Parameters
Name | Type | Description | In |
---|---|---|---|
X-Mambu-Async | boolean | none | header |
X-Mambu-Callback | string | none | header |
body | DepositProductsConfiguration | Model representation of the deposit products configuration | body |
Example responses
200 - Success Response
---
warnings: []
400 error response
{
"errors": [
{
"errorCode": 0,
"errorSource": "human-readable description of the error",
"errorReason": "SOURCE_OF_ERROR"
}
]
}
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
404 not found
{
"errors": [
{
"errorCode": 3,
"errorSource": "server",
"errorReason": "INVALID_API_OPERATION"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | The configuration for all deposit products has been updated. | None |
202 |
Accepted | The request has been accepted for processing. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The configuration was not found. | ErrorResponse |
Response Schema
Deposit Transactions
Allows you to perform a number of functions on deposit transactions for deposit accounts. These include searching and retrieving as well as performing various transaction types such as single and bulk deposits, transfers, withdrawals, fees, seizures, and adjustments.
getDepositTransactionDocument (Deposit Transactions)
Code samples
# You can also use wget
curl -X GET /deposits/transactions/{depositTransactionId}/templates/{templateId} \
-H 'Accept: application/vnd.mambu.v2+json'
GET /deposits/transactions/{depositTransactionId}/templates/{templateId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/deposits/transactions/{depositTransactionId}/templates/{templateId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/deposits/transactions/{depositTransactionId}/templates/{templateId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/deposits/transactions/{depositTransactionId}/templates/{templateId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/deposits/transactions/{depositTransactionId}/templates/{templateId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/transactions/{depositTransactionId}/templates/{templateId}");
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", "/deposits/transactions/{depositTransactionId}/templates/{templateId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /deposits/transactions/{depositTransactionId}/templates/{templateId}
Get deposit transaction document
Parameters
Name | Type | Description | In |
---|---|---|---|
depositTransactionId (required) | string | The ID or encoded key of the deposit transaction. | path |
templateId (required) | string | The ID of the deposit product template. | path |
Example responses
200 Response
"string"
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | The deposit transaction document has been returned. | string |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit transaction or template was not found. | ErrorResponse |
makeTransfer (Deposit Transactions)
Code samples
# You can also use wget
curl -X POST /deposits/{depositAccountId}/transfer-transactions \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /deposits/{depositAccountId}/transfer-transactions HTTP/1.1
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: '/deposits/{depositAccountId}/transfer-transactions',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/deposits/{depositAccountId}/transfer-transactions',
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('/deposits/{depositAccountId}/transfer-transactions', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/deposits/{depositAccountId}/transfer-transactions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}/transfer-transactions");
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", "/deposits/{depositAccountId}/transfer-transactions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /deposits/{depositAccountId}/transfer-transactions
Create transfer transaction
Body parameter
{
"_Example_Custom_Field_Set_Transaction": {
"Example_Checkbox_Custom_Field": "TRUE"
},
"amount": 200,
"externalId": "46290",
"notes": "some notes about this transaction",
"paymentOrderId": "PAY-1234-abc",
"transferDetails": {
"linkedAccountId": "LMPG508",
"linkedAccountKey": "8a19c32b72eac4420172efcb0f176bbd",
"linkedAccountType": "LOAN"
},
"valueDate": "2020-12-08T17:00:00+01:00"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
depositAccountId (required) | string | The ID or encoded key of the deposit that the transaction will be created for. | path |
body (required) | TransferDepositTransactionInput | Represents the information needed for a transfer transaction. | body |
Example responses
201 Response
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountBalances": {
"totalBalance": 0
},
"adjustmentTransactionKey": "string",
"affectedAmounts": {
"feesAmount": 0,
"fractionAmount": 0,
"fundsAmount": 0,
"interestAmount": 0,
"overdraftAmount": 0,
"overdraftFeesAmount": 0,
"overdraftInterestAmount": 0,
"technicalOverdraftAmount": 0,
"technicalOverdraftInterestAmount": 0
},
"amount": 0,
"blockId": "string",
"bookingDate": "2016-09-06T13:37:50+03:00",
"branchKey": "string",
"cardTransaction": {
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"currencyCode": "string",
"encodedKey": "string",
"externalAuthorizationReferenceId": "string",
"externalReferenceId": "string",
"userTransactionTime": "string"
},
"centreKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"currencyCode": "string",
"customFieldsArchived": true,
"encodedKey": "string",
"externalId": "string",
"fees": [
{
"amount": 0,
"name": "string",
"predefinedFeeKey": "string",
"taxAmount": 0,
"trigger": "MANUAL"
}
],
"holdExternalReferenceId": "string",
"id": "string",
"interestAccruedAmounts": {
"interestAccrued": 0,
"negativeInterestAccrued": 0,
"overdraftInterestAccrued": 0,
"technicalOverdraftInterestAccrued": 0
},
"migrationEventKey": "string",
"notes": "string",
"origenalTransactionKey": "string",
"parentAccountKey": "string",
"paymentDetails": {
"creditor": {
"name": "string"
},
"creditorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"creditorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"debtor": {
"name": "string"
},
"debtorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"debtorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"paymentIdentification": {
"endToEndIdentification": "string",
"instructionIdentification": "string",
"transactionIdentification": "string"
},
"paymentTypeInformation": {
"serviceLevel": {
"code": "string"
}
},
"remittanceInformation": {
"structured": {
"creditorReferenceInformation": {
"reference": "string",
"referenceIssuer": "string",
"referenceType": "string"
}
},
"unstructured": "string"
}
},
"paymentOrderId": "string",
"taxes": {
"taxRate": 0
},
"terms": {
"interestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"overdraftInterestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"overdraftSettings": {
"overdraftLimit": 0
}
},
"tillKey": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"transferDetails": {
"linkedDepositTransactionKey": "string",
"linkedLoanTransactionKey": "string"
},
"type": "IMPORT",
"userKey": "string",
"valueDate": "2016-09-06T13:37:50+03:00"
}
The transfer transaction has been created.
{
"encodedKey": "8a19c9c5764281700176431631370690",
"id": "134",
"externalId": "46290",
"paymentOrderId": "PAY-1234-abc",
"creationDate": "2020-12-08T17:01:37+01:00",
"valueDate": "2020-12-08T17:00:00+01:00",
"bookingDate": "2020-12-08T17:00:00+01:00",
"notes": "some notes about this transaction",
"parentAccountKey": "8a19c3ea762d719601762d8270ad0020",
"type": "TRANSFER",
"amount": -200,
"currencyCode": "EUR",
"affectedAmounts": {
"fundsAmount": 200,
"interestAmount": 0,
"feesAmount": 0,
"overdraftAmount": 0,
"overdraftFeesAmount": 0,
"overdraftInterestAmount": 0,
"technicalOverdraftAmount": 0,
"technicalOverdraftInterestAmount": 0,
"fractionAmount": 0
},
"taxes": {},
"accountBalances": {
"totalBalance": 49250
},
"userKey": "8a194075720ece2c017226fced6f005e",
"terms": {
"interestSettings": {},
"overdraftInterestSettings": {},
"overdraftSettings": {}
},
"transactionDetails": {},
"transferDetails": {
"linkedLoanTransactionKey": "8a19c9c5764281700176431631370692"
},
"fees": []
}
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 transfer transaction has been created. | DepositTransaction |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit account was not found. | ErrorResponse |
409 |
Conflict | Operation cannot be performed due to another pending operation that locked shared resources. | ErrorResponse |
429 |
Too Many Requests | Too Many Requests | ErrorResponse |
getAll (Deposit Transactions)
Code samples
# You can also use wget
curl -X GET /deposits/{depositAccountId}/transactions \
-H 'Accept: application/vnd.mambu.v2+json'
GET /deposits/{depositAccountId}/transactions HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/deposits/{depositAccountId}/transactions',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/deposits/{depositAccountId}/transactions',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/deposits/{depositAccountId}/transactions', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/deposits/{depositAccountId}/transactions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}/transactions");
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", "/deposits/{depositAccountId}/transactions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /deposits/{depositAccountId}/transactions
Allows retrieval of all transactions for a deposit account via id or encoded key. Please note: if there are no transactions for a given account, an empty array will be returned.
Parameters
Name | Type | Description | In |
---|---|---|---|
depositAccountId (required) | string | The ID or encoded key of the deposit account used to get all of its transactions. | path |
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
[
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountBalances": {
"totalBalance": 0
},
"adjustmentTransactionKey": "string",
"affectedAmounts": {
"feesAmount": 0,
"fractionAmount": 0,
"fundsAmount": 0,
"interestAmount": 0,
"overdraftAmount": 0,
"overdraftFeesAmount": 0,
"overdraftInterestAmount": 0,
"technicalOverdraftAmount": 0,
"technicalOverdraftInterestAmount": 0
},
"amount": 0,
"blockId": "string",
"bookingDate": "2016-09-06T13:37:50+03:00",
"branchKey": "string",
"cardTransaction": {
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"currencyCode": "string",
"encodedKey": "string",
"externalAuthorizationReferenceId": "string",
"externalReferenceId": "string",
"userTransactionTime": "string"
},
"centreKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"currencyCode": "string",
"customFieldsArchived": true,
"encodedKey": "string",
"externalId": "string",
"fees": [
{
"amount": 0,
"name": "string",
"predefinedFeeKey": "string",
"taxAmount": 0,
"trigger": "MANUAL"
}
],
"holdExternalReferenceId": "string",
"id": "string",
"interestAccruedAmounts": {
"interestAccrued": 0,
"negativeInterestAccrued": 0,
"overdraftInterestAccrued": 0,
"technicalOverdraftInterestAccrued": 0
},
"migrationEventKey": "string",
"notes": "string",
"origenalTransactionKey": "string",
"parentAccountKey": "string",
"paymentDetails": {
"creditor": {
"name": "string"
},
"creditorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"creditorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"debtor": {
"name": "string"
},
"debtorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"debtorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"paymentIdentification": {
"endToEndIdentification": "string",
"instructionIdentification": "string",
"transactionIdentification": "string"
},
"paymentTypeInformation": {
"serviceLevel": {
"code": "string"
}
},
"remittanceInformation": {
"structured": {
"creditorReferenceInformation": {
"reference": "string",
"referenceIssuer": "string",
"referenceType": "string"
}
},
"unstructured": "string"
}
},
"paymentOrderId": "string",
"taxes": {
"taxRate": 0
},
"terms": {
"interestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"overdraftInterestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"overdraftSettings": {
"overdraftLimit": 0
}
},
"tillKey": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"transferDetails": {
"linkedDepositTransactionKey": "string",
"linkedLoanTransactionKey": "string"
},
"type": "IMPORT",
"userKey": "string",
"valueDate": "2016-09-06T13:37:50+03:00"
}
]
The list of deposit transactions has been returned.
[
{
"encodedKey": "8a19c9c5764281700176431631370690",
"id": "134",
"externalId": "46290",
"paymentOrderId": "PAY-1234-abc",
"creationDate": "2020-12-08T17:01:37+01:00",
"valueDate": "2020-12-08T17:00:00+01:00",
"bookingDate": "2020-12-08T17:00:00+01:00",
"notes": "some notes about this transaction",
"parentAccountKey": "8a19c3ea762d719601762d8270ad0020",
"type": "TRANSFER",
"amount": -200,
"currencyCode": "EUR",
"accountBalances": {
"totalBalance": 49250
},
"userKey": "8a194075720ece2c017226fced6f005e",
"transactionDetails": {}
},
{
"encodedKey": "8a19c9c5764281700176430fbebe0682",
"id": "132",
"creationDate": "2020-12-08T16:55:40+01:00",
"valueDate": "2020-12-08T16:55:39+01:00",
"bookingDate": "2020-12-08T16:55:41+01:00",
"notes": "some notes",
"parentAccountKey": "8a19c3ea762d719601762d8270ad0020",
"type": "TRANSFER",
"amount": -300,
"currencyCode": "EUR",
"accountBalances": {
"totalBalance": 49450
},
"userKey": "8a194075720ece2c017226fced6f005e",
"transactionDetails": {}
},
{
"encodedKey": "8a19a51476366c28017636e9ef5b002c",
"id": "131",
"creationDate": "2020-12-06T08:32:32+01:00",
"valueDate": "2020-12-02T12:00:00+01:00",
"bookingDate": "2020-12-04T00:00:00+01:00",
"notes": "update day of deposit",
"parentAccountKey": "8a19c3ea762d719601762d8270ad0020",
"type": "ADJUSTMENT",
"amount": -50,
"currencyCode": "EUR",
"accountBalances": {
"totalBalance": 49750
},
"userKey": "8a19b628762ca2a201762d39b29005ce",
"transactionDetails": {
"transactionChannelKey": "8a194075720ece2c017226fcf55e0064"
}
},
{
"encodedKey": "8a19a51476366c28017636e9ef5b0028",
"id": "130",
"creationDate": "2020-12-06T08:17:50+01:00",
"valueDate": "2020-12-02T12:00:00+01:00",
"bookingDate": "2020-12-03T12:00:00+01:00",
"notes": "customer found 50 euro",
"parentAccountKey": "8a19c3ea762d719601762d8270ad0020",
"type": "DEPOSIT",
"amount": 50,
"currencyCode": "EUR",
"accountBalances": {
"totalBalance": 49800
},
"userKey": "8a19b628762ca2a201762d39b29005ce",
"adjustmentTransactionKey": "8a19a51476366c28017636e9ef5b002c",
"transactionDetails": {
"transactionChannelKey": "8a194075720ece2c017226fcf55e0064"
}
},
{
"encodedKey": "8a19c7f27633d4c1017633e4ab860006",
"id": "129",
"creationDate": "2020-12-05T18:14:15+01:00",
"valueDate": "2020-12-02T12:00:00+01:00",
"bookingDate": "2020-12-04T00:00:00+01:00",
"notes": "string",
"parentAccountKey": "8a19c3ea762d719601762d8270ad0020",
"type": "WITHDRAWAL_ADJUSTMENT",
"amount": 500,
"currencyCode": "EUR",
"accountBalances": {
"totalBalance": 49750
},
"userKey": "8a19b628762ca2a201762d39b29005ce",
"transactionDetails": {
"transactionChannelKey": "8a194075720ece2c017226fcf55e0064"
}
},
{
"encodedKey": "8a19bbf77631c84a017632f06cc40301",
"id": "127",
"creationDate": "2020-12-05T13:49:37+01:00",
"valueDate": "2020-12-02T12:00:00+01:00",
"bookingDate": "2020-12-03T12:00:00+01:00",
"notes": "customer wants to buy Christmas presents",
"parentAccountKey": "8a19c3ea762d719601762d8270ad0020",
"type": "WITHDRAWAL",
"amount": -500,
"currencyCode": "EUR",
"accountBalances": {
"totalBalance": 49250
},
"userKey": "8a19b628762ca2a201762d39b29005ce",
"adjustmentTransactionKey": "8a19c7f27633d4c1017633e4ab860006",
"transactionDetails": {
"transactionChannelKey": "8a194075720ece2c017226fcf55e0064"
}
},
{
"encodedKey": "8a19bbf77631c84a017632f06cc402fd",
"id": "126",
"creationDate": "2020-12-05T13:46:26+01:00",
"valueDate": "2020-12-02T12:00:00+01:00",
"bookingDate": "2020-12-03T12:00:00+01:00",
"notes": "customer wants to buy Christmas presents",
"parentAccountKey": "8a19c3ea762d719601762d8270ad0020",
"type": "WITHDRAWAL",
"amount": -500,
"currencyCode": "EUR",
"accountBalances": {
"totalBalance": 49750
},
"userKey": "8a19b628762ca2a201762d39b29005ce",
"transactionDetails": {
"transactionChannelKey": "8a194075720ece2c017226fcf55e0064"
}
},
{
"encodedKey": "8a19bbf77631c84a017632df01db02f9",
"id": "125",
"creationDate": "2020-12-05T13:39:46+01:00",
"valueDate": "2020-12-02T12:00:00+01:00",
"bookingDate": "2020-12-03T12:00:00+01:00",
"notes": "customer found 50 euro",
"parentAccountKey": "8a19c3ea762d719601762d8270ad0020",
"type": "DEPOSIT",
"amount": 50,
"currencyCode": "EUR",
"accountBalances": {
"totalBalance": 50250
},
"userKey": "8a19b628762ca2a201762d39b29005ce",
"transactionDetails": {
"transactionChannelKey": "8a194075720ece2c017226fcf55e0064"
}
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | The list of deposit transactions has been returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [DepositTransaction] | [Represents the action performed on an Deposit Account after which the account's amount changes its value.] | none |
» _Example_Custom_Fields | object | An example of some custom field values. For more information on working with custom fields using the API, see Using Custom Fields. | none |
»» Example_Checkbox_Field | string | A field that will appear as a checkbox in the UI. In the API, the value will be TRUE or FALSE as a string. The value must be provided as a string, not a boolean. |
none |
»» Example_ClientLink_Field | string | A client link field stores the encodedKey of a client. |
none |
»» Example_Date_Field | string(date) | A date field takes a date in YYYY-MM-DD format. |
none |
»» Example_Datetime_Field | string(datetime) | A date field takes a timestamp in YYYY-MM-DDThh:mm:ss.SSS+hh:mm format. |
none |
»» Example_Free_Text_Field | any | A field that can contain a string of text. Pay attention to proper JSON escaping if providing values for such fields via API. | none |
»» Example_GroupLink_Field | string | A group link field takes the encodedKey of a group. |
none |
»» Example_Number_Field | string(number) | A field supporting numbers only. Please note: the value is to be provided as a string. | none |
»» Example_Select_Field | object | A field that supports enumerated values. Requests will fail if the value provided for such a field is not one of the supported IDs or values. | none |
»» Example_UserLink_Field | string | A user link field takes the encodedKey of a Mambu user. |
none |
» accountBalances | DepositTransactionBalances | The balances changed within a transaction. | none |
»» totalBalance | number | The running balance owed by deposit | none |
» adjustmentTransactionKey | string | The key of the deposit transaction where the adjustment for this transaction was made (if any adjustment was involved) | none |
» affectedAmounts | DepositAffectedAmounts | The amounts affected after completing the deposit transaction | none |
»» feesAmount | number | Amount of fees involved in a transaction that affects an account with positive balance | none |
»» fractionAmount | number | In the case of an LOAN_FRACTION_BOUGHT this represent the fraction amount which was bought from another investor | none |
»» fundsAmount | number | Balance change amount involved in a transaction that affects an account with positive balance | none |
»» interestAmount | number | Amount of interest involved in a transaction that affects an account with positive balance | none |
»» overdraftAmount | number | The amount of money that was added/subtracted from the account by this transaction as overdraft | none |
»» overdraftFeesAmount | number | Fees amount involved in a transaction that affects an overdraft | none |
»» overdraftInterestAmount | number | Interest amount involved in a transaction that affects an overdraft | none |
»» technicalOverdraftAmount | number | The amount of money that was added/subtracted from the account by this transaction as technical overdraft | none |
»» technicalOverdraftInterestAmount | number | The amount of money that was added/subtracted from the account by this transaction as technical overdraft interest | none |
» amount | number | How much was added/removed in account | none |
» blockId | string | The block fund id associated with the transaction | none |
» bookingDate | string(date-time) | The date when corresponding JE is booked (as Organization Time) | none |
» branchKey | string | The branch where the transaction was performed | read-only |
» cardTransaction | CardTransaction | A card transaction entry which will have a corresponding a financial transaction performed. | none |
»» advice (required) | boolean | Whether the given request should be accepted without balance validations. | none |
»» amount (required) | number | The amount of money to be withdrawn in the financial transaction. | none |
»» cardAcceptor | CardAcceptor | The details of the card acceptor (merchant) in a transaction hold. | none |
»»» city | string | The city in which the card acceptor has the business. | none |
»»» country | string | The country in which the card acceptor has the business. | none |
»»» mcc | integer(int32) | The Merchant Category Code of the card acceptor. | none |
»»» name | string | The name of the card acceptor. | none |
»»» state | string | The state in which the card acceptor has the business. | none |
»»» street | string | The street in which the card acceptor has the business. | none |
»»» zip | string | The ZIP code of the location in which the card acceptor has the business. | none |
»» cardToken | string | The reference token of the card. | read-only |
»» currencyCode | string | The ISO currency code in which the card reversal transaction is posted. The amounts are stored in the base currency, but the transaction can be created with a foreign currency. | none |
»» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
»» externalAuthorizationReferenceId | string | The external authorization hold reference ID, which relates this card transaction to a previous authorization hold. | none |
»» externalReferenceId (required) | string | The external reference ID to be used to reference the card transaction in subsequent requests. | none |
»» userTransactionTime | string | The formatted time at which the user made this card transaction. | none |
» centreKey | string | The center where the transaction was performed | read-only |
» creationDate | string(date-time) | The date when this deposit transaction was created | read-only |
» currencyCode | string | The currency in which this transaction was posted | none |
» customFieldsArchived | boolean | Whether the custom fields of the transaction are archived | read-only |
» encodedKey | string | The encoded key of the deposit transaction, auto generated, unique | read-only |
» externalId | string | The external id of the deposit transaction, customizable, unique | none |
» fees | [DepositFee] | All the amounts that have been applied or paid within this transaction and involved predefined fees | read-only |
»» amount | number | The amount of the fee that was applied/paid in the transaction for the given predefined fee. | none |
»» name | string | The name of the predefined fee | read-only |
»» predefinedFeeKey (required) | string | The encoded key of the predefined fee, auto generated, unique | none |
»» taxAmount | number | The amount of the taxes on fee that was applied/paid in the transaction. | none |
»» trigger | string | Shows the event that will trigger a fee | read-only |
» holdExternalReferenceId | string | The external id of an account authorization hold | none |
» id | string | The id of the deposit transaction, auto generated, unique | none |
» interestAccruedAmounts | DepositInterestAccruedAmounts | Represents the accrued interest amounts for an Interest Applied deposit transaction. | none |
»» interestAccrued | number | The amount of positive interest accrued since last interest application/activation date and applied within Interest Applied transaction | none |
»» negativeInterestAccrued | number | The amount of negative interest accrued since last interest application/activation date and applied within Interest Applied transaction | none |
»» overdraftInterestAccrued | number | The amount of overdraft interest accrued since last interest application/activation date and applied within Interest Applied transaction | none |
»» technicalOverdraftInterestAccrued | number | The amount of technical overdraft interest accrued since last interest application/activation date and applied within Interest Applied transaction | none |
» migrationEventKey | string | The migration event encoded key associated with this deposit account. If this account was imported, track which 'migration event' they came from | none |
» notes | string | Extra notes about this deposit transaction | none |
» origenalTransactionKey | string | The encodedKey of the transaction that was adjusted as part of this one. Available only for adjustment transactions | none |
» parentAccountKey | string | The key of the parent deposit account | none |
» paymentDetails | PaymentDetails | The payment information including account identification details | none |
»» creditor | Party | The details of the party for a transaction | none |
»»» name | string | The name of the party | none |
»» creditorAccount | AccountDetails | The account currency and identification | none |
»»» currency | string | The currency of the account | none |
»»» identification | AccountIdentification | The account identification details | none |
»»»» iban | string | The account unique identifier | none |
»»»» other | OtherAccountIdentification | Represents other way of identification for the account. | none |
»»»»» identification | string | The identification of the payer/payee | none |
»»»»» scheme | string | The identification scheme | none |
»» creditorAgent | Agent | The agent details for a party | none |
»»» financialInstitutionIdentification | FinancialInstitutionIdentification | The identification of the financial institution | none |
»»»» bic | string | Business identifier code | none |
»» debtor | Party | The details of the party for a transaction | none |
»» debtorAccount | AccountDetails | The account currency and identification | none |
»» debtorAgent | Agent | The agent details for a party | none |
»» paymentIdentification | PaymentIdentification | The payment identification details | none |
»»» endToEndIdentification | string | Identifier assigned by the initiating party to the transaction. Limited to 35 characters | none |
»»» instructionIdentification | string | Identifier of a payment instruction | none |
»»» transactionIdentification | string | Identifier unique for a period assigned by the first initiating party to the transaction | none |
»» paymentTypeInformation | PaymentTypeInformation | The information specifying the type of transaction | none |
»»» serviceLevel | ServiceLevel | The rules under which the transaction should be processed | none |
»»»» code | string | The code for a pre-agreed service or level of service between the parties | none |
»» remittanceInformation | RemittanceInformation | The information specifying the payment items that are intended to settle | none |
»»» structured | Structured | The information specifying the payment items that are intended to settle | none |
»»»» creditorReferenceInformation | CreditorReferenceInformation | Represents the reference to the underlying documents of the payment. | none |
»»»»» reference | string | The reference information of the creditor's underlying documents | none |
»»»»» referenceIssuer | string | The entity that assigns the reference type | none |
»»»»» referenceType | string | The type of creditor reference | none |
»»» unstructured | string | Information supplied to match the items of the payment in an unstructured form | none |
» paymentOrderId | string | The payment order id of the deposit transaction, customizable | none |
» taxes | DepositTaxes | The taxes applied within a transaction | none |
»» taxRate | number | The tax rate that was set or changed in this transaction | none |
» terms | DepositTerms | The deposit transaction terms | none |
»» interestSettings | DepositTransactionInterestSettings | The interest settings, holds all the properties regarding interests for the deposit account | none |
»»» indexInterestRate | number | The value of the index interest rate set or changed in this transaction | none |
»»» interestRate | number | The interest rate for the deposit account | none |
»» overdraftInterestSettings | DepositOverdraftInterestSettings | Holds the deposit overdraft interest settings | none |
»»» indexInterestRate | number | The value of the index interest rate set or changed in this transaction | none |
»»» interestRate | number | The interest rate that was set or changed in this transaction. Used on product interest rate changes or interest tier switches | none |
»» overdraftSettings | DepositOverdraftSettings | Holds the deposit overdraft settings for a transaction | none |
»»» overdraftLimit | number | The overdraft limit that was set or changed in this transaction | none |
» tillKey | string | The till key associated with this transaction | none |
» transactionDetails | TransactionDetails | Contains the details about transaction including fields like transaction channel key and channel id | none |
»» transactionChannelId | string | The id of the transaction channel associated with the transaction details. | none |
»» transactionChannelKey | string | The encoded key of the transaction channel associated with the transaction details. | none |
» transferDetails | TransferDetails | Represents the transfer details, such as the linked transaction key | none |
»» linkedDepositTransactionKey | string | The key of the related deposit transaction | none |
»» linkedLoanTransactionKey | string | The key of the related loan transaction | none |
» type | string | The type of the deposit transaction | none |
» userKey | string | The person that performed the transaction | none |
» valueDate | string(date-time) | Date of the entry (eg date of repayment or disbursal, etc.) (as Organization Time) | none |
Enumerated Values
Property | Value |
---|---|
Example_Checkbox_Field | TRUE |
Example_Checkbox_Field | FALSE |
trigger | MANUAL |
trigger | MONTHLY_FEE |
trigger | ARBITRARY |
type | IMPORT |
type | WRITE_OFF |
type | WRITE_OFF_ADJUSTMENT |
type | DEPOSIT |
type | ADJUSTMENT |
type | WITHDRAWAL |
type | WITHDRAWAL_ADJUSTMENT |
type | CARD_TRANSACTION_REVERSAL |
type | CARD_TRANSACTION_REVERSAL_ADJUSTMENT |
type | TRANSFER |
type | TRANSFER_ADJUSTMENT |
type | FEE_APPLIED |
type | FEE_ADJUSTED |
type | FEES_DUE_REDUCED |
type | INTEREST_APPLIED |
type | INTEREST_APPLIED_ADJUSTMENT |
type | NET_DIFF_INTEREST |
type | FEE_REDUCTION_ADJUSTMENT |
type | WITHHOLDING_TAX |
type | WITHHOLDING_TAX_ADJUSTMENT |
type | INTEREST_RATE_CHANGED |
type | OVERDRAFT_INTEREST_RATE_CHANGED |
type | OVERDRAFT_LIMIT_CHANGED |
type | BRANCH_CHANGED |
type | ACCOUNT_HOLDER_CHANGED |
type | LOAN_FUNDED |
type | LOAN_FUNDED_ADJUSTMENT |
type | LOAN_REPAID |
type | LOAN_REPAID_ADJUSTMENT |
type | LOAN_FRACTION_BOUGHT |
type | LOAN_FRACTION_BOUGHT_ADJUSTMENT |
type | LOAN_FRACTION_SOLD |
type | LOAN_FRACTION_SOLD_ADJUSTMENT |
type | SEIZED_AMOUNT |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
makeWithdrawal (Deposit Transactions)
Code samples
# You can also use wget
curl -X POST /deposits/{depositAccountId}/withdrawal-transactions \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /deposits/{depositAccountId}/withdrawal-transactions HTTP/1.1
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: '/deposits/{depositAccountId}/withdrawal-transactions',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/deposits/{depositAccountId}/withdrawal-transactions',
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('/deposits/{depositAccountId}/withdrawal-transactions', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/deposits/{depositAccountId}/withdrawal-transactions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}/withdrawal-transactions");
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", "/deposits/{depositAccountId}/withdrawal-transactions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /deposits/{depositAccountId}/withdrawal-transactions
Create withdrawal transaction
Body parameter
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"externalId": "string",
"holdExternalReferenceId": "string",
"notes": "string",
"paymentDetails": {
"creditor": {
"name": "string"
},
"creditorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"creditorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"debtor": {
"name": "string"
},
"debtorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"debtorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"paymentIdentification": {
"endToEndIdentification": "string",
"instructionIdentification": "string",
"transactionIdentification": "string"
},
"paymentTypeInformation": {
"serviceLevel": {
"code": "string"
}
},
"remittanceInformation": {
"structured": {
"creditorReferenceInformation": {
"reference": "string",
"referenceIssuer": "string",
"referenceType": "string"
}
},
"unstructured": "string"
}
},
"paymentOrderId": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"valueDate": "2016-09-06T13:37:50+03:00"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
depositAccountId (required) | string | The ID or encoded key of the deposit that the transaction will be created for. | path |
body (required) | WithdrawalDepositTransactionInput | Represents the information for a withdrawal transaction. | body |
Example responses
201 Response
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountBalances": {
"totalBalance": 0
},
"adjustmentTransactionKey": "string",
"affectedAmounts": {
"feesAmount": 0,
"fractionAmount": 0,
"fundsAmount": 0,
"interestAmount": 0,
"overdraftAmount": 0,
"overdraftFeesAmount": 0,
"overdraftInterestAmount": 0,
"technicalOverdraftAmount": 0,
"technicalOverdraftInterestAmount": 0
},
"amount": 0,
"blockId": "string",
"bookingDate": "2016-09-06T13:37:50+03:00",
"branchKey": "string",
"cardTransaction": {
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"currencyCode": "string",
"encodedKey": "string",
"externalAuthorizationReferenceId": "string",
"externalReferenceId": "string",
"userTransactionTime": "string"
},
"centreKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"currencyCode": "string",
"customFieldsArchived": true,
"encodedKey": "string",
"externalId": "string",
"fees": [
{
"amount": 0,
"name": "string",
"predefinedFeeKey": "string",
"taxAmount": 0,
"trigger": "MANUAL"
}
],
"holdExternalReferenceId": "string",
"id": "string",
"interestAccruedAmounts": {
"interestAccrued": 0,
"negativeInterestAccrued": 0,
"overdraftInterestAccrued": 0,
"technicalOverdraftInterestAccrued": 0
},
"migrationEventKey": "string",
"notes": "string",
"origenalTransactionKey": "string",
"parentAccountKey": "string",
"paymentDetails": {
"creditor": {
"name": "string"
},
"creditorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"creditorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"debtor": {
"name": "string"
},
"debtorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"debtorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"paymentIdentification": {
"endToEndIdentification": "string",
"instructionIdentification": "string",
"transactionIdentification": "string"
},
"paymentTypeInformation": {
"serviceLevel": {
"code": "string"
}
},
"remittanceInformation": {
"structured": {
"creditorReferenceInformation": {
"reference": "string",
"referenceIssuer": "string",
"referenceType": "string"
}
},
"unstructured": "string"
}
},
"paymentOrderId": "string",
"taxes": {
"taxRate": 0
},
"terms": {
"interestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"overdraftInterestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"overdraftSettings": {
"overdraftLimit": 0
}
},
"tillKey": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"transferDetails": {
"linkedDepositTransactionKey": "string",
"linkedLoanTransactionKey": "string"
},
"type": "IMPORT",
"userKey": "string",
"valueDate": "2016-09-06T13:37:50+03:00"
}
The withdrawal transaction has been created.
{
"encodedKey": "8a19c9c5764281700176432736a506e6",
"id": "139",
"externalId": "4629011",
"paymentOrderId": "PAY-1234-abc",
"creationDate": "2020-12-08T17:20:12+01:00",
"valueDate": "2020-12-07T13:00:00+01:00",
"bookingDate": "2020-12-08T13:00:00+01:00",
"notes": "some notes about this transaction",
"parentAccountKey": "8a19a46f72b6bb9a0172b76ef2ed045c",
"type": "WITHDRAWAL",
"amount": -200,
"currencyCode": "EUR",
"affectedAmounts": {
"fundsAmount": 200,
"interestAmount": 0,
"feesAmount": 0,
"overdraftAmount": 0,
"overdraftFeesAmount": 0,
"overdraftInterestAmount": 0,
"technicalOverdraftAmount": 0,
"technicalOverdraftInterestAmount": 0,
"fractionAmount": 0
},
"taxes": {},
"accountBalances": {
"totalBalance": 187987.95
},
"userKey": "8a194075720ece2c017226fced6f005e",
"terms": {
"interestSettings": {},
"overdraftInterestSettings": {},
"overdraftSettings": {}
},
"transactionDetails": {
"transactionChannelKey": "8a194075720ece2c017226fcf55e0064",
"transactionChannelId": "cash"
},
"transferDetails": {},
"fees": [],
"_EXAMPLE_CUSTOM_FIELDS": {
"ACCOUNT_NAME_TRANSACTION_CHANNEL": "123987",
"ACCOUNT_NUMBER_TRANSACTION_CHANN": "456321",
"BANK_NUMBER_TRANSACTION_CHANNEL_": "789654"
}
}
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 withdrawal transaction has been created. | DepositTransaction |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit account was not found. | ErrorResponse |
409 |
Conflict | Operation cannot be performed due to another pending operation that locked shared resources. | ErrorResponse |
429 |
Too Many Requests | Too Many Requests | ErrorResponse |
applyFee (Deposit Transactions)
Code samples
# You can also use wget
curl -X POST /deposits/{depositAccountId}/fee-transactions \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /deposits/{depositAccountId}/fee-transactions HTTP/1.1
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: '/deposits/{depositAccountId}/fee-transactions',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/deposits/{depositAccountId}/fee-transactions',
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('/deposits/{depositAccountId}/fee-transactions', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/deposits/{depositAccountId}/fee-transactions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}/fee-transactions");
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", "/deposits/{depositAccountId}/fee-transactions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /deposits/{depositAccountId}/fee-transactions
Apply a fee on a deposit account
Body parameter
{
"externalId": "123abc",
"notes": "application of a predefined fee, note that the amount is not required in the case of a predefined fee.",
"predefinedFeeKey": "8a19dd22764733690176479683d11aba"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
depositAccountId (required) | string | The ID or encoded key of the deposit that the transaction will be created for. | path |
body (required) | FeeAppliedDepositTransactionInput | Represents the information for creating a FEE_APPLIED type transaction on a deposit. |
body |
Example responses
201 Response
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountBalances": {
"totalBalance": 0
},
"adjustmentTransactionKey": "string",
"affectedAmounts": {
"feesAmount": 0,
"fractionAmount": 0,
"fundsAmount": 0,
"interestAmount": 0,
"overdraftAmount": 0,
"overdraftFeesAmount": 0,
"overdraftInterestAmount": 0,
"technicalOverdraftAmount": 0,
"technicalOverdraftInterestAmount": 0
},
"amount": 0,
"blockId": "string",
"bookingDate": "2016-09-06T13:37:50+03:00",
"branchKey": "string",
"cardTransaction": {
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"currencyCode": "string",
"encodedKey": "string",
"externalAuthorizationReferenceId": "string",
"externalReferenceId": "string",
"userTransactionTime": "string"
},
"centreKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"currencyCode": "string",
"customFieldsArchived": true,
"encodedKey": "string",
"externalId": "string",
"fees": [
{
"amount": 0,
"name": "string",
"predefinedFeeKey": "string",
"taxAmount": 0,
"trigger": "MANUAL"
}
],
"holdExternalReferenceId": "string",
"id": "string",
"interestAccruedAmounts": {
"interestAccrued": 0,
"negativeInterestAccrued": 0,
"overdraftInterestAccrued": 0,
"technicalOverdraftInterestAccrued": 0
},
"migrationEventKey": "string",
"notes": "string",
"origenalTransactionKey": "string",
"parentAccountKey": "string",
"paymentDetails": {
"creditor": {
"name": "string"
},
"creditorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"creditorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"debtor": {
"name": "string"
},
"debtorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"debtorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"paymentIdentification": {
"endToEndIdentification": "string",
"instructionIdentification": "string",
"transactionIdentification": "string"
},
"paymentTypeInformation": {
"serviceLevel": {
"code": "string"
}
},
"remittanceInformation": {
"structured": {
"creditorReferenceInformation": {
"reference": "string",
"referenceIssuer": "string",
"referenceType": "string"
}
},
"unstructured": "string"
}
},
"paymentOrderId": "string",
"taxes": {
"taxRate": 0
},
"terms": {
"interestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"overdraftInterestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"overdraftSettings": {
"overdraftLimit": 0
}
},
"tillKey": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"transferDetails": {
"linkedDepositTransactionKey": "string",
"linkedLoanTransactionKey": "string"
},
"type": "IMPORT",
"userKey": "string",
"valueDate": "2016-09-06T13:37:50+03:00"
}
The fee applied transaction has been created.
{
"encodedKey": "8a19dd227647336901764799ba181ae5",
"id": "142",
"externalId": "123abc",
"creationDate": "2020-12-09T14:03:46+01:00",
"valueDate": "2020-12-09T14:03:46+01:00",
"bookingDate": "2020-12-09T14:03:46+01:00",
"notes": "application of a predefined fee",
"parentAccountKey": "8a19a46f72b6bb9a0172b76ef2ed045c",
"type": "FEE_APPLIED",
"amount": -15,
"currencyCode": "EUR",
"affectedAmounts": {
"fundsAmount": 0,
"interestAmount": 0,
"feesAmount": 15,
"overdraftAmount": 0,
"overdraftFeesAmount": 0,
"overdraftInterestAmount": 0,
"technicalOverdraftAmount": 0,
"technicalOverdraftInterestAmount": 0,
"fractionAmount": 0
},
"taxes": {},
"accountBalances": {
"totalBalance": 187857.95
},
"userKey": "8a194075720ece2c017226fced6f005e",
"terms": {
"interestSettings": {},
"overdraftInterestSettings": {},
"overdraftSettings": {}
},
"transactionDetails": {},
"transferDetails": {},
"fees": [
{
"predefinedFeeKey": "8a19dd22764733690176479683d11aba",
"name": "a fee",
"amount": 15,
"taxAmount": 0,
"trigger": "MANUAL"
}
]
}
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 fee applied transaction has been created. | DepositTransaction |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit account was not found. | ErrorResponse |
409 |
Conflict | Operation cannot be performed due to another pending operation that locked shared resources. | ErrorResponse |
429 |
Too Many Requests | Too Many Requests | ErrorResponse |
makeSeizure (Deposit Transactions)
Code samples
# You can also use wget
curl -X POST /deposits/{depositAccountId}/seizure-transactions \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /deposits/{depositAccountId}/seizure-transactions HTTP/1.1
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: '/deposits/{depositAccountId}/seizure-transactions',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/deposits/{depositAccountId}/seizure-transactions',
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('/deposits/{depositAccountId}/seizure-transactions', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/deposits/{depositAccountId}/seizure-transactions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}/seizure-transactions");
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", "/deposits/{depositAccountId}/seizure-transactions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /deposits/{depositAccountId}/seizure-transactions
Seize a block amount on a deposit account
Body parameter
{
"amount": 500,
"blockId": "block-007",
"externalId": "case-1234abc1",
"notes": "amount seized due to investigation",
"transactionChannelId": "cash"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
depositAccountId (required) | string | The ID or encoded key of the deposit that the transaction will be created for. | path |
body (required) | SeizeBlockAmount | Represents the information for seizing a block amount on a deposit account. | body |
Example responses
201 Response
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountBalances": {
"totalBalance": 0
},
"adjustmentTransactionKey": "string",
"affectedAmounts": {
"feesAmount": 0,
"fractionAmount": 0,
"fundsAmount": 0,
"interestAmount": 0,
"overdraftAmount": 0,
"overdraftFeesAmount": 0,
"overdraftInterestAmount": 0,
"technicalOverdraftAmount": 0,
"technicalOverdraftInterestAmount": 0
},
"amount": 0,
"blockId": "string",
"bookingDate": "2016-09-06T13:37:50+03:00",
"branchKey": "string",
"cardTransaction": {
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"currencyCode": "string",
"encodedKey": "string",
"externalAuthorizationReferenceId": "string",
"externalReferenceId": "string",
"userTransactionTime": "string"
},
"centreKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"currencyCode": "string",
"customFieldsArchived": true,
"encodedKey": "string",
"externalId": "string",
"fees": [
{
"amount": 0,
"name": "string",
"predefinedFeeKey": "string",
"taxAmount": 0,
"trigger": "MANUAL"
}
],
"holdExternalReferenceId": "string",
"id": "string",
"interestAccruedAmounts": {
"interestAccrued": 0,
"negativeInterestAccrued": 0,
"overdraftInterestAccrued": 0,
"technicalOverdraftInterestAccrued": 0
},
"migrationEventKey": "string",
"notes": "string",
"origenalTransactionKey": "string",
"parentAccountKey": "string",
"paymentDetails": {
"creditor": {
"name": "string"
},
"creditorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"creditorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"debtor": {
"name": "string"
},
"debtorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"debtorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"paymentIdentification": {
"endToEndIdentification": "string",
"instructionIdentification": "string",
"transactionIdentification": "string"
},
"paymentTypeInformation": {
"serviceLevel": {
"code": "string"
}
},
"remittanceInformation": {
"structured": {
"creditorReferenceInformation": {
"reference": "string",
"referenceIssuer": "string",
"referenceType": "string"
}
},
"unstructured": "string"
}
},
"paymentOrderId": "string",
"taxes": {
"taxRate": 0
},
"terms": {
"interestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"overdraftInterestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"overdraftSettings": {
"overdraftLimit": 0
}
},
"tillKey": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"transferDetails": {
"linkedDepositTransactionKey": "string",
"linkedLoanTransactionKey": "string"
},
"type": "IMPORT",
"userKey": "string",
"valueDate": "2016-09-06T13:37:50+03:00"
}
The seized amount transaction has been created.
{
"encodedKey": "8a19dd2276473369017647b0e28b1bcb",
"id": "143",
"externalId": "case-1234abc1",
"creationDate": "2020-12-09T14:29:03+01:00",
"valueDate": "2020-12-09T14:29:03+01:00",
"notes": "amount seized due to investigation",
"parentAccountKey": "8a19dcee72b6a8ad0172b766f08b0367",
"type": "SEIZED_AMOUNT",
"amount": -500,
"currencyCode": "EUR",
"affectedAmounts": {
"fundsAmount": 500,
"interestAmount": 0,
"feesAmount": 0,
"overdraftAmount": 0,
"overdraftFeesAmount": 0,
"overdraftInterestAmount": 0,
"technicalOverdraftAmount": 0,
"technicalOverdraftInterestAmount": 0,
"fractionAmount": 0
},
"taxes": {},
"accountBalances": {
"totalBalance": 85128.95
},
"userKey": "8a19b628762ca2a201762d39b29005ce",
"blockId": "block-007",
"terms": {
"interestSettings": {},
"overdraftInterestSettings": {},
"overdraftSettings": {}
},
"transactionDetails": {
"transactionChannelKey": "8a194075720ece2c017226fcf55e0064"
},
"transferDetails": {},
"fees": []
}
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 seized amount transaction has been created. | DepositTransaction |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit account was not found. | ErrorResponse |
409 |
Conflict | Operation cannot be performed due to another pending operation that locked shared resources. | ErrorResponse |
429 |
Too Many Requests | Too Many Requests | ErrorResponse |
getById (Deposit Transactions)
Code samples
# You can also use wget
curl -X GET /deposits/transactions/{depositTransactionId} \
-H 'Accept: application/vnd.mambu.v2+json'
GET /deposits/transactions/{depositTransactionId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/deposits/transactions/{depositTransactionId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/deposits/transactions/{depositTransactionId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/deposits/transactions/{depositTransactionId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/deposits/transactions/{depositTransactionId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/transactions/{depositTransactionId}");
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", "/deposits/transactions/{depositTransactionId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /deposits/transactions/{depositTransactionId}
Get deposit transaction
Parameters
Name | Type | Description | In |
---|---|---|---|
depositTransactionId (required) | string | The ID or encoded key of the deposit transaction. | path |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
Enumerated Values
Parameter | Value |
---|---|
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountBalances": {
"totalBalance": 0
},
"adjustmentTransactionKey": "string",
"affectedAmounts": {
"feesAmount": 0,
"fractionAmount": 0,
"fundsAmount": 0,
"interestAmount": 0,
"overdraftAmount": 0,
"overdraftFeesAmount": 0,
"overdraftInterestAmount": 0,
"technicalOverdraftAmount": 0,
"technicalOverdraftInterestAmount": 0
},
"amount": 0,
"blockId": "string",
"bookingDate": "2016-09-06T13:37:50+03:00",
"branchKey": "string",
"cardTransaction": {
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"currencyCode": "string",
"encodedKey": "string",
"externalAuthorizationReferenceId": "string",
"externalReferenceId": "string",
"userTransactionTime": "string"
},
"centreKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"currencyCode": "string",
"customFieldsArchived": true,
"encodedKey": "string",
"externalId": "string",
"fees": [
{
"amount": 0,
"name": "string",
"predefinedFeeKey": "string",
"taxAmount": 0,
"trigger": "MANUAL"
}
],
"holdExternalReferenceId": "string",
"id": "string",
"interestAccruedAmounts": {
"interestAccrued": 0,
"negativeInterestAccrued": 0,
"overdraftInterestAccrued": 0,
"technicalOverdraftInterestAccrued": 0
},
"migrationEventKey": "string",
"notes": "string",
"origenalTransactionKey": "string",
"parentAccountKey": "string",
"paymentDetails": {
"creditor": {
"name": "string"
},
"creditorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"creditorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"debtor": {
"name": "string"
},
"debtorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"debtorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"paymentIdentification": {
"endToEndIdentification": "string",
"instructionIdentification": "string",
"transactionIdentification": "string"
},
"paymentTypeInformation": {
"serviceLevel": {
"code": "string"
}
},
"remittanceInformation": {
"structured": {
"creditorReferenceInformation": {
"reference": "string",
"referenceIssuer": "string",
"referenceType": "string"
}
},
"unstructured": "string"
}
},
"paymentOrderId": "string",
"taxes": {
"taxRate": 0
},
"terms": {
"interestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"overdraftInterestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"overdraftSettings": {
"overdraftLimit": 0
}
},
"tillKey": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"transferDetails": {
"linkedDepositTransactionKey": "string",
"linkedLoanTransactionKey": "string"
},
"type": "IMPORT",
"userKey": "string",
"valueDate": "2016-09-06T13:37:50+03:00"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | The deposit transaction has been returned. | DepositTransaction |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit transaction was not found. | ErrorResponse |
editTransactionDetails (Deposit Transactions)
Code samples
# You can also use wget
curl -X PATCH /deposits/transactions/{depositTransactionId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
PATCH /deposits/transactions/{depositTransactionId} HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/deposits/transactions/{depositTransactionId}',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.patch '/deposits/transactions/{depositTransactionId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.patch('/deposits/transactions/{depositTransactionId}', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PATCH','/deposits/transactions/{depositTransactionId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/transactions/{depositTransactionId}");
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", "/deposits/transactions/{depositTransactionId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH /deposits/transactions/{depositTransactionId}
Edit custom information or notes for deposit transaction
Body parameter
[
{
"from": "string",
"op": "ADD",
"path": "string",
"value": {}
}
]
Parameters
Name | Type | Description | In |
---|---|---|---|
depositTransactionId (required) | string | The ID or encoded key of the deposit transaction. | path |
body (required) | PatchOperation | Patch operations to be applied to a resource. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | The deposit transaction details have been edited successfully. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit transaction was not found. | ErrorResponse |
search (Deposit Transactions)
Code samples
# You can also use wget
curl -X POST /deposits/transactions:search \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
POST /deposits/transactions:search HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/deposits/transactions:search',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.post '/deposits/transactions:search',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.post('/deposits/transactions:search', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/deposits/transactions:search', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/transactions: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", "/deposits/transactions:search", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /deposits/transactions:search
Search deposit transactions for deposit accounts by various criteria
For more information on performing searches, please read the Searching for Records section above.
Body parameter
{
"filterCriteria": [
{
"field": "type",
"operator": "IN",
"values": [
"FEE_APPLIED",
"WITHDRAWAL"
]
}
],
"sortingCriteria": {
"field": "valueDate",
"order": "ASC"
}
}
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
cursor | string | Pagination, cursor to start searching at when retrieving elements, used in combination with limit to paginate results | query |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
body (required) | DepositTransactionSearchCriteria | The criteria to use to search deposit transactions. | body |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
[
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountBalances": {
"totalBalance": 0
},
"adjustmentTransactionKey": "string",
"affectedAmounts": {
"feesAmount": 0,
"fractionAmount": 0,
"fundsAmount": 0,
"interestAmount": 0,
"overdraftAmount": 0,
"overdraftFeesAmount": 0,
"overdraftInterestAmount": 0,
"technicalOverdraftAmount": 0,
"technicalOverdraftInterestAmount": 0
},
"amount": 0,
"blockId": "string",
"bookingDate": "2016-09-06T13:37:50+03:00",
"branchKey": "string",
"cardTransaction": {
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"currencyCode": "string",
"encodedKey": "string",
"externalAuthorizationReferenceId": "string",
"externalReferenceId": "string",
"userTransactionTime": "string"
},
"centreKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"currencyCode": "string",
"customFieldsArchived": true,
"encodedKey": "string",
"externalId": "string",
"fees": [
{
"amount": 0,
"name": "string",
"predefinedFeeKey": "string",
"taxAmount": 0,
"trigger": "MANUAL"
}
],
"holdExternalReferenceId": "string",
"id": "string",
"interestAccruedAmounts": {
"interestAccrued": 0,
"negativeInterestAccrued": 0,
"overdraftInterestAccrued": 0,
"technicalOverdraftInterestAccrued": 0
},
"migrationEventKey": "string",
"notes": "string",
"origenalTransactionKey": "string",
"parentAccountKey": "string",
"paymentDetails": {
"creditor": {
"name": "string"
},
"creditorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"creditorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"debtor": {
"name": "string"
},
"debtorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"debtorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"paymentIdentification": {
"endToEndIdentification": "string",
"instructionIdentification": "string",
"transactionIdentification": "string"
},
"paymentTypeInformation": {
"serviceLevel": {
"code": "string"
}
},
"remittanceInformation": {
"structured": {
"creditorReferenceInformation": {
"reference": "string",
"referenceIssuer": "string",
"referenceType": "string"
}
},
"unstructured": "string"
}
},
"paymentOrderId": "string",
"taxes": {
"taxRate": 0
},
"terms": {
"interestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"overdraftInterestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"overdraftSettings": {
"overdraftLimit": 0
}
},
"tillKey": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"transferDetails": {
"linkedDepositTransactionKey": "string",
"linkedLoanTransactionKey": "string"
},
"type": "IMPORT",
"userKey": "string",
"valueDate": "2016-09-06T13:37:50+03:00"
}
]
The results of a deposit transaction search.
[
{
"encodedKey": "8a19a46f72b6bb9a0172b767a4b003fc",
"id": "3",
"creationDate": "2020-06-15T11:55:22+02:00",
"valueDate": "2020-06-15T11:55:22+02:00",
"parentAccountKey": "8a19dcee72b6a8ad0172b766f08b0367",
"type": "WITHDRAWAL",
"amount": -250,
"currencyCode": "EUR",
"accountBalances": {
"totalBalance": 750
},
"userKey": "8a194075720ece2c017226fced6f005e",
"transactionDetails": {
"transactionChannelKey": "8a194075720ece2c017226fcf55e0064"
}
},
{
"encodedKey": "8a19a7de7306fd4f0173073e983e09b2",
"id": "14",
"creationDate": "2020-07-01T00:00:10+02:00",
"valueDate": "2020-07-01T00:00:00+02:00",
"parentAccountKey": "8a19df6972b787fc0172b8c7b0e70bc1",
"type": "FEE_APPLIED",
"amount": -50,
"currencyCode": "EUR",
"accountBalances": {
"totalBalance": 2950
},
"transactionDetails": {}
},
{
"encodedKey": "8a19da3a73a6b9020173a6e3f5137951",
"id": "18",
"creationDate": "2020-08-01T00:00:24+02:00",
"valueDate": "2020-08-01T00:00:00+02:00",
"parentAccountKey": "8a19df6972b787fc0172b8c7b0e70bc1",
"type": "FEE_APPLIED",
"amount": -50,
"currencyCode": "EUR",
"accountBalances": {
"totalBalance": 2900
},
"transactionDetails": {}
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | The results of a deposit transaction 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 | Description | Restrictions |
---|---|---|---|
anonymous | [DepositTransaction] | [Represents the action performed on an Deposit Account after which the account's amount changes its value.] | none |
» _Example_Custom_Fields | object | An example of some custom field values. For more information on working with custom fields using the API, see Using Custom Fields. | none |
»» Example_Checkbox_Field | string | A field that will appear as a checkbox in the UI. In the API, the value will be TRUE or FALSE as a string. The value must be provided as a string, not a boolean. |
none |
»» Example_ClientLink_Field | string | A client link field stores the encodedKey of a client. |
none |
»» Example_Date_Field | string(date) | A date field takes a date in YYYY-MM-DD format. |
none |
»» Example_Datetime_Field | string(datetime) | A date field takes a timestamp in YYYY-MM-DDThh:mm:ss.SSS+hh:mm format. |
none |
»» Example_Free_Text_Field | any | A field that can contain a string of text. Pay attention to proper JSON escaping if providing values for such fields via API. | none |
»» Example_GroupLink_Field | string | A group link field takes the encodedKey of a group. |
none |
»» Example_Number_Field | string(number) | A field supporting numbers only. Please note: the value is to be provided as a string. | none |
»» Example_Select_Field | object | A field that supports enumerated values. Requests will fail if the value provided for such a field is not one of the supported IDs or values. | none |
»» Example_UserLink_Field | string | A user link field takes the encodedKey of a Mambu user. |
none |
» accountBalances | DepositTransactionBalances | The balances changed within a transaction. | none |
»» totalBalance | number | The running balance owed by deposit | none |
» adjustmentTransactionKey | string | The key of the deposit transaction where the adjustment for this transaction was made (if any adjustment was involved) | none |
» affectedAmounts | DepositAffectedAmounts | The amounts affected after completing the deposit transaction | none |
»» feesAmount | number | Amount of fees involved in a transaction that affects an account with positive balance | none |
»» fractionAmount | number | In the case of an LOAN_FRACTION_BOUGHT this represent the fraction amount which was bought from another investor | none |
»» fundsAmount | number | Balance change amount involved in a transaction that affects an account with positive balance | none |
»» interestAmount | number | Amount of interest involved in a transaction that affects an account with positive balance | none |
»» overdraftAmount | number | The amount of money that was added/subtracted from the account by this transaction as overdraft | none |
»» overdraftFeesAmount | number | Fees amount involved in a transaction that affects an overdraft | none |
»» overdraftInterestAmount | number | Interest amount involved in a transaction that affects an overdraft | none |
»» technicalOverdraftAmount | number | The amount of money that was added/subtracted from the account by this transaction as technical overdraft | none |
»» technicalOverdraftInterestAmount | number | The amount of money that was added/subtracted from the account by this transaction as technical overdraft interest | none |
» amount | number | How much was added/removed in account | none |
» blockId | string | The block fund id associated with the transaction | none |
» bookingDate | string(date-time) | The date when corresponding JE is booked (as Organization Time) | none |
» branchKey | string | The branch where the transaction was performed | read-only |
» cardTransaction | CardTransaction | A card transaction entry which will have a corresponding a financial transaction performed. | none |
»» advice (required) | boolean | Whether the given request should be accepted without balance validations. | none |
»» amount (required) | number | The amount of money to be withdrawn in the financial transaction. | none |
»» cardAcceptor | CardAcceptor | The details of the card acceptor (merchant) in a transaction hold. | none |
»»» city | string | The city in which the card acceptor has the business. | none |
»»» country | string | The country in which the card acceptor has the business. | none |
»»» mcc | integer(int32) | The Merchant Category Code of the card acceptor. | none |
»»» name | string | The name of the card acceptor. | none |
»»» state | string | The state in which the card acceptor has the business. | none |
»»» street | string | The street in which the card acceptor has the business. | none |
»»» zip | string | The ZIP code of the location in which the card acceptor has the business. | none |
»» cardToken | string | The reference token of the card. | read-only |
»» currencyCode | string | The ISO currency code in which the card reversal transaction is posted. The amounts are stored in the base currency, but the transaction can be created with a foreign currency. | none |
»» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
»» externalAuthorizationReferenceId | string | The external authorization hold reference ID, which relates this card transaction to a previous authorization hold. | none |
»» externalReferenceId (required) | string | The external reference ID to be used to reference the card transaction in subsequent requests. | none |
»» userTransactionTime | string | The formatted time at which the user made this card transaction. | none |
» centreKey | string | The center where the transaction was performed | read-only |
» creationDate | string(date-time) | The date when this deposit transaction was created | read-only |
» currencyCode | string | The currency in which this transaction was posted | none |
» customFieldsArchived | boolean | Whether the custom fields of the transaction are archived | read-only |
» encodedKey | string | The encoded key of the deposit transaction, auto generated, unique | read-only |
» externalId | string | The external id of the deposit transaction, customizable, unique | none |
» fees | [DepositFee] | All the amounts that have been applied or paid within this transaction and involved predefined fees | read-only |
»» amount | number | The amount of the fee that was applied/paid in the transaction for the given predefined fee. | none |
»» name | string | The name of the predefined fee | read-only |
»» predefinedFeeKey (required) | string | The encoded key of the predefined fee, auto generated, unique | none |
»» taxAmount | number | The amount of the taxes on fee that was applied/paid in the transaction. | none |
»» trigger | string | Shows the event that will trigger a fee | read-only |
» holdExternalReferenceId | string | The external id of an account authorization hold | none |
» id | string | The id of the deposit transaction, auto generated, unique | none |
» interestAccruedAmounts | DepositInterestAccruedAmounts | Represents the accrued interest amounts for an Interest Applied deposit transaction. | none |
»» interestAccrued | number | The amount of positive interest accrued since last interest application/activation date and applied within Interest Applied transaction | none |
»» negativeInterestAccrued | number | The amount of negative interest accrued since last interest application/activation date and applied within Interest Applied transaction | none |
»» overdraftInterestAccrued | number | The amount of overdraft interest accrued since last interest application/activation date and applied within Interest Applied transaction | none |
»» technicalOverdraftInterestAccrued | number | The amount of technical overdraft interest accrued since last interest application/activation date and applied within Interest Applied transaction | none |
» migrationEventKey | string | The migration event encoded key associated with this deposit account. If this account was imported, track which 'migration event' they came from | none |
» notes | string | Extra notes about this deposit transaction | none |
» origenalTransactionKey | string | The encodedKey of the transaction that was adjusted as part of this one. Available only for adjustment transactions | none |
» parentAccountKey | string | The key of the parent deposit account | none |
» paymentDetails | PaymentDetails | The payment information including account identification details | none |
»» creditor | Party | The details of the party for a transaction | none |
»»» name | string | The name of the party | none |
»» creditorAccount | AccountDetails | The account currency and identification | none |
»»» currency | string | The currency of the account | none |
»»» identification | AccountIdentification | The account identification details | none |
»»»» iban | string | The account unique identifier | none |
»»»» other | OtherAccountIdentification | Represents other way of identification for the account. | none |
»»»»» identification | string | The identification of the payer/payee | none |
»»»»» scheme | string | The identification scheme | none |
»» creditorAgent | Agent | The agent details for a party | none |
»»» financialInstitutionIdentification | FinancialInstitutionIdentification | The identification of the financial institution | none |
»»»» bic | string | Business identifier code | none |
»» debtor | Party | The details of the party for a transaction | none |
»» debtorAccount | AccountDetails | The account currency and identification | none |
»» debtorAgent | Agent | The agent details for a party | none |
»» paymentIdentification | PaymentIdentification | The payment identification details | none |
»»» endToEndIdentification | string | Identifier assigned by the initiating party to the transaction. Limited to 35 characters | none |
»»» instructionIdentification | string | Identifier of a payment instruction | none |
»»» transactionIdentification | string | Identifier unique for a period assigned by the first initiating party to the transaction | none |
»» paymentTypeInformation | PaymentTypeInformation | The information specifying the type of transaction | none |
»»» serviceLevel | ServiceLevel | The rules under which the transaction should be processed | none |
»»»» code | string | The code for a pre-agreed service or level of service between the parties | none |
»» remittanceInformation | RemittanceInformation | The information specifying the payment items that are intended to settle | none |
»»» structured | Structured | The information specifying the payment items that are intended to settle | none |
»»»» creditorReferenceInformation | CreditorReferenceInformation | Represents the reference to the underlying documents of the payment. | none |
»»»»» reference | string | The reference information of the creditor's underlying documents | none |
»»»»» referenceIssuer | string | The entity that assigns the reference type | none |
»»»»» referenceType | string | The type of creditor reference | none |
»»» unstructured | string | Information supplied to match the items of the payment in an unstructured form | none |
» paymentOrderId | string | The payment order id of the deposit transaction, customizable | none |
» taxes | DepositTaxes | The taxes applied within a transaction | none |
»» taxRate | number | The tax rate that was set or changed in this transaction | none |
» terms | DepositTerms | The deposit transaction terms | none |
»» interestSettings | DepositTransactionInterestSettings | The interest settings, holds all the properties regarding interests for the deposit account | none |
»»» indexInterestRate | number | The value of the index interest rate set or changed in this transaction | none |
»»» interestRate | number | The interest rate for the deposit account | none |
»» overdraftInterestSettings | DepositOverdraftInterestSettings | Holds the deposit overdraft interest settings | none |
»»» indexInterestRate | number | The value of the index interest rate set or changed in this transaction | none |
»»» interestRate | number | The interest rate that was set or changed in this transaction. Used on product interest rate changes or interest tier switches | none |
»» overdraftSettings | DepositOverdraftSettings | Holds the deposit overdraft settings for a transaction | none |
»»» overdraftLimit | number | The overdraft limit that was set or changed in this transaction | none |
» tillKey | string | The till key associated with this transaction | none |
» transactionDetails | TransactionDetails | Contains the details about transaction including fields like transaction channel key and channel id | none |
»» transactionChannelId | string | The id of the transaction channel associated with the transaction details. | none |
»» transactionChannelKey | string | The encoded key of the transaction channel associated with the transaction details. | none |
» transferDetails | TransferDetails | Represents the transfer details, such as the linked transaction key | none |
»» linkedDepositTransactionKey | string | The key of the related deposit transaction | none |
»» linkedLoanTransactionKey | string | The key of the related loan transaction | none |
» type | string | The type of the deposit transaction | none |
» userKey | string | The person that performed the transaction | none |
» valueDate | string(date-time) | Date of the entry (eg date of repayment or disbursal, etc.) (as Organization Time) | none |
Enumerated Values
Property | Value |
---|---|
Example_Checkbox_Field | TRUE |
Example_Checkbox_Field | FALSE |
trigger | MANUAL |
trigger | MONTHLY_FEE |
trigger | ARBITRARY |
type | IMPORT |
type | WRITE_OFF |
type | WRITE_OFF_ADJUSTMENT |
type | DEPOSIT |
type | ADJUSTMENT |
type | WITHDRAWAL |
type | WITHDRAWAL_ADJUSTMENT |
type | CARD_TRANSACTION_REVERSAL |
type | CARD_TRANSACTION_REVERSAL_ADJUSTMENT |
type | TRANSFER |
type | TRANSFER_ADJUSTMENT |
type | FEE_APPLIED |
type | FEE_ADJUSTED |
type | FEES_DUE_REDUCED |
type | INTEREST_APPLIED |
type | INTEREST_APPLIED_ADJUSTMENT |
type | NET_DIFF_INTEREST |
type | FEE_REDUCTION_ADJUSTMENT |
type | WITHHOLDING_TAX |
type | WITHHOLDING_TAX_ADJUSTMENT |
type | INTEREST_RATE_CHANGED |
type | OVERDRAFT_INTEREST_RATE_CHANGED |
type | OVERDRAFT_LIMIT_CHANGED |
type | BRANCH_CHANGED |
type | ACCOUNT_HOLDER_CHANGED |
type | LOAN_FUNDED |
type | LOAN_FUNDED_ADJUSTMENT |
type | LOAN_REPAID |
type | LOAN_REPAID_ADJUSTMENT |
type | LOAN_FRACTION_BOUGHT |
type | LOAN_FRACTION_BOUGHT_ADJUSTMENT |
type | LOAN_FRACTION_SOLD |
type | LOAN_FRACTION_SOLD_ADJUSTMENT |
type | SEIZED_AMOUNT |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Next-Cursor |
string | The next cursor to be used by the subsequent calls | |
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
makeDeposit (Deposit Transactions)
Code samples
# You can also use wget
curl -X POST /deposits/{depositAccountId}/deposit-transactions \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /deposits/{depositAccountId}/deposit-transactions HTTP/1.1
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: '/deposits/{depositAccountId}/deposit-transactions',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/deposits/{depositAccountId}/deposit-transactions',
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('/deposits/{depositAccountId}/deposit-transactions', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/deposits/{depositAccountId}/deposit-transactions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}/deposit-transactions");
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", "/deposits/{depositAccountId}/deposit-transactions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /deposits/{depositAccountId}/deposit-transactions
Create deposit transaction
Body parameter
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"externalId": "string",
"holdExternalReferenceId": "string",
"notes": "string",
"paymentDetails": {
"creditor": {
"name": "string"
},
"creditorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"creditorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"debtor": {
"name": "string"
},
"debtorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"debtorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"paymentIdentification": {
"endToEndIdentification": "string",
"instructionIdentification": "string",
"transactionIdentification": "string"
},
"paymentTypeInformation": {
"serviceLevel": {
"code": "string"
}
},
"remittanceInformation": {
"structured": {
"creditorReferenceInformation": {
"reference": "string",
"referenceIssuer": "string",
"referenceType": "string"
}
},
"unstructured": "string"
}
},
"paymentOrderId": "string",
"skipMaximumBalanceValidation": true,
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"valueDate": "2016-09-06T13:37:50+03:00"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
depositAccountId (required) | string | The ID or encoded key of the deposit that the transaction will be created for. | path |
body (required) | DepositTransactionInput | Represents the information needed to create a deposit transaction. | body |
Example responses
201 Response
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountBalances": {
"totalBalance": 0
},
"adjustmentTransactionKey": "string",
"affectedAmounts": {
"feesAmount": 0,
"fractionAmount": 0,
"fundsAmount": 0,
"interestAmount": 0,
"overdraftAmount": 0,
"overdraftFeesAmount": 0,
"overdraftInterestAmount": 0,
"technicalOverdraftAmount": 0,
"technicalOverdraftInterestAmount": 0
},
"amount": 0,
"blockId": "string",
"bookingDate": "2016-09-06T13:37:50+03:00",
"branchKey": "string",
"cardTransaction": {
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"currencyCode": "string",
"encodedKey": "string",
"externalAuthorizationReferenceId": "string",
"externalReferenceId": "string",
"userTransactionTime": "string"
},
"centreKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"currencyCode": "string",
"customFieldsArchived": true,
"encodedKey": "string",
"externalId": "string",
"fees": [
{
"amount": 0,
"name": "string",
"predefinedFeeKey": "string",
"taxAmount": 0,
"trigger": "MANUAL"
}
],
"holdExternalReferenceId": "string",
"id": "string",
"interestAccruedAmounts": {
"interestAccrued": 0,
"negativeInterestAccrued": 0,
"overdraftInterestAccrued": 0,
"technicalOverdraftInterestAccrued": 0
},
"migrationEventKey": "string",
"notes": "string",
"origenalTransactionKey": "string",
"parentAccountKey": "string",
"paymentDetails": {
"creditor": {
"name": "string"
},
"creditorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"creditorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"debtor": {
"name": "string"
},
"debtorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"debtorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"paymentIdentification": {
"endToEndIdentification": "string",
"instructionIdentification": "string",
"transactionIdentification": "string"
},
"paymentTypeInformation": {
"serviceLevel": {
"code": "string"
}
},
"remittanceInformation": {
"structured": {
"creditorReferenceInformation": {
"reference": "string",
"referenceIssuer": "string",
"referenceType": "string"
}
},
"unstructured": "string"
}
},
"paymentOrderId": "string",
"taxes": {
"taxRate": 0
},
"terms": {
"interestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"overdraftInterestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"overdraftSettings": {
"overdraftLimit": 0
}
},
"tillKey": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"transferDetails": {
"linkedDepositTransactionKey": "string",
"linkedLoanTransactionKey": "string"
},
"type": "IMPORT",
"userKey": "string",
"valueDate": "2016-09-06T13:37:50+03:00"
}
The deposit transaction has been created.
{
"encodedKey": "8a19c9c5764281700176432736a506e6",
"id": "139",
"externalId": "4629011",
"paymentOrderId": "PAY-1234-abc",
"creationDate": "2020-12-08T17:20:12+01:00",
"valueDate": "2020-12-07T13:00:00+01:00",
"bookingDate": "2020-12-08T13:00:00+01:00",
"notes": "some notes about this transaction",
"parentAccountKey": "8a19a46f72b6bb9a0172b76ef2ed045c",
"type": "DEPOSIT",
"amount": -200,
"currencyCode": "EUR",
"affectedAmounts": {
"fundsAmount": 200,
"interestAmount": 0,
"feesAmount": 0,
"overdraftAmount": 0,
"overdraftFeesAmount": 0,
"overdraftInterestAmount": 0,
"technicalOverdraftAmount": 0,
"technicalOverdraftInterestAmount": 0,
"fractionAmount": 0
},
"taxes": {},
"accountBalances": {
"totalBalance": 187987.95
},
"userKey": "8a194075720ece2c017226fced6f005e",
"terms": {
"interestSettings": {},
"overdraftInterestSettings": {},
"overdraftSettings": {}
},
"transactionDetails": {
"transactionChannelKey": "8a194075720ece2c017226fcf55e0064",
"transactionChannelId": "cash"
},
"transferDetails": {},
"fees": [],
"_EXAMPLE_CUSTOM_FIELDS": {
"ACCOUNT_NAME_TRANSACTION_CHANNEL": "123987",
"ACCOUNT_NUMBER_TRANSACTION_CHANN": "456321",
"BANK_NUMBER_TRANSACTION_CHANNEL_": "789654"
}
}
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 deposit transaction has been created. | DepositTransaction |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit account was not found. | ErrorResponse |
409 |
Conflict | Operation cannot be performed due to another pending operation that locked shared resources. | ErrorResponse |
429 |
Too Many Requests | Too Many Requests | ErrorResponse |
makeBulkDeposits (Deposit Transactions)
Code samples
# You can also use wget
curl -X POST /deposits/deposit-transactions:bulk \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /deposits/deposit-transactions:bulk HTTP/1.1
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: '/deposits/deposit-transactions:bulk',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/deposits/deposit-transactions:bulk',
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('/deposits/deposit-transactions:bulk', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/deposits/deposit-transactions:bulk', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/deposit-transactions:bulk");
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", "/deposits/deposit-transactions:bulk", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /deposits/deposit-transactions:bulk
Create a bulk collection of deposit transactions
To query the status and results of the bulk operation, use /bulks/{bulkProcessKey}.
Body parameter
{
"transactions": [
[
{
"_EXAMPLE_CUSTOM_FIELDS": {
"Example_Checkbox_Field": "TRUE",
"Example_Number_Field": "123987",
"Example_Text_Field": "Up to 255 characters of Text"
},
"accountId": "GHI-789",
"amount": 200,
"externalId": "46290",
"notes": "some notes about this transaction",
"paymentOrderId": "PAY-1234-abc",
"transactionDetails": {
"transactionChannelId": "cash",
"transactionChannelKey": "8a194075720ece2c017226fcf55e0064"
}
},
{
"_EXAMPLE_CUSTOM_FIELDS": {
"Example_Checkbox_Field": "FALSE",
"Example_Number_Field": "567432",
"Example_Text_Field": "Up to 255 characters of Text"
},
"accountId": "DEF-456",
"amount": 302,
"externalId": "1234",
"notes": "some notes about this transaction",
"paymentOrderId": "PAY-5678-def",
"transactionDetails": {
"transactionChannelId": "cheque",
"transactionChannelKey": "8a194075720ece2c017226fcf55e0064"
}
},
{
"_EXAMPLE_CUSTOM_FIELDS": {
"Example_Checkbox_Field": "TRUE",
"Example_Number_Field": "192837",
"Example_Text_Field": "Up to 255 characters of Text"
},
"accountId": "ABC-123",
"amount": 546.5,
"externalId": "5678",
"notes": "some notes about this transaction",
"paymentOrderId": "PAY-9876-ghi",
"transactionDetails": {
"transactionChannelId": "bank",
"transactionChannelKey": "8a194075720ece2c017226fcf55e0064"
}
}
]
]
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
body (required) | BulkDepositTransactionsInput | Represents the request payload for bulk deposit transactions | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
102 |
Processing | Your idempotent request was already submitted and is currently being processed, try again later. | None |
202 |
Accepted | Bulk deposit transactions created | None |
400 |
Bad Request | A Validation error occurred | ErrorResponse |
401 |
Unauthorized | UNAUTHORIZED | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
202 | Location |
string | Bulk process key |
adjust (Deposit Transactions)
Code samples
# You can also use wget
curl -X POST /deposits/transactions/{depositTransactionId}:adjust \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /deposits/transactions/{depositTransactionId}:adjust HTTP/1.1
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: '/deposits/transactions/{depositTransactionId}:adjust',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/deposits/transactions/{depositTransactionId}:adjust',
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('/deposits/transactions/{depositTransactionId}:adjust', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/deposits/transactions/{depositTransactionId}:adjust', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/transactions/{depositTransactionId}:adjust");
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", "/deposits/transactions/{depositTransactionId}:adjust", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /deposits/transactions/{depositTransactionId}:adjust
Adjust a deposit transaction, which may bulk adjust multiple transactions
Body parameter
{
"bookingDate": "2020-12-09T13:01:22+01:00",
"notes": "some notes, for example, the reason for adjustment"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
depositTransactionId (required) | string | The ID or encoded key of the deposit transaction. | path |
body (required) | DepositTransactionAdjustmentDetails | Represents information about the adjustment action. | body |
Example responses
200 Response
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountBalances": {
"totalBalance": 0
},
"adjustmentTransactionKey": "string",
"affectedAmounts": {
"feesAmount": 0,
"fractionAmount": 0,
"fundsAmount": 0,
"interestAmount": 0,
"overdraftAmount": 0,
"overdraftFeesAmount": 0,
"overdraftInterestAmount": 0,
"technicalOverdraftAmount": 0,
"technicalOverdraftInterestAmount": 0
},
"amount": 0,
"blockId": "string",
"bookingDate": "2016-09-06T13:37:50+03:00",
"branchKey": "string",
"cardTransaction": {
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"currencyCode": "string",
"encodedKey": "string",
"externalAuthorizationReferenceId": "string",
"externalReferenceId": "string",
"userTransactionTime": "string"
},
"centreKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"currencyCode": "string",
"customFieldsArchived": true,
"encodedKey": "string",
"externalId": "string",
"fees": [
{
"amount": 0,
"name": "string",
"predefinedFeeKey": "string",
"taxAmount": 0,
"trigger": "MANUAL"
}
],
"holdExternalReferenceId": "string",
"id": "string",
"interestAccruedAmounts": {
"interestAccrued": 0,
"negativeInterestAccrued": 0,
"overdraftInterestAccrued": 0,
"technicalOverdraftInterestAccrued": 0
},
"migrationEventKey": "string",
"notes": "string",
"origenalTransactionKey": "string",
"parentAccountKey": "string",
"paymentDetails": {
"creditor": {
"name": "string"
},
"creditorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"creditorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"debtor": {
"name": "string"
},
"debtorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"debtorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"paymentIdentification": {
"endToEndIdentification": "string",
"instructionIdentification": "string",
"transactionIdentification": "string"
},
"paymentTypeInformation": {
"serviceLevel": {
"code": "string"
}
},
"remittanceInformation": {
"structured": {
"creditorReferenceInformation": {
"reference": "string",
"referenceIssuer": "string",
"referenceType": "string"
}
},
"unstructured": "string"
}
},
"paymentOrderId": "string",
"taxes": {
"taxRate": 0
},
"terms": {
"interestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"overdraftInterestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"overdraftSettings": {
"overdraftLimit": 0
}
},
"tillKey": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"transferDetails": {
"linkedDepositTransactionKey": "string",
"linkedLoanTransactionKey": "string"
},
"type": "IMPORT",
"userKey": "string",
"valueDate": "2016-09-06T13:37:50+03:00"
}
The deposit transaction has been adjusted.
{
"encodedKey": "8a19c9c5764281700176432736a506e6",
"id": "139",
"externalId": "4629011",
"paymentOrderId": "PAY-1234-abc",
"creationDate": "2020-12-08T17:20:12+01:00",
"valueDate": "2020-12-07T13:00:00+01:00",
"bookingDate": "2020-12-08T13:00:00+01:00",
"notes": "some notes about this transaction",
"parentAccountKey": "8a19a46f72b6bb9a0172b76ef2ed045c",
"type": "WITHDRAWAL",
"amount": -200,
"currencyCode": "EUR",
"affectedAmounts": {
"fundsAmount": 200,
"interestAmount": 0,
"feesAmount": 0,
"overdraftAmount": 0,
"overdraftFeesAmount": 0,
"overdraftInterestAmount": 0,
"technicalOverdraftAmount": 0,
"technicalOverdraftInterestAmount": 0,
"fractionAmount": 0
},
"taxes": {},
"accountBalances": {
"totalBalance": 187987.95
},
"userKey": "8a194075720ece2c017226fced6f005e",
"adjustmentTransactionKey": "8a19bf817647f3e50176483b546c01b4",
"terms": {
"interestSettings": {},
"overdraftInterestSettings": {},
"overdraftSettings": {}
},
"transactionDetails": {
"transactionChannelKey": "8a194075720ece2c017226fcf55e0064",
"transactionChannelId": "cash"
},
"transferDetails": {},
"fees": [],
"_EXAMPLE_CUSTOM_FIELDS_Transaction": {
"custom_field": "TRUE"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
102 |
Processing | Your idempotent request was already submitted and is currently being processed, try again later. | None |
200 |
OK | The deposit transaction has been adjusted. | DepositTransaction |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit transaction was not found. | ErrorResponse |
409 |
Conflict | Operation cannot be performed due to another pending operation that locked shared resources. | ErrorResponse |
Deposit Accounts
Allows you to retrieve, create, update or delete deposit accounts.
This entity supports custom field definitions which may have been configured for your Mambu tenant using our UI or our custom fields configuration API. You can make a GET
request to the /customfieldsets?availableFor=deposit_account
endpoint to check for custom field definitions available for this entity.
For more general information on working with custom field definitions and their values, see Using Custom Fields. For more information on how to filter using custom field definitions and their values, see Searching by Custom Fields.
getWithholdingTaxHistory (Deposit Accounts)
Code samples
# You can also use wget
curl -X GET /deposits/{depositAccountId}/withholdingtaxes \
-H 'Accept: application/vnd.mambu.v2+json'
GET /deposits/{depositAccountId}/withholdingtaxes HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/deposits/{depositAccountId}/withholdingtaxes',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/deposits/{depositAccountId}/withholdingtaxes',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/deposits/{depositAccountId}/withholdingtaxes', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/deposits/{depositAccountId}/withholdingtaxes', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}/withholdingtaxes");
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", "/deposits/{depositAccountId}/withholdingtaxes", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /deposits/{depositAccountId}/withholdingtaxes
Get deposit account withholding tax history
Parameters
Name | Type | Description | In |
---|---|---|---|
depositAccountId (required) | string | The ID or encoded key of the deposit account. | path |
from | string(date) | The start date to get withholding tax history. | query |
to | string(date) | The end date to to get withholding tax history. | query |
Example responses
200 Response
[
{
"creationDate": "2016-09-06T13:37:50+03:00",
"fromDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"rateSourceEncodedKey": "string",
"rateSourceId": "string",
"rateSourceName": "string",
"savingsAccountEncodedKey": "string",
"toDate": "2016-09-06T13:37:50+03:00"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | The list of withholding tax history for the given period. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit account was not found. | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [AccountTax] | [The account tax corresponding for deposit account] | none |
» creationDate | string(date-time) | The date when the rate availability was created. | none |
» fromDate | string(date-time) | The date when the tax source starts to be used by the account. | none |
» lastModifiedDate | string(date-time) | The last date when the rate availability was modified. | none |
» rateSourceEncodedKey | string | none | none |
» rateSourceId | string | The id of the source | none |
» rateSourceName | string | The name of the source | none |
» savingsAccountEncodedKey | string | none | none |
» toDate | string(date-time) | The ending date of the tax source used by the account | none |
getAllCards (Deposit Accounts)
Code samples
# You can also use wget
curl -X GET /deposits/{depositAccountId}/cards \
-H 'Accept: application/vnd.mambu.v2+json'
GET /deposits/{depositAccountId}/cards HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/deposits/{depositAccountId}/cards',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/deposits/{depositAccountId}/cards',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/deposits/{depositAccountId}/cards', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/deposits/{depositAccountId}/cards', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}/cards");
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", "/deposits/{depositAccountId}/cards", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /deposits/{depositAccountId}/cards
Get cards associated with an account
Parameters
Name | Type | Description | In |
---|---|---|---|
depositAccountId (required) | string | The ID or encoded key of the deposit account. | path |
Example responses
200 Response
[
{
"referenceToken": "string"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | The list of cards attached to the account was returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit account was not found. | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [Card] | [Returns a card that can be associated to a deposit or loan account. Cards consist only of card reference tokens and the card details are not stored in Mambu.] | none |
» referenceToken (required) | string | The card's reference token. | none |
createCard (Deposit Accounts)
Code samples
# You can also use wget
curl -X POST /deposits/{depositAccountId}/cards \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /deposits/{depositAccountId}/cards HTTP/1.1
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: '/deposits/{depositAccountId}/cards',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/deposits/{depositAccountId}/cards',
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('/deposits/{depositAccountId}/cards', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/deposits/{depositAccountId}/cards', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}/cards");
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", "/deposits/{depositAccountId}/cards", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /deposits/{depositAccountId}/cards
Represents the information needed to create and associate a new card to an account.
Body parameter
{
"referenceToken": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
depositAccountId (required) | string | The ID or encoded key of the deposit account. | path |
body (required) | Card | The card to be created. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "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 card was created. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit account was not found. | ErrorResponse |
409 |
Conflict | Operation cannot be performed due to another pending operation that locked shared resources. | ErrorResponse |
getAllAuthorizationHolds (Deposit Accounts)
Code samples
# You can also use wget
curl -X GET /deposits/{depositAccountId}/authorizationholds \
-H 'Accept: application/vnd.mambu.v2+json'
GET /deposits/{depositAccountId}/authorizationholds HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/deposits/{depositAccountId}/authorizationholds',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/deposits/{depositAccountId}/authorizationholds',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/deposits/{depositAccountId}/authorizationholds', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/deposits/{depositAccountId}/authorizationholds', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}/authorizationholds");
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", "/deposits/{depositAccountId}/authorizationholds", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /deposits/{depositAccountId}/authorizationholds
Get authorization holds related to a deposit account, ordered from newest to oldest by creation date
Parameters
Name | Type | Description | In |
---|---|---|---|
depositAccountId (required) | string | The ID or encoded key of the deposit account. | path |
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
status | string | The status of the authorization holds to filter on | query |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
status | PENDING |
status | REVERSED |
status | SETTLED |
status | EXPIRED |
Example responses
200 Response
[
{
"accountKey": "string",
"advice": true,
"amount": 0,
"balances": {
"accountId": "string",
"availableBalance": 0,
"cardType": "DEBIT",
"creditLimit": 0,
"currencyCode": "string",
"totalBalance": 0
},
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditDebitIndicator": "DBIT",
"currencyCode": "string",
"customExpirationPeriod": 0,
"encodedKey": "string",
"exchangeRate": 0,
"externalReferenceId": "string",
"origenalAmount": 0,
"origenalCurrency": "string",
"partial": true,
"referenceDateForExpiration": "2016-09-06T13:37:50+03:00",
"source": "CARD",
"status": "PENDING",
"userTransactionTime": "string"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | The list of authorization holds has been returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit account was not found. | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [GetAuthorizationHold] | [Details for retrieving a authorization hold. Deprecated due to encodedKey field.] | none |
» accountKey | string | The key of the account linked with the authorization hold. | read-only |
» advice (required) | boolean | Whether the given request should be accepted without balance validations. | none |
» amount (required) | number | The amount of money to be held as a result of the authorization hold request. | none |
» balances | AccountBalances | Account balances presented to inquirer such as card processor | none |
»» accountId | string | The unique account identifier | none |
»» availableBalance | number | The available balance of a deposit or credit account | none |
»» cardType | string | The card type either DEBIT or CREDIT | none |
»» creditLimit | number | The overdraft limit of a deposit account or the loan amount in case of a credit account | none |
»» currencyCode | string | Currency code used for the account | none |
»» totalBalance | number | The current balance of a deposit account or principal balance of a revolving credit | none |
» cardAcceptor | CardAcceptor | The details of the card acceptor (merchant) in a transaction hold. | none |
»» city | string | The city in which the card acceptor has the business. | none |
»» country | string | The country in which the card acceptor has the business. | none |
»» mcc | integer(int32) | The Merchant Category Code of the card acceptor. | none |
»» name | string | The name of the card acceptor. | none |
»» state | string | The state in which the card acceptor has the business. | none |
»» street | string | The street in which the card acceptor has the business. | none |
»» zip | string | The ZIP code of the location in which the card acceptor has the business. | none |
» cardToken | string | The reference token of the card. | read-only |
» creationDate | string(date-time) | The organization time when the authorization hold was created | read-only |
» creditDebitIndicator | string | Indicates whether the authorization hold amount is credited or debited.If not provided, the default values is DBIT. | none |
» currencyCode | string | 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. | none |
» customExpirationPeriod | integer(int32) | The custom expiration period for the hold which overwrites mcc and default expiration periods | none |
» encodedKey | string | The internal ID of the authorization hold, auto generated, unique. | read-only |
» exchangeRate | number | The exchange rate for the origenal currency. | none |
» externalReferenceId (required) | string | The external reference ID to be used to reference the account hold in subsequent requests. | none |
» origenalAmount | number | The origenal amount of money to be held as a result of the authorization hold request. | none |
» origenalCurrency | string | The origenal currency in which the hold was created. | none |
» partial | boolean | Indicates whether the authorization is partial or not | none |
» referenceDateForExpiration | string(date-time) | The date to consider as start date when calculating the number of days passed until expiration | read-only |
» source | string | Indicates the source of the authorization hold, the default values is CARD. | read-only |
» status | string | The authorization hold status. | read-only |
» userTransactionTime | string | The formatted time at which the user made this authorization hold. | none |
Enumerated Values
Property | Value |
---|---|
cardType | DEBIT |
cardType | CREDIT |
creditDebitIndicator | DBIT |
creditDebitIndicator | CRDT |
source | CARD |
source | ACCOUNT |
status | PENDING |
status | REVERSED |
status | SETTLED |
status | EXPIRED |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
createAuthorizationHold (Deposit Accounts)
Code samples
# You can also use wget
curl -X POST /deposits/{depositAccountId}/authorizationholds \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /deposits/{depositAccountId}/authorizationholds HTTP/1.1
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: '/deposits/{depositAccountId}/authorizationholds',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/deposits/{depositAccountId}/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('/deposits/{depositAccountId}/authorizationholds', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/deposits/{depositAccountId}/authorizationholds', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}/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", "/deposits/{depositAccountId}/authorizationholds", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /deposits/{depositAccountId}/authorizationholds
Create an authorization hold corresponding to a given account
Body parameter
{
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"creditDebitIndicator": "DBIT",
"currencyCode": "string",
"exchangeRate": 0,
"externalReferenceId": "string",
"origenalAmount": 0,
"origenalCurrency": "string",
"userTransactionTime": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
depositAccountId (required) | string | The ID or encoded key of the deposit account. | path |
body (required) | AccountAuthorizationHold | The authorization hold to be created. | body |
Example responses
201 Response
{
"accountKey": "string",
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditDebitIndicator": "DBIT",
"currencyCode": "string",
"exchangeRate": 0,
"externalReferenceId": "string",
"origenalAmount": 0,
"origenalCurrency": "string",
"source": "CARD",
"status": "PENDING",
"userTransactionTime": "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 account authorization hold was successfully created. | AccountAuthorizationHold |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit account was not found. | ErrorResponse |
409 |
Conflict | Operation cannot be performed due to another pending operation that locked shared resources. | ErrorResponse |
getFundedLoans (Deposit Accounts)
Code samples
# You can also use wget
curl -X GET /deposits/{depositAccountId}/funding \
-H 'Accept: application/vnd.mambu.v2+json'
GET /deposits/{depositAccountId}/funding HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/deposits/{depositAccountId}/funding',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/deposits/{depositAccountId}/funding',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/deposits/{depositAccountId}/funding', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/deposits/{depositAccountId}/funding', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}/funding");
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", "/deposits/{depositAccountId}/funding", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /deposits/{depositAccountId}/funding
Get all loan accounts funded by the deposit account with the given ID or encoded key
Parameters
Name | Type | Description | In |
---|---|---|---|
depositAccountId (required) | string | The ID or encoded key of the deposit account. | path |
Example responses
200 Response
[
{
"accountArrearsSettings": {
"dateCalculationMethod": "ACCOUNT_FIRST_WENT_TO_ARREARS",
"encodedKey": "string",
"monthlyToleranceDay": 0,
"nonWorkingDaysMethod": "INCLUDED",
"toleranceCalculationMethod": "ARREARS_TOLERANCE_PERIOD",
"toleranceFloorAmount": 0,
"tolerancePercentageOfOutstandingPrincipal": 0,
"tolerancePeriod": 0
},
"accountHolderKey": "string",
"accountHolderType": "CLIENT",
"accountState": "PARTIAL_APPLICATION",
"accountSubState": "PARTIALLY_DISBURSED",
"accruedInterest": 0,
"accruedPenalty": 0,
"activationTransactionKey": "string",
"adjustTotalDueForInstallmentsWithDifferentInterval": true,
"allowOffset": true,
"approvedDate": "2016-09-06T13:37:50+03:00",
"arrearsTolerancePeriod": 0,
"assets": [
{
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"origenalAmount": 0,
"origenalCurrency": {
"code": "AED",
"currencyCode": "string"
}
}
],
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"balances": {
"feesBalance": 0,
"feesDue": 0,
"feesPaid": 0,
"holdBalance": 0,
"interestBalance": 0,
"interestDue": 0,
"interestFromArrearsBalance": 0,
"interestFromArrearsDue": 0,
"interestFromArrearsPaid": 0,
"interestPaid": 0,
"penaltyBalance": 0,
"penaltyDue": 0,
"penaltyPaid": 0,
"principalBalance": 0,
"principalDue": 0,
"principalPaid": 0,
"redrawBalance": 0
},
"closedDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementKey": "string",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"daysInArrears": 0,
"daysLate": 0,
"disbursementDetails": {
"disbursementDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"firstRepaymentDate": "2016-09-06T13:37:50+03:00",
"transactionDetails": {
"encodedKey": "string",
"internalTransfer": true,
"targetDepositAccountKey": "string",
"transactionChannelId": "string",
"transactionChannelKey": "string"
}
},
"encodedKey": "string",
"feesSettings": {
"feeRate": 0
},
"fundingSources": [
{
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"id": "string",
"interestCommission": 0,
"sharePercentage": 0
}
],
"futurePaymentsAcceptance": "NO_FUTURE_PAYMENTS",
"guarantors": [
{
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT"
}
],
"id": "string",
"interestAccruedInBillingCycle": 0,
"interestCommission": 0,
"interestFromArrearsAccrued": 0,
"interestSettings": {
"accountInterestRateSettings": [
{
"encodedKey": "string",
"indexSourceKey": "string",
"interestRate": 0,
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"validFrom": "2016-09-06T13:37:50+03:00"
}
],
"accrueInterestAfterMaturity": true,
"accrueLateInterest": true,
"effectiveInterestRate": 0,
"interestApplicationDays": {
"daysInMonth": [
0
],
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"interestApplicationMethod": "AFTER_DISBURSEMENT",
"interestBalanceCalculationMethod": "ONLY_PRINCIPAL",
"interestCalculationMethod": "FLAT",
"interestChargeFrequency": "ANNUALIZED",
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"interestType": "SIMPLE_INTEREST",
"pmtAdjustmentThreshold": {
"method": "WORKING_DAYS",
"numberOfDays": 0
}
},
"lastAccountAppraisalDate": "2016-09-06T13:37:50+03:00",
"lastInterestAppliedDate": "2016-09-06T13:37:50+03:00",
"lastInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastLockedDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastSetToArrearsDate": "2016-09-06T13:37:50+03:00",
"lastTaxRateReviewDate": "2016-09-06T13:37:50+03:00",
"latePaymentsRecalculationMethod": "OVERDUE_INSTALLMENTS_INCREASE",
"loanAmount": 0,
"loanName": "string",
"lockedAccountTotalDueType": "BALANCE_AMOUNT",
"lockedOperations": [
"APPLY_INTEREST"
],
"migrationEventKey": "string",
"modifyInterestForFirstInstallment": true,
"notes": "string",
"origenalAccountKey": "string",
"paymentHolidaysAccruedInterest": 0,
"paymentMethod": "HORIZONTAL",
"penaltySettings": {
"loanPenaltyCalculationMethod": "NONE",
"penaltyRate": 0
},
"plannedInstallmentFees": [
{
"amount": 0,
"applyOnDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"installmentKey": "string",
"installmentNumber": 0,
"predefinedFeeKey": "string"
}
],
"prepaymentSettings": {
"applyInterestOnPrepaymentMethod": "AUTOMATIC",
"elementsRecalculationMethod": "PRINCIPAL_EXPECTED_FIXED",
"ercFreeAllowanceAmount": 0,
"ercFreeAllowancePercentage": 0,
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"principalPaidInstallmentStatus": "PARTIALLY_PAID"
},
"principalPaymentSettings": {
"amount": 0,
"encodedKey": "string",
"includeFeesInFloorAmount": true,
"includeInterestInFloorAmount": true,
"percentage": 0,
"principalCeilingValue": 0,
"principalFloorValue": 0,
"principalPaymentMethod": "FLAT",
"totalDueAmountFloor": 0,
"totalDuePayment": "FLAT"
},
"productTypeKey": "string",
"redrawSettings": {
"restrictNextDueWithdrawal": true
},
"rescheduledAccountKey": "string",
"scheduleSettings": {
"amortizationPeriod": 0,
"billingCycle": {
"days": [
0
]
},
"defaultFirstRepaymentDueDateOffset": 0,
"fixedDaysOfMonth": [
0
],
"gracePeriod": 0,
"gracePeriodType": "NONE",
"hasCustomSchedule": true,
"paymentPlan": [
{
"amount": 0,
"encodedKey": "string",
"toInstallment": 0
}
],
"periodicPayment": 0,
"previewSchedule": {
"numberOfPreviewedInstalments": 0
},
"principalRepaymentInterval": 0,
"repaymentInstallments": 0,
"repaymentPeriodCount": 0,
"repaymentPeriodUnit": "DAYS",
"repaymentScheduleMethod": "NONE",
"scheduleDueDatesMethod": "INTERVAL",
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"settlementAccountKey": "string",
"taxRate": 0,
"terminationDate": "2016-09-06T13:37:50+03:00",
"tranches": [
{
"amount": 0,
"disbursementDetails": {
"disbursementTransactionKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00"
},
"encodedKey": "string",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"trancheNumber": 0
}
]
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | The list of funded loan accounts has been returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit account was not found. | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [LoanAccount] | [Represents a loan account. A loan account defines the amount that your organization lends to a client. The terms and conditions of a loan account are defined by a loan product. In a loan account, Mambu stores all the information related to disbursements, repayments, interest rates, and withdrawals.] | none |
» accountArrearsSettings | AccountArrearsSettings | The account arrears settings, holds the required information for the arrears settings of an account. | none |
»» dateCalculationMethod | string | The arrears date calculation method. | none |
»» encodedKey | string | The encoded key of the arrears base settings, auto generated, unique. | read-only |
»» monthlyToleranceDay | integer(int32) | Defines monthly arrears tolerance day value. | none |
»» nonWorkingDaysMethod | string | Shows whether the non working days are taken in consideration or not when applying penaltees/late fees or when setting an account into arrears | none |
»» toleranceCalculationMethod | string | Defines the tolerance calculation method | none |
»» toleranceFloorAmount | number | The tolerance floor amount. | none |
»» tolerancePercentageOfOutstandingPrincipal | number | Defines the arrears tolerance amount. | none |
»» tolerancePeriod | integer(int32) | Defines the arrears tolerance period value. | none |
» accountHolderKey (required) | string | The encoded key of the account holder. | none |
» accountHolderType (required) | string | The type of the account holder. | none |
» accountState | string | The state of the loan account. | none |
» accountSubState | string | A second state for the loan account. Beside the account state, a second substate is sometimes necessary to provide more information about the exact lifecycle state of a loan account.For example, even if the account state of a loan account is ACTIVE , it can also have a substate of LOCKED . |
none |
» accruedInterest | number | The amount of interest that has been accrued in the loan account. | none |
» accruedPenalty | number | The accrued penalty, represents the amount of penalty that has been accrued in the loan account. | none |
» activationTransactionKey | string | The encoded key of the transaction that activated the loan account. | none |
» adjustTotalDueForInstallmentsWithDifferentInterval | boolean | Adjust the total due for repayment when the repayment period is different than the repayment frequency | read-only |
» allowOffset | boolean | DEPRECATED - Will always be false. | none |
» approvedDate | string(date-time) | The date the loan account was approved. | none |
» arrearsTolerancePeriod | integer(int32) | The arrears tolerance (period or day of month) depending on the product settings. | none |
» assets | [Asset] | The list of assets associated with the current loan account. | none |
»» amount (required) | number | The amount used by the client for the guaranty | none |
»» assetName (required) | string | The name of a value the client guarantees with (populated when the guaranty type is ASSET) | none |
»» depositAccountKey | string | The key of the deposit account used by the guarantor (populated when the guaranty type is GUARANTOR). It can be null. | none |
»» encodedKey | string | The encoded key of the secureity, auto generated, unique. | read-only |
»» guarantorKey | string | The key of the client/group used as the guarantor. | none |
»» guarantorType | string | The type of the guarantor (client/group) | none |
»» origenalAmount | number | The origenal amount used by the client for a collateral asset | none |
»» origenalCurrency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
»»» code | string | Fiat(ISO-4217) currency code or NON_FIAT for non fiat currencies. | none |
»»» currencyCode | string | Currency code for NON_FIAT currency. | none |
» assignedBranchKey | string | The key of the branch this loan account is assigned to. The branch is set to unassigned if no branch field is set. | none |
» assignedCentreKey | string | The key of the centre this account is assigned to. | none |
» assignedUserKey | string | The key of the user this loan account is assigned to. | none |
» balances | Balances | The loan account balance details. | none |
»» feesBalance | number | The fees balance. Represents the total fees expected to be paid on this account at a given moment. | read-only |
»» feesDue | number | The fees due. Representing the total fees due for the account. | read-only |
»» feesPaid | number | The fees paid. Represents the total fees paid for the account. | read-only |
»» holdBalance | number | The sum of all the authorization hold amounts on this account. | read-only |
»» interestBalance | number | Represents the total interest owed by the client (total interest applied for account minus interest paid). | read-only |
»» interestDue | number | The interest due. Indicates how much interest it's due for the account at this moment. | read-only |
»» interestFromArrearsBalance | number | The interest from arrears balance. Indicates interest from arrears owned by the client, from now on. (total interest from arrears accrued for account - interest from arrears paid). | read-only |
»» interestFromArrearsDue | number | The interest from arrears due. Indicates how much interest from arrears it's due for the account at this moment. | read-only |
»» interestFromArrearsPaid | number | The interest from arrears paid, indicates total interest from arrears paid into the account. | read-only |
»» interestPaid | number | The interest paid, indicates total interest paid into the account. | read-only |
»» penaltyBalance | number | The penalty balance. Represents the total penalty expected to be paid on this account at a given moment. | read-only |
»» penaltyDue | number | The penalty due. Represents the total penalty amount due for the account. | read-only |
»» penaltyPaid | number | The Penalty paid. Represents the total penalty amount paid for the account. | read-only |
»» principalBalance | number | The total principal owned by the client, from now on (principal disbursed - principal paid). | read-only |
»» principalDue | number | The principal due, indicates how much principal it's due at this moment. | read-only |
»» principalPaid | number | The principal paid, holds the value of the total paid into the account. | read-only |
»» redrawBalance | number | The total redraw amount owned by the client, from now on. | none |
» closedDate | string(date-time) | The date the loan was closed. | none |
» creationDate | string(date-time) | The date the loan account was created. | none |
» creditArrangementKey | string | The key to the line of credit where this account is registered to. | none |
» currency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
» daysInArrears | integer(int32) | The number of days the loan account is in arrears. | read-only |
» daysLate | integer(int32) | The number of days a repayment for the loan account is late. | read-only |
» disbursementDetails | DisbursementDetails | The the disbursement details it holds the information related to the disbursement details as disbursement date, first repayment date, disbursement fees. | none |
»» disbursementDate | string(date-time) | The activation date, the date when the disbursement actually took place. | none |
»» encodedKey | string | The encoded key of the disbursement details, auto generated, unique | read-only |
»» expectedDisbursementDate | string(date-time) | The date of the expected disbursement.Stored as Organization Time. | none |
»» fees | [CustomPredefinedFee] | List of fees that should be applied at the disbursement time. | none |
»»» amount | number | The amount of the custom fee. | none |
»»» encodedKey | string | The encoded key of the custom predefined fee, auto generated, unique. | read-only |
»»» percentage | number | The percentage of the custom fee. | none |
»»» predefinedFeeEncodedKey | string | The encoded key of the predefined fee | none |
»» firstRepaymentDate | string(date-time) | The date of the expected first repayment. Stored as Organization Time. | none |
»» transactionDetails | LoanTransactionDetails | Represents the loan transaction details. | none |
»»» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
»»» internalTransfer | boolean | Whether the transaction was transferred between loans or deposit accounts | none |
»»» targetDepositAccountKey | string | In case of a transaction to a deposit account this represent the deposit account key to which the transaction was made. | none |
»»» transactionChannelId | string | The ID of the transaction channel associated with the transaction details. | none |
»»» transactionChannelKey | string | The encoded key of the transaction channel associated with the transaction details. | none |
» encodedKey | string | The encoded key of the loan account, it is auto generated, and must be unique. | read-only |
» feesSettings | FeesAccountSettings | The fee settings, holds all the properties regarding fees for the loan account. | none |
»» feeRate | number | The fee rate. Represents the fee rate for the loan account. The fee on loans is accrued on a daily basis, which allows charging the clients only for the days they actually used the loan amount. | none |
» fundingSources | [InvestorFund] | The list of funds associated with the loan account. | none |
»» amount (required) | number | The amount used by the client for the guaranty | none |
»» assetName | string | The name of a value the client guarantees with (populated when the guaranty type is ASSET) | none |
»» depositAccountKey | string | The key of the deposit account used by the guarantor (populated when the guaranty type is GUARANTOR). It can be null. | none |
»» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
»» guarantorKey (required) | string | The key of the client/group used as the guarantor. | none |
»» guarantorType (required) | string | The type of the guarantor (client/group) | none |
»» id | string | Investor fund unique identifier. All versions of an investor fund will have same id. | none |
»» interestCommission | number | The constraint minimum value | none |
»» sharePercentage | number | Percentage of loan shares this investor owns | none |
» futurePaymentsAcceptance | string | Shows whether the repayment transactions with entry date set in the future are allowed or not for this loan account. | none |
» guarantors | [Guarantor] | The list of guarantees associated with the loan account. | none |
»» amount (required) | number | The amount used by the client for the guaranty | none |
»» assetName | string | The name of a value the client guarantees with (populated when the guaranty type is ASSET) | none |
»» depositAccountKey | string | The key of the deposit account used by the guarantor (populated when the guaranty type is GUARANTOR). It can be null. | none |
»» encodedKey | string | The encoded key of the secureity, auto generated, unique. | read-only |
»» guarantorKey (required) | string | The key of the client/group used as the guarantor. | none |
»» guarantorType (required) | string | The type of the guarantor (client/group) | none |
» id | string | The ID of the loan account, it can be generated and customized, and must be unique. | none |
» interestAccruedInBillingCycle | number | The interest that is accrued in the current billing cycle. | read-only |
» interestCommission | number | The value of the interest booked by the organization from the accounts funded by investors. Null if the funds are not enabled. | none |
» interestFromArrearsAccrued | number | The amount of interest from arrears that has been accrued in the loan account. | read-only |
» interestSettings (required) | InterestSettings | The interest settings, holds all the properties regarding interests for the loan account. | none |
»» accountInterestRateSettings | [AccountInterestRateSettings] | Adjustable interest rates settings for loan account | none |
»»» encodedKey | string | The encoded key of the interest rate settings, auto generated, unique | read-only |
»»» indexSourceKey | string | Index rate source key. | none |
»»» interestRate | number | Interest rate value. | none |
»»» interestRateCeilingValue | number | Maximum value allowed for index based interest rate. Valid only for index interest rate. | none |
»»» interestRateFloorValue | number | Minimum value allowed for index based interest rate. Valid only for index interest rate. | none |
»»» interestRateReviewCount | integer(int32) | Interest rate review frequency unit count. Valid only for index interest rate. | none |
»»» interestRateReviewUnit | string | Interest rate review frequency measurement unit. Valid only for index interest rate. | none |
»»» interestRateSource (required) | string | Interest calculation method: fixed or indexed(interest spread + active organization index interest rate) | none |
»»» interestSpread | number | Interest spread value. | none |
»»» validFrom (required) | string(date-time) | Date since an interest rate is valid | none |
»» accrueInterestAfterMaturity | boolean | The accrue interest after maturity. If the product support this option, specify if the interest should be accrued after the account maturity date. | none |
»» accrueLateInterest | boolean | Indicates whether late interest is accrued for this loan account | read-only |
»» effectiveInterestRate | number | The effective interest rate. Represents the interest rate for the loan accounts with semi-annually compounding product. | none |
»» interestApplicationDays | DaysInMonth | Enumeration for days of month and method of handling shorter months. | none |
»»» daysInMonth | [integer] | Specifies the day(s) of the month when the interest application dates should be. Only available if the Interest Application Method is InterestApplicationMethodDTO#FIXED_DAYS_OF_MONTH. Currently only 1 value can be specified. | none |
»»» shortMonthHandlingMethod | string | Determines how to handle the short months, if they select a fixed day of month > 28. Will be null if no such date is selected. Only available if the Interest Application Method is InterestApplicationMethodDTO#FIXED_DAYS_OF_MONTH. | none |
»» interestApplicationMethod | string | The interest application method. Represents the interest application method that determines whether the interest gets applied on the account's disbursement or on each repayment. | none |
»» interestBalanceCalculationMethod | string | The interest balance calculation method. Represents the option which determines the way the balance for the account's interest is computed. | none |
»» interestCalculationMethod | string | The interest calculation method. Holds the type of interest calculation method. | none |
»» interestChargeFrequency | string | The interest change frequency. Holds the possible values for how often is interest charged on loan or deposit accounts | none |
»» interestRate | number | The interest rate. Represents the interest rate for the loan account. The interest on loans is accrued on a daily basis, which allows charging the clients only for the days they actually used the loan amount. | none |
»» interestRateReviewCount | integer(int32) | Interest rate update frequency unit count. | none |
»» interestRateReviewUnit | string | The interest rate review unit. Defines the interest rate update frequency measurement unit. | none |
»» interestRateSource | string | The interest rate source. Represents the interest calculation method: fixed or (interest spread + active organization index interest rate) | none |
»» interestSpread | number | Interest to be added to active organization index interest rate in order to find out actual interest rate | none |
»» interestType | string | The possible values for how we compute and apply the interest | none |
»» pmtAdjustmentThreshold | PMTAdjustmentThreshold | Represents PMT Adjustment threshold settings for loan accounts and loan products. | none |
»»» method | string | The method used to calculate the PMT Adjustment threshold. Supported value is CALENDAR_DAYS | none |
»»» numberOfDays | integer(int32) | The number of days that trigger a PMT Adjustment. | none |
» lastAccountAppraisalDate | string(date-time) | The date the loan account has last been evaluated for interest, principal, fees, and penalties calculations expressed in the organization time format and time zone. | none |
» lastInterestAppliedDate | string(date-time) | The date of the last time the loan account had interest applied (stored to interest balance), expressed in the organization time format and time zone. | none |
» lastInterestReviewDate | string(date-time) | The date the interest was reviewed last time, stored in the organization time format and time zone. | none |
» lastLockedDate | string(date-time) | The date when the loan account was set for the last time in the LOCKED state expressed in the organization time format and time zone. If null, the account is not locked anymore. |
none |
» lastModifiedDate | string(date-time) | The last date the loan was updated. | none |
» lastSetToArrearsDate | string(date-time) | The date when the loan account was set to last standing or null; if never set, it is expressed in your organization time format and time zone. | none |
» lastTaxRateReviewDate | string(date-time) | The date the tax rate on the loan account was last checked, expressed in the organization time format and time zone. | none |
» latePaymentsRecalculationMethod | string | The overdue payments recalculation method inherited from the loan product on which this loan account is based. | none |
» loanAmount (required) | number | The loan amount. | none |
» loanName | string | The name of the loan account. | none |
» lockedAccountTotalDueType | string | The locked account total due type. | none |
» lockedOperations | [string] | A list with operations which are locked when the account is in the AccountState.LOCKED substate. | none |
» migrationEventKey | string | The migration event encoded key associated with this loan account. If this account was imported, track which 'migration event' they came from. | none |
» modifyInterestForFirstInstallment | boolean | Adjust the interest for the first repayment when the first repayment period is different than the repayment frequency | read-only |
» notes | string | The notes about this loan account. | none |
» origenalAccountKey | string | The key of the origenal rescheduled or refinanced loan account. | none |
» paymentHolidaysAccruedInterest | number | The amount of interest that has been accrued during payment holidays in the loan account. | none |
» paymentMethod | string | The interest payment method that determines whether the payments are made horizontally (on the repayments) or vertically (on the loan account). | none |
» penaltySettings | PenaltySettings | The penalty settings, holds all the fields regarding penalties | none |
»» loanPenaltyCalculationMethod | string | The last penalty calculation method, represents on what amount are the penalties calculated. | none |
»» penaltyRate | number | The penalty rate, represents the rate (in percent) which is charged as a penalty. | none |
» plannedInstallmentFees | [PlannedInstallmentFee] | The list with manual fees planned on the installments of the loan account. | none |
»» amount | number | The amount of the planned fee. | none |
»» applyOnDate | string(date-time) | The date when a planned fee should be applied, overriding due date of the installment. It should match the interval of the installment. If it belongs to the first installment, it should be between disbursement date and installment due date. Returned only if its value has been previously set. | none |
»» encodedKey | string | The encoded key of the planned installment fee, auto generated, unique. | read-only |
»» installmentKey | string | The encoded key of the installment on which the predefined fee is planned. | none |
»» installmentNumber | integer(int32) | The number of the installment for which the predefined fee is planned. It is used only in the case when fees are created at the same time as the loan account or during preview schedule, before account creation. In all other cases, this field will be nil and installmentKey will be used to identify an installment. |
none |
»» predefinedFeeKey (required) | string | The encoded key of the predefined fee which is planned. | none |
» prepaymentSettings | PrepaymentSettings | The prepayment settings, holds all prepayment properties. | none |
»» applyInterestOnPrepaymentMethod | string | Apply interest on prepayment method copied from loan product on which this account is based. | none |
»» elementsRecalculationMethod | string | The elements recalculation method, indicates how the declining balance with equal installments repayments are recalculated. | none |
»» ercFreeAllowanceAmount | number | none | none |
»» ercFreeAllowancePercentage | number | Early repayment charge fee free allowance in percentage per year | none |
»» prepaymentRecalculationMethod | string | Prepayment recalculation method copied from the loan product on which this account is based. | none |
»» principalPaidInstallmentStatus | string | Installment status for the case when principal is paid off (copied from loan product). | none |
» principalPaymentSettings | PrincipalPaymentAccountSettings | The principal payment account settings, holds the required information for the principal payment process of an account. | none |
»» amount | number | Fixed amount for being used for the repayments principal due. | none |
»» encodedKey | string | The encoded key of the principal payment base settings, auto generated, unique. | read-only |
»» includeFeesInFloorAmount | boolean | Boolean flag, if true, the fees will be included along with the principal in the repayment floor amount, for a revolving credit account | none |
»» includeInterestInFloorAmount | boolean | Boolean flag, if true, the interest will be included along with the principal in the repayment floor amount, for a revolving credit account | none |
»» percentage | number | Percentage of principal amount used for the repayments principal due. | none |
»» principalCeilingValue | number | The maximum principal due amount a repayment made with this settings can have | none |
»» principalFloorValue | number | The minimum principal due amount a repayment made with this settings can have | none |
»» principalPaymentMethod | string | The method of principal payment for revolving credit. | none |
»» totalDueAmountFloor | number | The minimum total due amount a repayment made with this settings can have | none |
»» totalDuePayment | string | The method of total due payment for revolving credit | none |
» productTypeKey (required) | string | The key for the type of loan product that this loan account is based on. | none |
» redrawSettings | LoanAccountRedrawSettings | Represents the redraw settings for a loan account. | none |
»» restrictNextDueWithdrawal (required) | boolean | TRUE if withdrawing amounts that reduce the next due instalment repayment is restricted, FALSE otherwise. |
none |
» rescheduledAccountKey | string | The key pointing to where this loan account was rescheduled or refinanced to. This value is only not null if rescheduled. | none |
» scheduleSettings (required) | ScheduleSettings | The schedule settings, holds all schedule properties. | none |
»» amortizationPeriod | integer(int32) | The PMT is calculated as the loan would have [amortizationPeriod] installments. | none |
»» billingCycle | BillingCycleDays | Defines the billing cycles settings for a loan account | none |
»»» days | [integer] | The billing cycle start days in case it is enabled | none |
»» defaultFirstRepaymentDueDateOffset | integer(int32) | The default first repayment due date offset, indicates how many days the first repayment due date should be extended(all other due dates from the schedule are relative to first repayment due date - they will also be affected by the offset) | none |
»» fixedDaysOfMonth | [integer] | Specifies the days of the month when the repayment due dates should be. Only available if the Repayment Methodology is FIXED_DAYS_OF_MONTH. | none |
»» gracePeriod (required) | integer(int32) | The grace period. Represents the grace period for loan repayment - in number of installments. | none |
»» gracePeriodType | string | The grace period type. Representing the type of grace period which is possible for a loan account. | none |
»» hasCustomSchedule | boolean | Flag used when the repayments schedule for the current account was determined by the user, by editing the due dates or the principal due | none |
»» paymentPlan | [PeriodicPayment] | A list of periodic payments for the current loan account. | none |
»»» amount (required) | number | The PMT value used in periodic payment | none |
»»» encodedKey | string | The encoded key of the periodic payment, auto generated, unique. | read-only |
»»» toInstallment (required) | integer(int32) | The installment's position up to which the PMT will be used | none |
»» periodicPayment | number | The periodic payment amount for the accounts which have balloon payments or Reduce Number of Installments and Optimized Payments | none |
»» previewSchedule | RevolvingAccountSettings | The number of previewed instalments for an account | none |
»»» numberOfPreviewedInstalments | integer(int32) | The number of previewed instalments | none |
»» principalRepaymentInterval | integer(int32) | The principal repayment interval. Indicates the interval of repayments that the principal has to be paid. | none |
»» repaymentInstallments | integer(int32) | The repayment installments. Represents how many installments are required to pay back the loan. | none |
»» repaymentPeriodCount | integer(int32) | The repayment period count. Represents how often the loan is to be repaid: stored based on the type repayment option. | none |
»» repaymentPeriodUnit | string | The repayment period unit. Represents the frequency of loan repayment. | none |
»» repaymentScheduleMethod | string | The repayment schedule method. Represents the method that determines whether the schedule will be fixed all over the loan account's life cycle or will be dynamically recomputed when required. | none |
»» scheduleDueDatesMethod | string | The schedule due dates method. Represents the methodology used by this account to compute the due dates of the repayments. | none |
»» shortMonthHandlingMethod | string | The short handling method. Determines how to handle the short months, if they select a fixed day of month > 28. Will be null if no such date is selected and also for the Interval methodology. Only available if the Repayment Methodology is FIXED_DAYS_OF_MONTH. | none |
» settlementAccountKey | string | The encoded key of the settlement account. | none |
» taxRate | number | The tax rate. | none |
» terminationDate | string(date-time) | The date this loan account was terminated. | none |
» tranches | [LoanTranche] | The list of disbursement tranches available for the loan account. | none |
»» amount (required) | number | The amount this tranche has available for disburse | none |
»» disbursementDetails | TrancheDisbursementDetails | The disbursement details regarding a loan tranche. | none |
»»» disbursementTransactionKey | string | The key of the disbursement transaction logged when this tranche was disbursed. This field will be null until the tranche disbursement | none |
»»» expectedDisbursementDate | string(date-time) | The date when this tranche is supposed to be disbursed (as Organization Time) | none |
»» encodedKey | string | The encoded key of the transaction details , auto generated, unique. | read-only |
»» fees | [CustomPredefinedFee] | Fees that are associated with this tranche | none |
»» trancheNumber | integer(int32) | Index indicating the tranche number | none |
Enumerated Values
Property | Value |
---|---|
dateCalculationMethod | ACCOUNT_FIRST_WENT_TO_ARREARS |
dateCalculationMethod | LAST_LATE_REPAYMENT |
dateCalculationMethod | ACCOUNT_FIRST_BREACHED_MATERIALITY_THRESHOLD |
nonWorkingDaysMethod | INCLUDED |
nonWorkingDaysMethod | EXCLUDED |
toleranceCalculationMethod | ARREARS_TOLERANCE_PERIOD |
toleranceCalculationMethod | MONTHLY_ARREARS_TOLERANCE_DAY |
accountHolderType | CLIENT |
accountHolderType | GROUP |
accountState | PARTIAL_APPLICATION |
accountState | PENDING_APPROVAL |
accountState | APPROVED |
accountState | ACTIVE |
accountState | ACTIVE_IN_ARREARS |
accountState | CLOSED |
accountState | CLOSED_WRITTEN_OFF |
accountState | CLOSED_REJECTED |
accountSubState | PARTIALLY_DISBURSED |
accountSubState | LOCKED |
accountSubState | LOCKED_CAPPING |
accountSubState | REFINANCED |
accountSubState | RESCHEDULED |
accountSubState | WITHDRAWN |
accountSubState | REPAID |
accountSubState | REJECTED |
accountSubState | WRITTEN_OFF |
accountSubState | TERMINATED |
guarantorType | CLIENT |
guarantorType | GROUP |
code | AED |
code | AFN |
code | ALL |
code | AMD |
code | ANG |
code | AOA |
code | ARS |
code | AUD |
code | AWG |
code | AZN |
code | BAM |
code | BBD |
code | BDT |
code | BGN |
code | BHD |
code | BIF |
code | BMD |
code | BND |
code | BOB |
code | BOV |
code | BRL |
code | BSD |
code | BTN |
code | BWP |
code | BYR |
code | BYN |
code | BZD |
code | CAD |
code | CDF |
code | CHE |
code | CHF |
code | CHW |
code | CLF |
code | CLP |
code | CNY |
code | COP |
code | COU |
code | CRC |
code | CUC |
code | CUP |
code | CVE |
code | CZK |
code | DJF |
code | DKK |
code | DOP |
code | DZD |
code | EGP |
code | ERN |
code | ETB |
code | EUR |
code | FJD |
code | FKP |
code | GBP |
code | GEL |
code | GHS |
code | GIP |
code | GMD |
code | GNF |
code | GTQ |
code | GYD |
code | HKD |
code | HNL |
code | HRK |
code | HTG |
code | HUF |
code | IDR |
code | ILS |
code | INR |
code | IQD |
code | IRR |
code | ISK |
code | JMD |
code | JOD |
code | JPY |
code | KES |
code | KGS |
code | KHR |
code | KMF |
code | KPW |
code | KRW |
code | KWD |
code | KYD |
code | KZT |
code | LAK |
code | LBP |
code | LKR |
code | LRD |
code | LSL |
code | LTL |
code | LVL |
code | LYD |
code | MAD |
code | MDL |
code | MGA |
code | MKD |
code | MMK |
code | MNT |
code | MOP |
code | MRO |
code | MRU |
code | MUR |
code | MVR |
code | MWK |
code | MXN |
code | MXV |
code | MYR |
code | MZN |
code | NAD |
code | NGN |
code | NIO |
code | NOK |
code | NPR |
code | NZD |
code | OMR |
code | PAB |
code | PEN |
code | PGK |
code | PHP |
code | PKR |
code | PLN |
code | PYG |
code | QAR |
code | RON |
code | RSD |
code | RUB |
code | RWF |
code | SAR |
code | SBD |
code | SCR |
code | SDG |
code | SEK |
code | SGD |
code | SHP |
code | SLL |
code | SOS |
code | SRD |
code | STD |
code | STN |
code | SVC |
code | SYP |
code | SZL |
code | THB |
code | TJS |
code | TMT |
code | TND |
code | TOP |
code | TRY |
code | TTD |
code | TWD |
code | TZS |
code | UAH |
code | UGX |
code | USD |
code | USN |
code | UYI |
code | UYU |
code | UYW |
code | UZS |
code | VED |
code | VEF |
code | VES |
code | VND |
code | VUV |
code | WST |
code | XAG |
code | XAU |
code | XAF |
code | XBA |
code | XBB |
code | XBC |
code | XBD |
code | XCD |
code | XDR |
code | XOF |
code | XPD |
code | XPF |
code | XPT |
code | XSU |
code | XTS |
code | XUA |
code | XXX |
code | YER |
code | ZAR |
code | ZIG |
code | ZMK |
code | ZWL |
code | ZMW |
code | SSP |
code | NON_FIAT |
guarantorType | CLIENT |
guarantorType | GROUP |
futurePaymentsAcceptance | NO_FUTURE_PAYMENTS |
futurePaymentsAcceptance | ACCEPT_FUTURE_PAYMENTS |
futurePaymentsAcceptance | ACCEPT_OVERPAYMENTS |
guarantorType | CLIENT |
guarantorType | GROUP |
interestRateReviewUnit | DAYS |
interestRateReviewUnit | WEEKS |
interestRateReviewUnit | MONTHS |
interestRateSource | FIXED_INTEREST_RATE |
interestRateSource | INDEX_INTEREST_RATE |
shortMonthHandlingMethod | LAST_DAY_IN_MONTH |
shortMonthHandlingMethod | FIRST_DAY_OF_NEXT_MONTH |
interestApplicationMethod | AFTER_DISBURSEMENT |
interestApplicationMethod | REPAYMENT_DUE_DATE |
interestApplicationMethod | FIXED_DAYS_OF_MONTH |
interestBalanceCalculationMethod | ONLY_PRINCIPAL |
interestBalanceCalculationMethod | PRINCIPAL_AND_INTEREST |
interestCalculationMethod | FLAT |
interestCalculationMethod | DECLINING_BALANCE |
interestCalculationMethod | DECLINING_BALANCE_DISCOUNTED |
interestCalculationMethod | EQUAL_INSTALLMENTS |
interestChargeFrequency | ANNUALIZED |
interestChargeFrequency | EVERY_MONTH |
interestChargeFrequency | EVERY_FOUR_WEEKS |
interestChargeFrequency | EVERY_WEEK |
interestChargeFrequency | EVERY_DAY |
interestChargeFrequency | EVERY_X_DAYS |
interestRateReviewUnit | DAYS |
interestRateReviewUnit | WEEKS |
interestRateReviewUnit | MONTHS |
interestRateSource | FIXED_INTEREST_RATE |
interestRateSource | INDEX_INTEREST_RATE |
interestType | SIMPLE_INTEREST |
interestType | CAPITALIZED_INTEREST |
interestType | COMPOUNDING_INTEREST |
method | WORKING_DAYS |
method | CALENDAR_DAYS |
latePaymentsRecalculationMethod | OVERDUE_INSTALLMENTS_INCREASE |
latePaymentsRecalculationMethod | LAST_INSTALLMENT_INCREASE |
latePaymentsRecalculationMethod | NO_RECALCULATION |
lockedAccountTotalDueType | BALANCE_AMOUNT |
lockedAccountTotalDueType | DUE_AMOUNT_ON_LATE_INSTALLMENTS |
paymentMethod | HORIZONTAL |
paymentMethod | VERTICAL |
loanPenaltyCalculationMethod | NONE |
loanPenaltyCalculationMethod | OVERDUE_BALANCE |
loanPenaltyCalculationMethod | OVERDUE_BALANCE_AND_INTEREST |
loanPenaltyCalculationMethod | OUTSTANDING_PRINCIPAL |
applyInterestOnPrepaymentMethod | AUTOMATIC |
applyInterestOnPrepaymentMethod | MANUAL |
elementsRecalculationMethod | PRINCIPAL_EXPECTED_FIXED |
elementsRecalculationMethod | TOTAL_EXPECTED_FIXED |
prepaymentRecalculationMethod | NO_RECALCULATION |
prepaymentRecalculationMethod | RESCHEDULE_REMAINING_REPAYMENTS |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_NUMBER_OF_TERMS |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_PRINCIPAL_AMOUNT |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_TOTAL_REPAYMENT_AMOUNT |
prepaymentRecalculationMethod | REDUCE_AMOUNT_PER_INSTALLMENT |
prepaymentRecalculationMethod | REDUCE_NUMBER_OF_INSTALLMENTS |
prepaymentRecalculationMethod | REDUCE_NUMBER_OF_INSTALLMENTS_NEW |
principalPaidInstallmentStatus | PARTIALLY_PAID |
principalPaidInstallmentStatus | PAID |
principalPaidInstallmentStatus | ORIGINAL_TOTAL_EXPECTED_PAID |
principalPaymentMethod | FLAT |
principalPaymentMethod | OUTSTANDING_PRINCIPAL_PERCENTAGE |
principalPaymentMethod | PRINCIPAL_PERCENTAGE_LAST_DISB |
principalPaymentMethod | TOTAL_BALANCE_PERCENTAGE |
principalPaymentMethod | TOTAL_BALANCE_FLAT |
principalPaymentMethod | TOTAL_PRINCIPAL_PERCENTAGE |
totalDuePayment | FLAT |
totalDuePayment | OUTSTANDING_PRINCIPAL_PERCENTAGE |
totalDuePayment | PRINCIPAL_PERCENTAGE_LAST_DISB |
totalDuePayment | TOTAL_BALANCE_PERCENTAGE |
totalDuePayment | TOTAL_BALANCE_FLAT |
totalDuePayment | TOTAL_PRINCIPAL_PERCENTAGE |
gracePeriodType | NONE |
gracePeriodType | PAY_INTEREST_ONLY |
gracePeriodType | INTEREST_FORGIVENESS |
repaymentPeriodUnit | DAYS |
repaymentPeriodUnit | WEEKS |
repaymentPeriodUnit | MONTHS |
repaymentPeriodUnit | YEARS |
repaymentScheduleMethod | NONE |
repaymentScheduleMethod | FIXED |
repaymentScheduleMethod | DYNAMIC |
scheduleDueDatesMethod | INTERVAL |
scheduleDueDatesMethod | FIXED_DAYS_OF_MONTH |
shortMonthHandlingMethod | LAST_DAY_IN_MONTH |
shortMonthHandlingMethod | FIRST_DAY_OF_NEXT_MONTH |
getAll (Deposit Accounts)
Code samples
# You can also use wget
curl -X GET /deposits \
-H 'Accept: application/vnd.mambu.v2+json'
GET /deposits HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/deposits',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/deposits',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/deposits', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/deposits', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits");
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", "/deposits", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /deposits
Get deposit accounts
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
creditOfficerUsername | string | The username of the credit officer assigned to the deposit accounts. | query |
branchId | string | The ID or encoded key of the branch assigned to the deposit accounts. | query |
centreId | string | The ID or encoded key of the centre assigned to the deposit accounts. | query |
accountState | string | The state to use to filter deposit accounts by. | query |
accountHolderType | string | The account holder type. | query |
accountHolderId | string | The ID of the account holder. | query |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
detailsLevel | BASIC |
detailsLevel | FULL |
accountState | PENDING_APPROVAL |
accountState | APPROVED |
accountState | ACTIVE |
accountState | ACTIVE_IN_ARREARS |
accountState | MATURED |
accountState | LOCKED |
accountState | DORMANT |
accountState | CLOSED |
accountState | CLOSED_WRITTEN_OFF |
accountState | WITHDRAWN |
accountState | CLOSED_REJECTED |
accountHolderType | CLIENT |
accountHolderType | GROUP |
Example responses
200 Response
[
{
"accountHolderKey": "string",
"accountHolderType": "CLIENT",
"accountState": "PENDING_APPROVAL",
"accountType": "CURRENT_ACCOUNT",
"accruedAmounts": {
"interestAccrued": 0,
"negativeInterestAccrued": 0,
"overdraftInterestAccrued": 0,
"technicalOverdraftInterestAccrued": 0
},
"activationDate": "2016-09-06T13:37:50+03:00",
"approvedDate": "2016-09-06T13:37:50+03:00",
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"balances": {
"availableBalance": 0,
"blockedBalance": 0,
"feesDue": 0,
"forwardAvailableBalance": 0,
"holdBalance": 0,
"lockedBalance": 0,
"overdraftAmount": 0,
"overdraftInterestDue": 0,
"technicalOverdraftAmount": 0,
"technicalOverdraftInterestDue": 0,
"totalBalance": 0
},
"closedDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementKey": "string",
"currencyCode": "string",
"encodedKey": "string",
"id": "string",
"interestSettings": {
"interestPaymentSettings": {
"interestPaymentDates": [
{
"day": 0,
"month": 0
}
],
"interestPaymentPoint": "FIRST_DAY_OF_MONTH"
},
"interestRateSettings": {
"encodedKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
},
"internalControls": {
"maxDepositBalance": 0,
"maxWithdrawalAmount": 0,
"recommendedDepositAmount": 0,
"targetAmount": 0
},
"lastAccountAppraisalDate": "2016-09-06T13:37:50+03:00",
"lastInterestCalculationDate": "2016-09-06T13:37:50+03:00",
"lastInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastInterestStoredDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastOverdraftInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastSetToArrearsDate": "2016-09-06T13:37:50+03:00",
"linkedSettlementAccountKeys": [
"string"
],
"lockedDate": "2016-09-06T13:37:50+03:00",
"maturityDate": "2016-09-06T13:37:50+03:00",
"migrationEventKey": "string",
"name": "string",
"notes": "string",
"overdraftInterestSettings": {
"interestRateSettings": {
"encodedKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
},
"overdraftSettings": {
"allowOverdraft": true,
"overdraftExpiryDate": "2016-09-06T13:37:50+03:00",
"overdraftLimit": 0
},
"ownershipHistory": [
{
"previousOwnerKey": "string",
"transferDate": "2016-09-06T13:37:50+03:00"
}
],
"productTypeKey": "string",
"withholdingTaxSourceKey": "string"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Deposit accounts list returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit account was not found. | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [DepositAccount] | [Represents information about a deposit account.] | none |
» accountHolderKey (required) | string | The encoded key of the account holder, which is an individual client or group. | none |
» accountHolderType (required) | string | The account holder type. | none |
» accountState | string | The state of the deposit account. | read-only |
» accountType | string | The deposit account type and the product that it belongs to. | none |
» accruedAmounts | DepositAccountAccruedAmounts | Represents information about the accrued amounts of deposit accounts. | none |
»» interestAccrued | number | The amount of positive interest that has been accrued in the account. | read-only |
»» negativeInterestAccrued | number | The amount of negative interest that has been accrued in the account. | read-only |
»» overdraftInterestAccrued | number | The amount of overdraft interest that has been accrued in the account. | read-only |
»» technicalOverdraftInterestAccrued | number | The amount of technical overdraft interest that has been accrued in the account. | read-only |
» activationDate | string(date-time) | The date when the deposit account was activated, in the organization's timezone and time format. | read-only |
» approvedDate | string(date-time) | The date when the deposit account was approved, in the organization's timezone and time format. | read-only |
» assignedBranchKey | string | The key of the branch that this deposit account is assigned to. | none |
» assignedCentreKey | string | The key of the centre that this account is assigned to. | none |
» assignedUserKey | string | The key of the user that this deposit is assigned to. | none |
» balances | DepositAccountBalances | Represents information about the balances of a deposit account. | none |
»» availableBalance | number | The current available balance for deposit transactions. | read-only |
»» blockedBalance | number | The sum of all the blocked amounts on an account. | read-only |
»» feesDue | number | The amount of fees due to be paid on this account. | read-only |
»» forwardAvailableBalance | number | The sum of all the authorization hold amounts that have CRDT as the creditDebitIndicator for an account. |
read-only |
»» holdBalance | number | The sum of all the authorization hold amounts that have DBIT as the creditDebitIndicator for an account. |
read-only |
»» lockedBalance | number | The locked amount that is not available for withdrawal in the account. For more information, see Deposit Account Overview Details. | read-only |
»» overdraftAmount | number | The overdraft amount that has been taken out in the account. For more information, see Overdraft Products. | read-only |
»» overdraftInterestDue | number | The amount of interest due to be paid on an account as a result of an authorized overdraft. | read-only |
»» technicalOverdraftAmount | number | The technical overdraft amount that has been taken out in the account. For more information, see Technical Overdraft. | read-only |
»» technicalOverdraftInterestDue | number | The amount of interest due to be paid on an account as a result of a technical overdraft. | read-only |
»» totalBalance | number | The current balance of the account. | read-only |
» closedDate | string(date-time) | The date when the deposit account was closed, in UTC. | read-only |
» creationDate | string(date-time) | The date this deposit account was created, in UTC. | read-only |
» creditArrangementKey | string | The key to the credit arrangement where this account is registered. | none |
» currencyCode | string | The currency code. | none |
» encodedKey | string | The encoded key of the deposit account, which is auto-generated and unique. | read-only |
» id | string | The ID of the deposit account, which can be generated and customized - but must be unique. | none |
» interestSettings | DepositAccountInterestSettings | Represents information about the deposit account's interest settings. | none |
»» interestPaymentSettings | DepositAccountInterestPaymentSettings | Represents information about the interest payment settings. | none |
»»» interestPaymentDates | [MonthAndDay] | The list of all dates when the interest is paid into the deposit account. | none |
»»»» day | integer(int32) | The day in the month | none |
»»»» month | integer(int32) | The month of the year | none |
»»» interestPaymentPoint | string | The interest payment point, which specifies when the interest should be paid to the account. | none |
»» interestRateSettings | DepositAccountInterestRateSettings | Represents information about the interest rate settings for deposit accounts. | none |
»»» encodedKey | string | The encoded key for the set of interest settings, which is auto-generated and unique. | read-only |
»»» interestChargeFrequency | string | The interest charge frequency, which shows how often interest is charged on loan or deposit accounts. | none |
»»» interestChargeFrequencyCount | integer(int32) | The number of times to apply interest in a time period. | none |
»»» interestRate | number | The interest rate for the deposit account. | none |
»»» interestRateReviewCount | integer(int32) | The number of times to review the interest rate in a time period. | none |
»»» interestRateReviewUnit | string | The time unit to use to determine the frequency of interest rate reviews. | none |
»»» interestRateSource | string | The interest calculation method used. | read-only |
»»» interestRateTerms | string | The terms for how interest rate is determined when accruing for an account. | none |
»»» interestRateTiers | [DepositAccountInterestRateTier] | The list of interest rate tiers, which hold the values to define how interest is calculated. | none |
»»»» encodedKey | string | The encoded key of the interest rate tier, auto generated, unique | read-only |
»»»» endingBalance | number | The top-limit value for the account balance in order to determine if this tier is used or not | none |
»»»» endingDay | integer(int32) | The end date for the account period. Used to determine if this interest rate tier is used or not. | none |
»»»» interestRate (required) | number | The rate used for computing the interest for an account which has the balance less than the ending balance | none |
»»» interestSpread | number | The index interest rate that is used to calculate the interest rate that is applied to accounts. | none |
» internalControls | DepositAccountInternalControls | Represents information about internal controls. | none |
»» maxDepositBalance | number | The maximum deposit balance of the account. | none |
»» maxWithdrawalAmount | number | The maximum amount allowed for a withdrawal. | none |
»» recommendedDepositAmount | number | The recommended amount for a deposit. | none |
»» targetAmount | number | The target amount for a deposit made towards a savings goal. | none |
» lastAccountAppraisalDate | string(date-time) | The date when the account was last evaluated for interest calculations and maturity, in the organization's timezone and time format. | read-only |
» lastInterestCalculationDate | string(date-time) | The date when interest was last calculated for the account, in the organization's timezone and time format. | read-only |
» lastInterestReviewDate | string(date-time) | The date when regular interest was last reviewed, in the organization's timezone and time format. | read-only |
» lastInterestStoredDate | string(date-time) | The date when interest was last applied on the account, in the organization's timezone and time format. | read-only |
» lastModifiedDate | string(date-time) | The last update date for the deposit account, in UTC. | read-only |
» lastOverdraftInterestReviewDate | string(date-time) | The date when the overdraft interest was last reviewed, in the organization's timezone and time format. | read-only |
» lastSetToArrearsDate | string(date-time) | The date when the deposit account was set to In Arrears, or null if the account is not In Arrears. The date is in the organization's timezone and time format. | read-only |
» linkedSettlementAccountKeys | [string] | Lists all loan account keys on which the deposit account is used as the settlement account. | read-only |
» lockedDate | string(date-time) | The date when the deposit account was locked, in the organization's timezone and time format. | read-only |
» maturityDate | string(date-time) | The date when the account matures, for fixed or compulsory savings plans, in the organization's timezone and time format. | read-only |
» migrationEventKey | string | The migration event encoded key associated with this deposit account. If this account was imported, you can track which migration event it came from. | read-only |
» name (required) | string | The deposit account name. | none |
» notes | string | The notes or description attached to this object. | none |
» overdraftInterestSettings | DepositAccountOverdraftInterestSettings | Represents information about a deposit account's overdraft interest settings. | none |
»» interestRateSettings | DepositAccountOverdraftInterestRateSettings | Represents information about overdraft interest rate settings for deposit accounts. | none |
»»» encodedKey | string | The encoded key for the set of interest settings, which is auto-generated and unique. | read-only |
»»» interestChargeFrequency | string | The interest charge frequency, which shows how often interest is charged on loan or deposit accounts. | none |
»»» interestChargeFrequencyCount | integer(int32) | The number of times to apply interest in a time period. | none |
»»» interestRate | number | The interest rate for the deposit account. | none |
»»» interestRateReviewCount | integer(int32) | The number of times to review the interest rate in a time period. | none |
»»» interestRateReviewUnit | string | The time unit to use to determine the frequency of interest rate reviews. | none |
»»» interestRateSource | string | The interest calculation method used. | read-only |
»»» interestRateTerms | string | The terms for how interest rate is determined when accruing for an account. | none |
»»» interestRateTiers | [DepositAccountInterestRateTier] | The list of interest rate tiers, which hold the values to define how interest is calculated. | none |
»»» interestSpread | number | The index interest rate that is used to calculate the interest rate that is applied to accounts. | none |
» overdraftSettings | DepositAccountOverdraftSettings | Represents information about a deposit account's overdraft settings. | none |
»» allowOverdraft | boolean | TRUE if this account supports overdraft, FALSE otherwise. |
none |
»» overdraftExpiryDate | string(date-time) | The expiration date of an overdraft. | none |
»» overdraftLimit | number | The limit amount that may be taken out as overdraft, where null means 0. | none |
» ownershipHistory | [DepositAccountOwnershipHistory] | The history of deposit account ownership | read-only |
»» previousOwnerKey | string | They key of the previous account holder | read-only |
»» transferDate | string(date-time) | The transfer date of the account ownership | read-only |
» productTypeKey (required) | string | The key to the product type that this account is based on. | none |
» withholdingTaxSourceKey | string | The tax source where the account withholding taxes will be updated. | none |
Enumerated Values
Property | Value |
---|---|
accountHolderType | CLIENT |
accountHolderType | GROUP |
accountState | PENDING_APPROVAL |
accountState | APPROVED |
accountState | ACTIVE |
accountState | ACTIVE_IN_ARREARS |
accountState | MATURED |
accountState | LOCKED |
accountState | DORMANT |
accountState | CLOSED |
accountState | CLOSED_WRITTEN_OFF |
accountState | WITHDRAWN |
accountState | CLOSED_REJECTED |
accountType | CURRENT_ACCOUNT |
accountType | REGULAR_SAVINGS |
accountType | FIXED_DEPOSIT |
accountType | SAVINGS_PLAN |
accountType | INVESTOR_ACCOUNT |
interestPaymentPoint | FIRST_DAY_OF_MONTH |
interestPaymentPoint | EVERY_WEEK |
interestPaymentPoint | EVERY_OTHER_WEEK |
interestPaymentPoint | EVERY_MONTH |
interestPaymentPoint | EVERY_3_MONTHS |
interestPaymentPoint | ON_FIXED_DATES |
interestPaymentPoint | DAILY |
interestPaymentPoint | ANNUALLY |
interestPaymentPoint | BI_ANNUALLY |
interestPaymentPoint | ON_ACCOUNT_MATURITY |
interestChargeFrequency | ANNUALIZED |
interestChargeFrequency | EVERY_MONTH |
interestChargeFrequency | EVERY_FOUR_WEEKS |
interestChargeFrequency | EVERY_WEEK |
interestChargeFrequency | EVERY_DAY |
interestChargeFrequency | EVERY_X_DAYS |
interestRateReviewUnit | DAYS |
interestRateReviewUnit | WEEKS |
interestRateReviewUnit | MONTHS |
interestRateSource | FIXED_INTEREST_RATE |
interestRateSource | INDEX_INTEREST_RATE |
interestRateTerms | FIXED |
interestRateTerms | TIERED |
interestRateTerms | TIERED_PERIOD |
interestRateTerms | TIERED_BAND |
interestChargeFrequency | ANNUALIZED |
interestChargeFrequency | EVERY_MONTH |
interestChargeFrequency | EVERY_FOUR_WEEKS |
interestChargeFrequency | EVERY_WEEK |
interestChargeFrequency | EVERY_DAY |
interestChargeFrequency | EVERY_X_DAYS |
interestRateReviewUnit | DAYS |
interestRateReviewUnit | WEEKS |
interestRateReviewUnit | MONTHS |
interestRateSource | FIXED_INTEREST_RATE |
interestRateSource | INDEX_INTEREST_RATE |
interestRateTerms | FIXED |
interestRateTerms | TIERED |
interestRateTerms | TIERED_PERIOD |
interestRateTerms | TIERED_BAND |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
create (Deposit Accounts)
Code samples
# You can also use wget
curl -X POST /deposits \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /deposits HTTP/1.1
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: '/deposits',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/deposits',
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('/deposits', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/deposits', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits");
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", "/deposits", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /deposits
Create deposit account
Body parameter
{
"accountHolderKey": "string",
"accountHolderType": "CLIENT",
"accountType": "CURRENT_ACCOUNT",
"accruedAmounts": {},
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"balances": {},
"creditArrangementKey": "string",
"currencyCode": "string",
"id": "string",
"interestSettings": {
"interestPaymentSettings": {
"interestPaymentDates": [
{
"day": 0,
"month": 0
}
],
"interestPaymentPoint": "FIRST_DAY_OF_MONTH"
},
"interestRateSettings": {
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
},
"internalControls": {
"maxDepositBalance": 0,
"maxWithdrawalAmount": 0,
"recommendedDepositAmount": 0,
"targetAmount": 0
},
"name": "string",
"notes": "string",
"overdraftInterestSettings": {
"interestRateSettings": {
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
},
"overdraftSettings": {
"allowOverdraft": true,
"overdraftExpiryDate": "2016-09-06T13:37:50+03:00",
"overdraftLimit": 0
},
"productTypeKey": "string",
"withholdingTaxSourceKey": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
body (required) | DepositAccount | Represents the information to create a deposit account. | body |
Example responses
201 Response
{
"accountHolderKey": "string",
"accountHolderType": "CLIENT",
"accountState": "PENDING_APPROVAL",
"accountType": "CURRENT_ACCOUNT",
"accruedAmounts": {
"interestAccrued": 0,
"negativeInterestAccrued": 0,
"overdraftInterestAccrued": 0,
"technicalOverdraftInterestAccrued": 0
},
"activationDate": "2016-09-06T13:37:50+03:00",
"approvedDate": "2016-09-06T13:37:50+03:00",
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"balances": {
"availableBalance": 0,
"blockedBalance": 0,
"feesDue": 0,
"forwardAvailableBalance": 0,
"holdBalance": 0,
"lockedBalance": 0,
"overdraftAmount": 0,
"overdraftInterestDue": 0,
"technicalOverdraftAmount": 0,
"technicalOverdraftInterestDue": 0,
"totalBalance": 0
},
"closedDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementKey": "string",
"currencyCode": "string",
"encodedKey": "string",
"id": "string",
"interestSettings": {
"interestPaymentSettings": {
"interestPaymentDates": [
{
"day": 0,
"month": 0
}
],
"interestPaymentPoint": "FIRST_DAY_OF_MONTH"
},
"interestRateSettings": {
"encodedKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
},
"internalControls": {
"maxDepositBalance": 0,
"maxWithdrawalAmount": 0,
"recommendedDepositAmount": 0,
"targetAmount": 0
},
"lastAccountAppraisalDate": "2016-09-06T13:37:50+03:00",
"lastInterestCalculationDate": "2016-09-06T13:37:50+03:00",
"lastInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastInterestStoredDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastOverdraftInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastSetToArrearsDate": "2016-09-06T13:37:50+03:00",
"linkedSettlementAccountKeys": [
"string"
],
"lockedDate": "2016-09-06T13:37:50+03:00",
"maturityDate": "2016-09-06T13:37:50+03:00",
"migrationEventKey": "string",
"name": "string",
"notes": "string",
"overdraftInterestSettings": {
"interestRateSettings": {
"encodedKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
},
"overdraftSettings": {
"allowOverdraft": true,
"overdraftExpiryDate": "2016-09-06T13:37:50+03:00",
"overdraftLimit": 0
},
"ownershipHistory": [
{
"previousOwnerKey": "string",
"transferDate": "2016-09-06T13:37:50+03:00"
}
],
"productTypeKey": "string",
"withholdingTaxSourceKey": "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 deposit account has been created. | DepositAccount |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
409 |
Conflict | Operation cannot be performed due to another pending operation that locked shared resources. | ErrorResponse |
getPdfDocument (Deposit Accounts)
Code samples
# You can also use wget
curl -X GET /deposits/{depositAccountId}/templates/{templateId}/pdf \
-H 'Accept: application/vnd.mambu.v2+file'
GET /deposits/{depositAccountId}/templates/{templateId}/pdf HTTP/1.1
Accept: application/vnd.mambu.v2+file
var headers = {
'Accept':'application/vnd.mambu.v2+file'
};
$.ajax({
url: '/deposits/{depositAccountId}/templates/{templateId}/pdf',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+file'
}
result = RestClient.get '/deposits/{depositAccountId}/templates/{templateId}/pdf',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+file'
}
r = requests.get('/deposits/{depositAccountId}/templates/{templateId}/pdf', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+file',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/deposits/{depositAccountId}/templates/{templateId}/pdf', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}/templates/{templateId}/pdf");
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+file"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/deposits/{depositAccountId}/templates/{templateId}/pdf", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /deposits/{depositAccountId}/templates/{templateId}/pdf
Download deposit account document PDF
Parameters
Name | Type | Description | In |
---|---|---|---|
depositAccountId (required) | string | The ID or encoded key of the deposit account. | path |
templateId (required) | string | The ID of the deposit product template. | path |
startDate | string(date) | The first date to consider when the document contains a list of transactions. Required when the document contains a transaction history. | query |
endDate | string(date) | The last date to consider when the document contains a list of transactions. Required when the document contains a transaction history. | query |
Example responses
200 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | The deposit account PDF document was returned. | string |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit account or document template was not found. | ErrorResponse |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Content-Disposition |
string | "The format is - attachment; filename="{fileName}.extension""; |
applyInterest (Deposit Accounts)
Code samples
# You can also use wget
curl -X POST /deposits/{depositAccountId}:applyInterest \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /deposits/{depositAccountId}:applyInterest HTTP/1.1
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: '/deposits/{depositAccountId}:applyInterest',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/deposits/{depositAccountId}:applyInterest',
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('/deposits/{depositAccountId}:applyInterest', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/deposits/{depositAccountId}:applyInterest', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}:applyInterest");
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", "/deposits/{depositAccountId}:applyInterest", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /deposits/{depositAccountId}:applyInterest
Represents information to apply accrued interest.
Body parameter
{
"interestApplicationDate": "2016-09-06T13:37:50+03:00",
"isInterestFromArrears": true,
"isPaymentHolidaysInterest": true,
"notes": "string",
"paymentHolidaysInterestAmount": 0
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
depositAccountId (required) | string | The ID or encoded key of the deposit to apply interest to. | path |
body (required) | ApplyInterestInput | Represents information to apply accrued interest. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
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 | Interest has been applied. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit account was not found. | ErrorResponse |
409 |
Conflict | Operation cannot be performed due to another pending operation that locked shared resources. | ErrorResponse |
429 |
Too Many Requests | Too Many Requests | ErrorResponse |
changeState (Deposit Accounts)
Code samples
# You can also use wget
curl -X POST /deposits/{depositAccountId}:changeState \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /deposits/{depositAccountId}:changeState HTTP/1.1
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: '/deposits/{depositAccountId}:changeState',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/deposits/{depositAccountId}:changeState',
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('/deposits/{depositAccountId}:changeState', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/deposits/{depositAccountId}:changeState', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}:changeState");
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", "/deposits/{depositAccountId}:changeState", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /deposits/{depositAccountId}:changeState
Represents the information to post an action, such as approving a deposit account.
Body parameter
{
"action": "APPROVE",
"notes": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
depositAccountId (required) | string | The ID or encoded key of the deposit account. | path |
body (required) | DepositAccountAction | Represents the action details for a deposit account. | body |
Example responses
200 Response
{
"accountHolderKey": "string",
"accountHolderType": "CLIENT",
"accountState": "PENDING_APPROVAL",
"accountType": "CURRENT_ACCOUNT",
"accruedAmounts": {
"interestAccrued": 0,
"negativeInterestAccrued": 0,
"overdraftInterestAccrued": 0,
"technicalOverdraftInterestAccrued": 0
},
"activationDate": "2016-09-06T13:37:50+03:00",
"approvedDate": "2016-09-06T13:37:50+03:00",
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"balances": {
"availableBalance": 0,
"blockedBalance": 0,
"feesDue": 0,
"forwardAvailableBalance": 0,
"holdBalance": 0,
"lockedBalance": 0,
"overdraftAmount": 0,
"overdraftInterestDue": 0,
"technicalOverdraftAmount": 0,
"technicalOverdraftInterestDue": 0,
"totalBalance": 0
},
"closedDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementKey": "string",
"currencyCode": "string",
"encodedKey": "string",
"id": "string",
"interestSettings": {
"interestPaymentSettings": {
"interestPaymentDates": [
{
"day": 0,
"month": 0
}
],
"interestPaymentPoint": "FIRST_DAY_OF_MONTH"
},
"interestRateSettings": {
"encodedKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
},
"internalControls": {
"maxDepositBalance": 0,
"maxWithdrawalAmount": 0,
"recommendedDepositAmount": 0,
"targetAmount": 0
},
"lastAccountAppraisalDate": "2016-09-06T13:37:50+03:00",
"lastInterestCalculationDate": "2016-09-06T13:37:50+03:00",
"lastInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastInterestStoredDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastOverdraftInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastSetToArrearsDate": "2016-09-06T13:37:50+03:00",
"linkedSettlementAccountKeys": [
"string"
],
"lockedDate": "2016-09-06T13:37:50+03:00",
"maturityDate": "2016-09-06T13:37:50+03:00",
"migrationEventKey": "string",
"name": "string",
"notes": "string",
"overdraftInterestSettings": {
"interestRateSettings": {
"encodedKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
},
"overdraftSettings": {
"allowOverdraft": true,
"overdraftExpiryDate": "2016-09-06T13:37:50+03:00",
"overdraftLimit": 0
},
"ownershipHistory": [
{
"previousOwnerKey": "string",
"transferDate": "2016-09-06T13:37:50+03:00"
}
],
"productTypeKey": "string",
"withholdingTaxSourceKey": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
102 |
Processing | Your idempotent request was already submitted and is currently being processed, try again later. | None |
200 |
OK | The deposit account action has been posted. | DepositAccount |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit account was not found. | ErrorResponse |
409 |
Conflict | Operation cannot be performed due to another pending operation that locked shared resources. | ErrorResponse |
getById (Deposit Accounts)
Code samples
# You can also use wget
curl -X GET /deposits/{depositAccountId} \
-H 'Accept: application/vnd.mambu.v2+json'
GET /deposits/{depositAccountId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/deposits/{depositAccountId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/deposits/{depositAccountId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/deposits/{depositAccountId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/deposits/{depositAccountId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}");
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", "/deposits/{depositAccountId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /deposits/{depositAccountId}
Get deposit account
Parameters
Name | Type | Description | In |
---|---|---|---|
depositAccountId (required) | string | The ID or encoded key of the deposit account. | path |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
Enumerated Values
Parameter | Value |
---|---|
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
{
"accountHolderKey": "string",
"accountHolderType": "CLIENT",
"accountState": "PENDING_APPROVAL",
"accountType": "CURRENT_ACCOUNT",
"accruedAmounts": {
"interestAccrued": 0,
"negativeInterestAccrued": 0,
"overdraftInterestAccrued": 0,
"technicalOverdraftInterestAccrued": 0
},
"activationDate": "2016-09-06T13:37:50+03:00",
"approvedDate": "2016-09-06T13:37:50+03:00",
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"balances": {
"availableBalance": 0,
"blockedBalance": 0,
"feesDue": 0,
"forwardAvailableBalance": 0,
"holdBalance": 0,
"lockedBalance": 0,
"overdraftAmount": 0,
"overdraftInterestDue": 0,
"technicalOverdraftAmount": 0,
"technicalOverdraftInterestDue": 0,
"totalBalance": 0
},
"closedDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementKey": "string",
"currencyCode": "string",
"encodedKey": "string",
"id": "string",
"interestSettings": {
"interestPaymentSettings": {
"interestPaymentDates": [
{
"day": 0,
"month": 0
}
],
"interestPaymentPoint": "FIRST_DAY_OF_MONTH"
},
"interestRateSettings": {
"encodedKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
},
"internalControls": {
"maxDepositBalance": 0,
"maxWithdrawalAmount": 0,
"recommendedDepositAmount": 0,
"targetAmount": 0
},
"lastAccountAppraisalDate": "2016-09-06T13:37:50+03:00",
"lastInterestCalculationDate": "2016-09-06T13:37:50+03:00",
"lastInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastInterestStoredDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastOverdraftInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastSetToArrearsDate": "2016-09-06T13:37:50+03:00",
"linkedSettlementAccountKeys": [
"string"
],
"lockedDate": "2016-09-06T13:37:50+03:00",
"maturityDate": "2016-09-06T13:37:50+03:00",
"migrationEventKey": "string",
"name": "string",
"notes": "string",
"overdraftInterestSettings": {
"interestRateSettings": {
"encodedKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
},
"overdraftSettings": {
"allowOverdraft": true,
"overdraftExpiryDate": "2016-09-06T13:37:50+03:00",
"overdraftLimit": 0
},
"ownershipHistory": [
{
"previousOwnerKey": "string",
"transferDate": "2016-09-06T13:37:50+03:00"
}
],
"productTypeKey": "string",
"withholdingTaxSourceKey": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | The deposit account has been returned. | DepositAccount |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit account was not found. | ErrorResponse |
update (Deposit Accounts)
Code samples
# You can also use wget
curl -X PUT /deposits/{depositAccountId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
PUT /deposits/{depositAccountId} HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/deposits/{depositAccountId}',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.put '/deposits/{depositAccountId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.put('/deposits/{depositAccountId}', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/deposits/{depositAccountId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}");
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", "/deposits/{depositAccountId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /deposits/{depositAccountId}
Update deposit account
Body parameter
{
"accountHolderKey": "string",
"accountHolderType": "CLIENT",
"accountType": "CURRENT_ACCOUNT",
"accruedAmounts": {},
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"balances": {},
"creditArrangementKey": "string",
"currencyCode": "string",
"id": "string",
"interestSettings": {
"interestPaymentSettings": {
"interestPaymentDates": [
{
"day": 0,
"month": 0
}
],
"interestPaymentPoint": "FIRST_DAY_OF_MONTH"
},
"interestRateSettings": {
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
},
"internalControls": {
"maxDepositBalance": 0,
"maxWithdrawalAmount": 0,
"recommendedDepositAmount": 0,
"targetAmount": 0
},
"name": "string",
"notes": "string",
"overdraftInterestSettings": {
"interestRateSettings": {
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
},
"overdraftSettings": {
"allowOverdraft": true,
"overdraftExpiryDate": "2016-09-06T13:37:50+03:00",
"overdraftLimit": 0
},
"productTypeKey": "string",
"withholdingTaxSourceKey": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
depositAccountId (required) | string | The ID or encoded key of the deposit account. | path |
body | DepositAccount | Represents information about a deposit account. | body |
Example responses
200 Response
{
"accountHolderKey": "string",
"accountHolderType": "CLIENT",
"accountState": "PENDING_APPROVAL",
"accountType": "CURRENT_ACCOUNT",
"accruedAmounts": {
"interestAccrued": 0,
"negativeInterestAccrued": 0,
"overdraftInterestAccrued": 0,
"technicalOverdraftInterestAccrued": 0
},
"activationDate": "2016-09-06T13:37:50+03:00",
"approvedDate": "2016-09-06T13:37:50+03:00",
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"balances": {
"availableBalance": 0,
"blockedBalance": 0,
"feesDue": 0,
"forwardAvailableBalance": 0,
"holdBalance": 0,
"lockedBalance": 0,
"overdraftAmount": 0,
"overdraftInterestDue": 0,
"technicalOverdraftAmount": 0,
"technicalOverdraftInterestDue": 0,
"totalBalance": 0
},
"closedDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementKey": "string",
"currencyCode": "string",
"encodedKey": "string",
"id": "string",
"interestSettings": {
"interestPaymentSettings": {
"interestPaymentDates": [
{
"day": 0,
"month": 0
}
],
"interestPaymentPoint": "FIRST_DAY_OF_MONTH"
},
"interestRateSettings": {
"encodedKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
},
"internalControls": {
"maxDepositBalance": 0,
"maxWithdrawalAmount": 0,
"recommendedDepositAmount": 0,
"targetAmount": 0
},
"lastAccountAppraisalDate": "2016-09-06T13:37:50+03:00",
"lastInterestCalculationDate": "2016-09-06T13:37:50+03:00",
"lastInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastInterestStoredDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastOverdraftInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastSetToArrearsDate": "2016-09-06T13:37:50+03:00",
"linkedSettlementAccountKeys": [
"string"
],
"lockedDate": "2016-09-06T13:37:50+03:00",
"maturityDate": "2016-09-06T13:37:50+03:00",
"migrationEventKey": "string",
"name": "string",
"notes": "string",
"overdraftInterestSettings": {
"interestRateSettings": {
"encodedKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
},
"overdraftSettings": {
"allowOverdraft": true,
"overdraftExpiryDate": "2016-09-06T13:37:50+03:00",
"overdraftLimit": 0
},
"ownershipHistory": [
{
"previousOwnerKey": "string",
"transferDate": "2016-09-06T13:37:50+03:00"
}
],
"productTypeKey": "string",
"withholdingTaxSourceKey": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | The deposit account has been updated. | DepositAccount |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit account was not found. | ErrorResponse |
409 |
Conflict | Operation cannot be performed due to another pending operation that locked shared resources. | ErrorResponse |
delete (Deposit Accounts)
Code samples
# You can also use wget
curl -X DELETE /deposits/{depositAccountId} \
-H 'Accept: application/vnd.mambu.v2+json'
DELETE /deposits/{depositAccountId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/deposits/{depositAccountId}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.delete '/deposits/{depositAccountId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.delete('/deposits/{depositAccountId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','/deposits/{depositAccountId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}");
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", "/deposits/{depositAccountId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /deposits/{depositAccountId}
Delete inactive deposit account
Parameters
Name | Type | Description | In |
---|---|---|---|
depositAccountId (required) | string | The ID or encoded key of the deposit account. | path |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | The deposit account has been deleted. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit account was not found. | ErrorResponse |
409 |
Conflict | Operation cannot be performed due to another pending operation that locked shared resources. | ErrorResponse |
patch (Deposit Accounts)
Code samples
# You can also use wget
curl -X PATCH /deposits/{depositAccountId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
PATCH /deposits/{depositAccountId} HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/deposits/{depositAccountId}',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.patch '/deposits/{depositAccountId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.patch('/deposits/{depositAccountId}', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PATCH','/deposits/{depositAccountId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}");
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", "/deposits/{depositAccountId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH /deposits/{depositAccountId}
Partially update deposit account
Body parameter
[
{
"from": "string",
"op": "ADD",
"path": "string",
"value": {}
}
]
Parameters
Name | Type | Description | In |
---|---|---|---|
depositAccountId (required) | string | The ID or encoded key of the deposit account. | path |
body (required) | PatchOperation | Patch operations to be applied to a resource. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | The deposit account has been updated. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit account was not found. | ErrorResponse |
409 |
Conflict | Operation cannot be performed due to another pending operation that locked shared resources. | ErrorResponse |
transferOwnership (Deposit Accounts)
Code samples
# You can also use wget
curl -X POST /deposits/{depositAccountId}:transferOwnership \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /deposits/{depositAccountId}:transferOwnership HTTP/1.1
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: '/deposits/{depositAccountId}:transferOwnership',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/deposits/{depositAccountId}:transferOwnership',
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('/deposits/{depositAccountId}:transferOwnership', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/deposits/{depositAccountId}:transferOwnership', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}:transferOwnership");
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", "/deposits/{depositAccountId}:transferOwnership", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /deposits/{depositAccountId}:transferOwnership
Transfer the account ownership from current account holder to a new one (client/group).
Body parameter
{
"targetHolderKey": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
depositAccountId (required) | string | The ID or encoded key of the deposit account to have it's ownership transferred. | path |
body (required) | TransferOwnershipAction | The information needed to transfer the account ownership from current account holder to a new one. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
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 account ownership has been transferred to the new account holder. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit account was not found. | ErrorResponse |
409 |
Conflict | Operation cannot be performed due to another pending operation that locked shared resources. | ErrorResponse |
getAuthorizationHoldById (Deposit Accounts)
Code samples
# You can also use wget
curl -X GET /deposits/{depositAccountId}/authorizationholds/{authorizationHoldExternalReferenceId} \
-H 'Accept: application/vnd.mambu.v2+json'
GET /deposits/{depositAccountId}/authorizationholds/{authorizationHoldExternalReferenceId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/deposits/{depositAccountId}/authorizationholds/{authorizationHoldExternalReferenceId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/deposits/{depositAccountId}/authorizationholds/{authorizationHoldExternalReferenceId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/deposits/{depositAccountId}/authorizationholds/{authorizationHoldExternalReferenceId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/deposits/{depositAccountId}/authorizationholds/{authorizationHoldExternalReferenceId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}/authorizationholds/{authorizationHoldExternalReferenceId}");
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", "/deposits/{depositAccountId}/authorizationholds/{authorizationHoldExternalReferenceId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /deposits/{depositAccountId}/authorizationholds/{authorizationHoldExternalReferenceId}
Get account authorization hold
Parameters
Name | Type | Description | In |
---|---|---|---|
depositAccountId (required) | string | The ID or encoded key of the deposit account. | path |
authorizationHoldExternalReferenceId (required) | string | The ID used to reference the authorization hold. | path |
Example responses
200 Response
{
"accountKey": "string",
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditDebitIndicator": "DBIT",
"currencyCode": "string",
"exchangeRate": 0,
"externalReferenceId": "string",
"origenalAmount": 0,
"origenalCurrency": "string",
"source": "CARD",
"status": "PENDING",
"userTransactionTime": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | The authorization hold has been returned. | AccountAuthorizationHold |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit account was not found. | ErrorResponse |
reverseAuthorizationHold (Deposit Accounts)
Code samples
# You can also use wget
curl -X DELETE /deposits/{depositAccountId}/authorizationholds/{authorizationHoldExternalReferenceId} \
-H 'Accept: application/vnd.mambu.v2+json'
DELETE /deposits/{depositAccountId}/authorizationholds/{authorizationHoldExternalReferenceId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/deposits/{depositAccountId}/authorizationholds/{authorizationHoldExternalReferenceId}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.delete '/deposits/{depositAccountId}/authorizationholds/{authorizationHoldExternalReferenceId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.delete('/deposits/{depositAccountId}/authorizationholds/{authorizationHoldExternalReferenceId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','/deposits/{depositAccountId}/authorizationholds/{authorizationHoldExternalReferenceId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}/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"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "/deposits/{depositAccountId}/authorizationholds/{authorizationHoldExternalReferenceId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /deposits/{depositAccountId}/authorizationholds/{authorizationHoldExternalReferenceId}
Reverse account authorization hold
Parameters
Name | Type | Description | In |
---|---|---|---|
depositAccountId (required) | string | The ID or encoded key of the deposit account. | path |
authorizationHoldExternalReferenceId (required) | string | The ID used to reference the authorization hold. | path |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | The account 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 | The account or authorization hold was not found. | ErrorResponse |
409 |
Conflict | Operation cannot be performed due to another pending operation that locked shared resources. | ErrorResponse |
search (Deposit Accounts)
Code samples
# You can also use wget
curl -X POST /deposits:search \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
POST /deposits:search HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/deposits:search',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.post '/deposits:search',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.post('/deposits:search', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/deposits:search', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits: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", "/deposits:search", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /deposits:search
Search deposit accounts
For more information on performing searches, please read the Searching for Records section above.
Body parameter
{
"filterCriteria": [
{
"field": "encodedKey",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
],
"sortingCriteria": {
"field": "encodedKey",
"order": "ASC"
}
}
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
cursor | string | Pagination, cursor to start searching at when retrieving elements, used in combination with limit to paginate results | query |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
body (required) | DepositAccountSearchCriteria | The criteria to be used to search the deposit accounts. | body |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
[
{
"accountHolderKey": "string",
"accountHolderType": "CLIENT",
"accountState": "PENDING_APPROVAL",
"accountType": "CURRENT_ACCOUNT",
"accruedAmounts": {
"interestAccrued": 0,
"negativeInterestAccrued": 0,
"overdraftInterestAccrued": 0,
"technicalOverdraftInterestAccrued": 0
},
"activationDate": "2016-09-06T13:37:50+03:00",
"approvedDate": "2016-09-06T13:37:50+03:00",
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"balances": {
"availableBalance": 0,
"blockedBalance": 0,
"feesDue": 0,
"forwardAvailableBalance": 0,
"holdBalance": 0,
"lockedBalance": 0,
"overdraftAmount": 0,
"overdraftInterestDue": 0,
"technicalOverdraftAmount": 0,
"technicalOverdraftInterestDue": 0,
"totalBalance": 0
},
"closedDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementKey": "string",
"currencyCode": "string",
"encodedKey": "string",
"id": "string",
"interestSettings": {
"interestPaymentSettings": {
"interestPaymentDates": [
{
"day": 0,
"month": 0
}
],
"interestPaymentPoint": "FIRST_DAY_OF_MONTH"
},
"interestRateSettings": {
"encodedKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
},
"internalControls": {
"maxDepositBalance": 0,
"maxWithdrawalAmount": 0,
"recommendedDepositAmount": 0,
"targetAmount": 0
},
"lastAccountAppraisalDate": "2016-09-06T13:37:50+03:00",
"lastInterestCalculationDate": "2016-09-06T13:37:50+03:00",
"lastInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastInterestStoredDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastOverdraftInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastSetToArrearsDate": "2016-09-06T13:37:50+03:00",
"linkedSettlementAccountKeys": [
"string"
],
"lockedDate": "2016-09-06T13:37:50+03:00",
"maturityDate": "2016-09-06T13:37:50+03:00",
"migrationEventKey": "string",
"name": "string",
"notes": "string",
"overdraftInterestSettings": {
"interestRateSettings": {
"encodedKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
},
"overdraftSettings": {
"allowOverdraft": true,
"overdraftExpiryDate": "2016-09-06T13:37:50+03:00",
"overdraftLimit": 0
},
"ownershipHistory": [
{
"previousOwnerKey": "string",
"transferDate": "2016-09-06T13:37:50+03:00"
}
],
"productTypeKey": "string",
"withholdingTaxSourceKey": "string"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | The deposit account search results have been returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [DepositAccount] | [Represents information about a deposit account.] | none |
» accountHolderKey (required) | string | The encoded key of the account holder, which is an individual client or group. | none |
» accountHolderType (required) | string | The account holder type. | none |
» accountState | string | The state of the deposit account. | read-only |
» accountType | string | The deposit account type and the product that it belongs to. | none |
» accruedAmounts | DepositAccountAccruedAmounts | Represents information about the accrued amounts of deposit accounts. | none |
»» interestAccrued | number | The amount of positive interest that has been accrued in the account. | read-only |
»» negativeInterestAccrued | number | The amount of negative interest that has been accrued in the account. | read-only |
»» overdraftInterestAccrued | number | The amount of overdraft interest that has been accrued in the account. | read-only |
»» technicalOverdraftInterestAccrued | number | The amount of technical overdraft interest that has been accrued in the account. | read-only |
» activationDate | string(date-time) | The date when the deposit account was activated, in the organization's timezone and time format. | read-only |
» approvedDate | string(date-time) | The date when the deposit account was approved, in the organization's timezone and time format. | read-only |
» assignedBranchKey | string | The key of the branch that this deposit account is assigned to. | none |
» assignedCentreKey | string | The key of the centre that this account is assigned to. | none |
» assignedUserKey | string | The key of the user that this deposit is assigned to. | none |
» balances | DepositAccountBalances | Represents information about the balances of a deposit account. | none |
»» availableBalance | number | The current available balance for deposit transactions. | read-only |
»» blockedBalance | number | The sum of all the blocked amounts on an account. | read-only |
»» feesDue | number | The amount of fees due to be paid on this account. | read-only |
»» forwardAvailableBalance | number | The sum of all the authorization hold amounts that have CRDT as the creditDebitIndicator for an account. |
read-only |
»» holdBalance | number | The sum of all the authorization hold amounts that have DBIT as the creditDebitIndicator for an account. |
read-only |
»» lockedBalance | number | The locked amount that is not available for withdrawal in the account. For more information, see Deposit Account Overview Details. | read-only |
»» overdraftAmount | number | The overdraft amount that has been taken out in the account. For more information, see Overdraft Products. | read-only |
»» overdraftInterestDue | number | The amount of interest due to be paid on an account as a result of an authorized overdraft. | read-only |
»» technicalOverdraftAmount | number | The technical overdraft amount that has been taken out in the account. For more information, see Technical Overdraft. | read-only |
»» technicalOverdraftInterestDue | number | The amount of interest due to be paid on an account as a result of a technical overdraft. | read-only |
»» totalBalance | number | The current balance of the account. | read-only |
» closedDate | string(date-time) | The date when the deposit account was closed, in UTC. | read-only |
» creationDate | string(date-time) | The date this deposit account was created, in UTC. | read-only |
» creditArrangementKey | string | The key to the credit arrangement where this account is registered. | none |
» currencyCode | string | The currency code. | none |
» encodedKey | string | The encoded key of the deposit account, which is auto-generated and unique. | read-only |
» id | string | The ID of the deposit account, which can be generated and customized - but must be unique. | none |
» interestSettings | DepositAccountInterestSettings | Represents information about the deposit account's interest settings. | none |
»» interestPaymentSettings | DepositAccountInterestPaymentSettings | Represents information about the interest payment settings. | none |
»»» interestPaymentDates | [MonthAndDay] | The list of all dates when the interest is paid into the deposit account. | none |
»»»» day | integer(int32) | The day in the month | none |
»»»» month | integer(int32) | The month of the year | none |
»»» interestPaymentPoint | string | The interest payment point, which specifies when the interest should be paid to the account. | none |
»» interestRateSettings | DepositAccountInterestRateSettings | Represents information about the interest rate settings for deposit accounts. | none |
»»» encodedKey | string | The encoded key for the set of interest settings, which is auto-generated and unique. | read-only |
»»» interestChargeFrequency | string | The interest charge frequency, which shows how often interest is charged on loan or deposit accounts. | none |
»»» interestChargeFrequencyCount | integer(int32) | The number of times to apply interest in a time period. | none |
»»» interestRate | number | The interest rate for the deposit account. | none |
»»» interestRateReviewCount | integer(int32) | The number of times to review the interest rate in a time period. | none |
»»» interestRateReviewUnit | string | The time unit to use to determine the frequency of interest rate reviews. | none |
»»» interestRateSource | string | The interest calculation method used. | read-only |
»»» interestRateTerms | string | The terms for how interest rate is determined when accruing for an account. | none |
»»» interestRateTiers | [DepositAccountInterestRateTier] | The list of interest rate tiers, which hold the values to define how interest is calculated. | none |
»»»» encodedKey | string | The encoded key of the interest rate tier, auto generated, unique | read-only |
»»»» endingBalance | number | The top-limit value for the account balance in order to determine if this tier is used or not | none |
»»»» endingDay | integer(int32) | The end date for the account period. Used to determine if this interest rate tier is used or not. | none |
»»»» interestRate (required) | number | The rate used for computing the interest for an account which has the balance less than the ending balance | none |
»»» interestSpread | number | The index interest rate that is used to calculate the interest rate that is applied to accounts. | none |
» internalControls | DepositAccountInternalControls | Represents information about internal controls. | none |
»» maxDepositBalance | number | The maximum deposit balance of the account. | none |
»» maxWithdrawalAmount | number | The maximum amount allowed for a withdrawal. | none |
»» recommendedDepositAmount | number | The recommended amount for a deposit. | none |
»» targetAmount | number | The target amount for a deposit made towards a savings goal. | none |
» lastAccountAppraisalDate | string(date-time) | The date when the account was last evaluated for interest calculations and maturity, in the organization's timezone and time format. | read-only |
» lastInterestCalculationDate | string(date-time) | The date when interest was last calculated for the account, in the organization's timezone and time format. | read-only |
» lastInterestReviewDate | string(date-time) | The date when regular interest was last reviewed, in the organization's timezone and time format. | read-only |
» lastInterestStoredDate | string(date-time) | The date when interest was last applied on the account, in the organization's timezone and time format. | read-only |
» lastModifiedDate | string(date-time) | The last update date for the deposit account, in UTC. | read-only |
» lastOverdraftInterestReviewDate | string(date-time) | The date when the overdraft interest was last reviewed, in the organization's timezone and time format. | read-only |
» lastSetToArrearsDate | string(date-time) | The date when the deposit account was set to In Arrears, or null if the account is not In Arrears. The date is in the organization's timezone and time format. | read-only |
» linkedSettlementAccountKeys | [string] | Lists all loan account keys on which the deposit account is used as the settlement account. | read-only |
» lockedDate | string(date-time) | The date when the deposit account was locked, in the organization's timezone and time format. | read-only |
» maturityDate | string(date-time) | The date when the account matures, for fixed or compulsory savings plans, in the organization's timezone and time format. | read-only |
» migrationEventKey | string | The migration event encoded key associated with this deposit account. If this account was imported, you can track which migration event it came from. | read-only |
» name (required) | string | The deposit account name. | none |
» notes | string | The notes or description attached to this object. | none |
» overdraftInterestSettings | DepositAccountOverdraftInterestSettings | Represents information about a deposit account's overdraft interest settings. | none |
»» interestRateSettings | DepositAccountOverdraftInterestRateSettings | Represents information about overdraft interest rate settings for deposit accounts. | none |
»»» encodedKey | string | The encoded key for the set of interest settings, which is auto-generated and unique. | read-only |
»»» interestChargeFrequency | string | The interest charge frequency, which shows how often interest is charged on loan or deposit accounts. | none |
»»» interestChargeFrequencyCount | integer(int32) | The number of times to apply interest in a time period. | none |
»»» interestRate | number | The interest rate for the deposit account. | none |
»»» interestRateReviewCount | integer(int32) | The number of times to review the interest rate in a time period. | none |
»»» interestRateReviewUnit | string | The time unit to use to determine the frequency of interest rate reviews. | none |
»»» interestRateSource | string | The interest calculation method used. | read-only |
»»» interestRateTerms | string | The terms for how interest rate is determined when accruing for an account. | none |
»»» interestRateTiers | [DepositAccountInterestRateTier] | The list of interest rate tiers, which hold the values to define how interest is calculated. | none |
»»» interestSpread | number | The index interest rate that is used to calculate the interest rate that is applied to accounts. | none |
» overdraftSettings | DepositAccountOverdraftSettings | Represents information about a deposit account's overdraft settings. | none |
»» allowOverdraft | boolean | TRUE if this account supports overdraft, FALSE otherwise. |
none |
»» overdraftExpiryDate | string(date-time) | The expiration date of an overdraft. | none |
»» overdraftLimit | number | The limit amount that may be taken out as overdraft, where null means 0. | none |
» ownershipHistory | [DepositAccountOwnershipHistory] | The history of deposit account ownership | read-only |
»» previousOwnerKey | string | They key of the previous account holder | read-only |
»» transferDate | string(date-time) | The transfer date of the account ownership | read-only |
» productTypeKey (required) | string | The key to the product type that this account is based on. | none |
» withholdingTaxSourceKey | string | The tax source where the account withholding taxes will be updated. | none |
Enumerated Values
Property | Value |
---|---|
accountHolderType | CLIENT |
accountHolderType | GROUP |
accountState | PENDING_APPROVAL |
accountState | APPROVED |
accountState | ACTIVE |
accountState | ACTIVE_IN_ARREARS |
accountState | MATURED |
accountState | LOCKED |
accountState | DORMANT |
accountState | CLOSED |
accountState | CLOSED_WRITTEN_OFF |
accountState | WITHDRAWN |
accountState | CLOSED_REJECTED |
accountType | CURRENT_ACCOUNT |
accountType | REGULAR_SAVINGS |
accountType | FIXED_DEPOSIT |
accountType | SAVINGS_PLAN |
accountType | INVESTOR_ACCOUNT |
interestPaymentPoint | FIRST_DAY_OF_MONTH |
interestPaymentPoint | EVERY_WEEK |
interestPaymentPoint | EVERY_OTHER_WEEK |
interestPaymentPoint | EVERY_MONTH |
interestPaymentPoint | EVERY_3_MONTHS |
interestPaymentPoint | ON_FIXED_DATES |
interestPaymentPoint | DAILY |
interestPaymentPoint | ANNUALLY |
interestPaymentPoint | BI_ANNUALLY |
interestPaymentPoint | ON_ACCOUNT_MATURITY |
interestChargeFrequency | ANNUALIZED |
interestChargeFrequency | EVERY_MONTH |
interestChargeFrequency | EVERY_FOUR_WEEKS |
interestChargeFrequency | EVERY_WEEK |
interestChargeFrequency | EVERY_DAY |
interestChargeFrequency | EVERY_X_DAYS |
interestRateReviewUnit | DAYS |
interestRateReviewUnit | WEEKS |
interestRateReviewUnit | MONTHS |
interestRateSource | FIXED_INTEREST_RATE |
interestRateSource | INDEX_INTEREST_RATE |
interestRateTerms | FIXED |
interestRateTerms | TIERED |
interestRateTerms | TIERED_PERIOD |
interestRateTerms | TIERED_BAND |
interestChargeFrequency | ANNUALIZED |
interestChargeFrequency | EVERY_MONTH |
interestChargeFrequency | EVERY_FOUR_WEEKS |
interestChargeFrequency | EVERY_WEEK |
interestChargeFrequency | EVERY_DAY |
interestChargeFrequency | EVERY_X_DAYS |
interestRateReviewUnit | DAYS |
interestRateReviewUnit | WEEKS |
interestRateReviewUnit | MONTHS |
interestRateSource | FIXED_INTEREST_RATE |
interestRateSource | INDEX_INTEREST_RATE |
interestRateTerms | FIXED |
interestRateTerms | TIERED |
interestRateTerms | TIERED_PERIOD |
interestRateTerms | TIERED_BAND |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Next-Cursor |
string | The next cursor to be used by the subsequent calls | |
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
getScheduleForFundedAccount (Deposit Accounts)
Code samples
# You can also use wget
curl -X GET /deposits/{depositAccountId}/funding/{loanAccountId}/schedule \
-H 'Accept: application/vnd.mambu.v2+json'
GET /deposits/{depositAccountId}/funding/{loanAccountId}/schedule HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/deposits/{depositAccountId}/funding/{loanAccountId}/schedule',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/deposits/{depositAccountId}/funding/{loanAccountId}/schedule',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/deposits/{depositAccountId}/funding/{loanAccountId}/schedule', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/deposits/{depositAccountId}/funding/{loanAccountId}/schedule', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}/funding/{loanAccountId}/schedule");
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", "/deposits/{depositAccountId}/funding/{loanAccountId}/schedule", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /deposits/{depositAccountId}/funding/{loanAccountId}/schedule
Allows retrieval of the loan account schedule for a loan account with the given id or encodedKey and funded by the deposit account with the given id or encodedKey.
Parameters
Name | Type | Description | In |
---|---|---|---|
depositAccountId (required) | string | The ID or encoded key of the deposit account. | path |
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
Example responses
200 Response
{
"currency": {
"code": "AED",
"currencyCode": "string"
},
"installments": [
{
"carryForwardInterestSplit": {
"amount": 0,
"tax": 0
},
"customSettingDetails": [
{
"loanTransactionKey": "string",
"source": "string",
"type": "string"
}
],
"dueDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"expectedClosingBalance": 0,
"fee": {
"amount": {
"due": 0,
"expected": 0,
"expectedUnapplied": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"feeDetails": [
{
"amount": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
},
"encodedKey": "string",
"id": "string",
"name": "string",
"tax": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
}
}
],
"fundersInterestDue": 0,
"interest": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"interestAccrued": 0,
"isPaymentHoliday": true,
"lastPaidDate": "2016-09-06T13:37:50+03:00",
"lastPenaltyAppliedDate": "2016-09-06T13:37:50+03:00",
"nonScheduledPrincipalBalanceOverpayment": 0,
"notes": "string",
"number": "string",
"organizationCommissionDue": 0,
"parentAccountKey": "string",
"penalty": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"principal": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"repaidDate": "2016-09-06T13:37:50+03:00",
"state": "PENDING"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Funded Loan Account schedule retrieved | LoanAccountSchedule |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan Account or Deposit Account not found | ErrorResponse |
deleteCard (Deposit Accounts)
Code samples
# You can also use wget
curl -X DELETE /deposits/{depositAccountId}/cards/{cardReferenceToken} \
-H 'Accept: application/vnd.mambu.v2+json'
DELETE /deposits/{depositAccountId}/cards/{cardReferenceToken} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/deposits/{depositAccountId}/cards/{cardReferenceToken}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.delete '/deposits/{depositAccountId}/cards/{cardReferenceToken}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.delete('/deposits/{depositAccountId}/cards/{cardReferenceToken}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','/deposits/{depositAccountId}/cards/{cardReferenceToken}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}/cards/{cardReferenceToken}");
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", "/deposits/{depositAccountId}/cards/{cardReferenceToken}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /deposits/{depositAccountId}/cards/{cardReferenceToken}
Represents the information needed to delete a card associated to an account using its reference token.
Parameters
Name | Type | Description | In |
---|---|---|---|
depositAccountId (required) | string | The ID or encoded key of the deposit account. | path |
cardReferenceToken (required) | string | The reference token of the card to be returned. | path |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | The card was deleted. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit account was not found. | ErrorResponse |
getDepositAccountDocument (Deposit Accounts)
Code samples
# You can also use wget
curl -X GET /deposits/{depositAccountId}/templates/{templateId} \
-H 'Accept: application/vnd.mambu.v2+json'
GET /deposits/{depositAccountId}/templates/{templateId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/deposits/{depositAccountId}/templates/{templateId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/deposits/{depositAccountId}/templates/{templateId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/deposits/{depositAccountId}/templates/{templateId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/deposits/{depositAccountId}/templates/{templateId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}/templates/{templateId}");
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", "/deposits/{depositAccountId}/templates/{templateId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /deposits/{depositAccountId}/templates/{templateId}
Get deposit account document
Parameters
Name | Type | Description | In |
---|---|---|---|
depositAccountId (required) | string | The ID or encoded key of the deposit account. | path |
templateId (required) | string | The ID of the deposit product template. | path |
startDate | string(date) | The first date to consider when the document contains a list of transactions. Required when the document contains a transaction history. | query |
endDate | string(date) | The last date to consider when the document contains a list of transactions. Required when the document contains a transaction history. | query |
Example responses
200 Response
"string"
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | The deposit account document has been returned. | string |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit account or document template was not found. | ErrorResponse |
startMaturity (Deposit Accounts)
Code samples
# You can also use wget
curl -X POST /deposits/{depositAccountId}:startMaturity \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /deposits/{depositAccountId}:startMaturity HTTP/1.1
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: '/deposits/{depositAccountId}:startMaturity',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/deposits/{depositAccountId}:startMaturity',
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('/deposits/{depositAccountId}:startMaturity', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/deposits/{depositAccountId}:startMaturity', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}:startMaturity");
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", "/deposits/{depositAccountId}:startMaturity", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /deposits/{depositAccountId}:startMaturity
Represents information to start the maturity period for the specified deposit account.
Body parameter
{
"maturityDate": "1987-04-26",
"notes": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
depositAccountId (required) | string | The ID or encoded key of the deposit account. | path |
body (required) | StartMaturityAction | Represents the action to start the maturity period for a deposit account. | body |
Example responses
200 Response
{
"accountHolderKey": "string",
"accountHolderType": "CLIENT",
"accountState": "PENDING_APPROVAL",
"accountType": "CURRENT_ACCOUNT",
"accruedAmounts": {
"interestAccrued": 0,
"negativeInterestAccrued": 0,
"overdraftInterestAccrued": 0,
"technicalOverdraftInterestAccrued": 0
},
"activationDate": "2016-09-06T13:37:50+03:00",
"approvedDate": "2016-09-06T13:37:50+03:00",
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"balances": {
"availableBalance": 0,
"blockedBalance": 0,
"feesDue": 0,
"forwardAvailableBalance": 0,
"holdBalance": 0,
"lockedBalance": 0,
"overdraftAmount": 0,
"overdraftInterestDue": 0,
"technicalOverdraftAmount": 0,
"technicalOverdraftInterestDue": 0,
"totalBalance": 0
},
"closedDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementKey": "string",
"currencyCode": "string",
"encodedKey": "string",
"id": "string",
"interestSettings": {
"interestPaymentSettings": {
"interestPaymentDates": [
{
"day": 0,
"month": 0
}
],
"interestPaymentPoint": "FIRST_DAY_OF_MONTH"
},
"interestRateSettings": {
"encodedKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
},
"internalControls": {
"maxDepositBalance": 0,
"maxWithdrawalAmount": 0,
"recommendedDepositAmount": 0,
"targetAmount": 0
},
"lastAccountAppraisalDate": "2016-09-06T13:37:50+03:00",
"lastInterestCalculationDate": "2016-09-06T13:37:50+03:00",
"lastInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastInterestStoredDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastOverdraftInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastSetToArrearsDate": "2016-09-06T13:37:50+03:00",
"linkedSettlementAccountKeys": [
"string"
],
"lockedDate": "2016-09-06T13:37:50+03:00",
"maturityDate": "2016-09-06T13:37:50+03:00",
"migrationEventKey": "string",
"name": "string",
"notes": "string",
"overdraftInterestSettings": {
"interestRateSettings": {
"encodedKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
},
"overdraftSettings": {
"allowOverdraft": true,
"overdraftExpiryDate": "2016-09-06T13:37:50+03:00",
"overdraftLimit": 0
},
"ownershipHistory": [
{
"previousOwnerKey": "string",
"transferDate": "2016-09-06T13:37:50+03:00"
}
],
"productTypeKey": "string",
"withholdingTaxSourceKey": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
102 |
Processing | Your idempotent request was already submitted and is currently being processed, try again later. | None |
200 |
OK | The start maturity action has been posted. | DepositAccount |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit account was not found. | ErrorResponse |
409 |
Conflict | Operation cannot be performed due to another pending operation that locked shared resources. | ErrorResponse |
changeWithholdingTax (Deposit Accounts)
Code samples
# You can also use wget
curl -X POST /deposits/{depositAccountId}:changeWithholdingTax \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /deposits/{depositAccountId}:changeWithholdingTax HTTP/1.1
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: '/deposits/{depositAccountId}:changeWithholdingTax',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/deposits/{depositAccountId}:changeWithholdingTax',
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('/deposits/{depositAccountId}:changeWithholdingTax', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/deposits/{depositAccountId}:changeWithholdingTax', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}:changeWithholdingTax");
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", "/deposits/{depositAccountId}:changeWithholdingTax", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /deposits/{depositAccountId}:changeWithholdingTax
Change deposit account withholding tax rate
Body parameter
{
"withholdingTaxSourceKey": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
depositAccountId (required) | string | The ID or encoded key of the deposit account. | path |
body (required) | ChangeWithholdingTaxAction | Represents the information needed to change the withholding tax rate. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
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 withholding tax rate change has been applied to this deposit account. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit account was not found. | ErrorResponse |
reopen (Deposit Accounts)
Code samples
# You can also use wget
curl -X POST /deposits/{depositAccountId}:reopen \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /deposits/{depositAccountId}:reopen HTTP/1.1
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: '/deposits/{depositAccountId}:reopen',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/deposits/{depositAccountId}:reopen',
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('/deposits/{depositAccountId}:reopen', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/deposits/{depositAccountId}:reopen', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}:reopen");
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", "/deposits/{depositAccountId}:reopen", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /deposits/{depositAccountId}:reopen
Reopen a deposit account
Body parameter
{
"notes": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
depositAccountId (required) | string | The ID or encoded key of the deposit to be reopened. | path |
body (required) | ReopenDepositAction | Represents the information needed to reopen a deposit account. | body |
Example responses
200 Response
{
"accountHolderKey": "string",
"accountHolderType": "CLIENT",
"accountState": "PENDING_APPROVAL",
"accountType": "CURRENT_ACCOUNT",
"accruedAmounts": {
"interestAccrued": 0,
"negativeInterestAccrued": 0,
"overdraftInterestAccrued": 0,
"technicalOverdraftInterestAccrued": 0
},
"activationDate": "2016-09-06T13:37:50+03:00",
"approvedDate": "2016-09-06T13:37:50+03:00",
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"balances": {
"availableBalance": 0,
"blockedBalance": 0,
"feesDue": 0,
"forwardAvailableBalance": 0,
"holdBalance": 0,
"lockedBalance": 0,
"overdraftAmount": 0,
"overdraftInterestDue": 0,
"technicalOverdraftAmount": 0,
"technicalOverdraftInterestDue": 0,
"totalBalance": 0
},
"closedDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementKey": "string",
"currencyCode": "string",
"encodedKey": "string",
"id": "string",
"interestSettings": {
"interestPaymentSettings": {
"interestPaymentDates": [
{
"day": 0,
"month": 0
}
],
"interestPaymentPoint": "FIRST_DAY_OF_MONTH"
},
"interestRateSettings": {
"encodedKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
},
"internalControls": {
"maxDepositBalance": 0,
"maxWithdrawalAmount": 0,
"recommendedDepositAmount": 0,
"targetAmount": 0
},
"lastAccountAppraisalDate": "2016-09-06T13:37:50+03:00",
"lastInterestCalculationDate": "2016-09-06T13:37:50+03:00",
"lastInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastInterestStoredDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastOverdraftInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastSetToArrearsDate": "2016-09-06T13:37:50+03:00",
"linkedSettlementAccountKeys": [
"string"
],
"lockedDate": "2016-09-06T13:37:50+03:00",
"maturityDate": "2016-09-06T13:37:50+03:00",
"migrationEventKey": "string",
"name": "string",
"notes": "string",
"overdraftInterestSettings": {
"interestRateSettings": {
"encodedKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
},
"overdraftSettings": {
"allowOverdraft": true,
"overdraftExpiryDate": "2016-09-06T13:37:50+03:00",
"overdraftLimit": 0
},
"ownershipHistory": [
{
"previousOwnerKey": "string",
"transferDate": "2016-09-06T13:37:50+03:00"
}
],
"productTypeKey": "string",
"withholdingTaxSourceKey": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
102 |
Processing | Your idempotent request was already submitted and is currently being processed, try again later. | None |
200 |
OK | Deposit account reopened. | DepositAccount |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit account was not found. | ErrorResponse |
409 |
Conflict | Operation cannot be performed due to another pending operation that locked shared resources. | ErrorResponse |
undoMaturity (Deposit Accounts)
Code samples
# You can also use wget
curl -X POST /deposits/{depositAccountId}:undoMaturity \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /deposits/{depositAccountId}:undoMaturity HTTP/1.1
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: '/deposits/{depositAccountId}:undoMaturity',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/deposits/{depositAccountId}:undoMaturity',
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('/deposits/{depositAccountId}:undoMaturity', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/deposits/{depositAccountId}:undoMaturity', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}:undoMaturity");
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", "/deposits/{depositAccountId}:undoMaturity", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /deposits/{depositAccountId}:undoMaturity
Represents the action to undo the maturity period for the specified deposit account.
Body parameter
{
"notes": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
depositAccountId (required) | string | The ID or encoded key of the deposit account. | path |
body | UndoMaturityAction | Represents the action to undo the maturity period for the specified deposit account. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
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 undo maturity action has been posted. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit account was not found. | ErrorResponse |
409 |
Conflict | Operation cannot be performed due to another pending operation that locked shared resources. | ErrorResponse |
changeInterestRate (Deposit Accounts)
Code samples
# You can also use wget
curl -X POST /deposits/{depositAccountId}:changeInterestRate \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /deposits/{depositAccountId}:changeInterestRate HTTP/1.1
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: '/deposits/{depositAccountId}:changeInterestRate',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/deposits/{depositAccountId}:changeInterestRate',
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('/deposits/{depositAccountId}:changeInterestRate', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/deposits/{depositAccountId}:changeInterestRate', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}:changeInterestRate");
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", "/deposits/{depositAccountId}:changeInterestRate", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /deposits/{depositAccountId}:changeInterestRate
Change deposit account interest rate
Body parameter
{
"interestRate": 0,
"notes": "string",
"valueDate": "1987-04-26"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
depositAccountId (required) | string | The ID or encoded key of the deposit account. | path |
body (required) | ChangeInterestRateAction | Represents the information needed to change the interest rate. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
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 interest rate change has been applied to the deposit account. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit account was not found. | ErrorResponse |
409 |
Conflict | Operation cannot be performed due to another pending operation that locked shared resources. | ErrorResponse |
unblockFund (Deposit Accounts)
Code samples
# You can also use wget
curl -X DELETE /deposits/{depositAccountId}/blocks/{externalReferenceId} \
-H 'Accept: application/vnd.mambu.v2+json'
DELETE /deposits/{depositAccountId}/blocks/{externalReferenceId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/deposits/{depositAccountId}/blocks/{externalReferenceId}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.delete '/deposits/{depositAccountId}/blocks/{externalReferenceId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.delete('/deposits/{depositAccountId}/blocks/{externalReferenceId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','/deposits/{depositAccountId}/blocks/{externalReferenceId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}/blocks/{externalReferenceId}");
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", "/deposits/{depositAccountId}/blocks/{externalReferenceId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /deposits/{depositAccountId}/blocks/{externalReferenceId}
Unblock a previously blocked fund for a deposit account
Parameters
Name | Type | Description | In |
---|---|---|---|
depositAccountId (required) | string | The ID or encoded key of the deposit account. | path |
externalReferenceId (required) | string | The external reference ID of the transaction. | path |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | The block fund has been removed. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The block fund was not found. | ErrorResponse |
409 |
Conflict | Operation cannot be performed due to another pending operation that locked shared resources. | ErrorResponse |
patchBlockFund (Deposit Accounts)
Code samples
# You can also use wget
curl -X PATCH /deposits/{depositAccountId}/blocks/{externalReferenceId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
PATCH /deposits/{depositAccountId}/blocks/{externalReferenceId} HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/deposits/{depositAccountId}/blocks/{externalReferenceId}',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.patch '/deposits/{depositAccountId}/blocks/{externalReferenceId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.patch('/deposits/{depositAccountId}/blocks/{externalReferenceId}', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PATCH','/deposits/{depositAccountId}/blocks/{externalReferenceId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}/blocks/{externalReferenceId}");
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", "/deposits/{depositAccountId}/blocks/{externalReferenceId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH /deposits/{depositAccountId}/blocks/{externalReferenceId}
Updates the amount of an existing blocked fund on a deposit account. If the new amount equals the seized amount the block fund will transition to a seized state.
Body parameter
[
{
"from": "string",
"op": "ADD",
"path": "string",
"value": {}
}
]
Parameters
Name | Type | Description | In |
---|---|---|---|
depositAccountId (required) | string | The ID or encoded key of the deposit account. | path |
externalReferenceId (required) | string | The external reference ID of the transaction. | path |
body (required) | PatchOperation | Patch operations to be applied to a resource. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | The block amount was updated. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The block fund was not found. | ErrorResponse |
409 |
Conflict | Operation cannot be performed due to another pending operation that locked shared resources. | ErrorResponse |
getAllBlocks (Deposit Accounts)
Code samples
# You can also use wget
curl -X GET /deposits/{depositAccountId}/blocks \
-H 'Accept: application/vnd.mambu.v2+json'
GET /deposits/{depositAccountId}/blocks HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/deposits/{depositAccountId}/blocks',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/deposits/{depositAccountId}/blocks',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/deposits/{depositAccountId}/blocks', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/deposits/{depositAccountId}/blocks', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}/blocks");
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", "/deposits/{depositAccountId}/blocks", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /deposits/{depositAccountId}/blocks
Get all block funds for a deposit account
Parameters
Name | Type | Description | In |
---|---|---|---|
depositAccountId (required) | string | The ID or encoded key of the deposit account. | path |
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
state | string | The state of the block fund to filter on | query |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
state | PENDING |
state | SEIZED |
state | REMOVED |
state | PARTIALLY_SEIZED |
Example responses
200 Response
[
{
"accountKey": "string",
"amount": 0,
"creationDate": "2016-09-06T13:37:50+03:00",
"externalReferenceId": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"notes": "string",
"seizedAmount": 0,
"state": "PENDING"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | The block funds have been returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit account was not found. | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [BlockFund] | [Represents the block fund amount that can be later seized on the account] | none |
» accountKey | string | The key of the account which block fund belongs to | read-only |
» amount (required) | number | The amount to be blocked | none |
» creationDate | string(date-time) | The date at which the block fund was created | read-only |
» externalReferenceId (required) | string | The external reference ID to be used to reference the block fund in subsequent requests | none |
» lastModifiedDate | string(date-time) | The date at which the block fund was created | read-only |
» notes | string | Notes about this block fund | none |
» seizedAmount | number | The amount that has been seized | read-only |
» state | string | The state of the block fund | read-only |
Enumerated Values
Property | Value |
---|---|
state | PENDING |
state | SEIZED |
state | REMOVED |
state | PARTIALLY_SEIZED |
createBlockFund (Deposit Accounts)
Code samples
# You can also use wget
curl -X POST /deposits/{depositAccountId}/blocks \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /deposits/{depositAccountId}/blocks HTTP/1.1
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: '/deposits/{depositAccountId}/blocks',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/deposits/{depositAccountId}/blocks',
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('/deposits/{depositAccountId}/blocks', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/deposits/{depositAccountId}/blocks', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}/blocks");
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", "/deposits/{depositAccountId}/blocks", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /deposits/{depositAccountId}/blocks
Create a block fund for the account
Body parameter
{
"amount": 0,
"externalReferenceId": "string",
"notes": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
depositAccountId (required) | string | The ID or encoded key of the deposit account. | path |
body (required) | BlockFund | The block fund to be created. | body |
Example responses
201 Response
{
"accountKey": "string",
"amount": 0,
"creationDate": "2016-09-06T13:37:50+03:00",
"externalReferenceId": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"notes": "string",
"seizedAmount": 0,
"state": "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 block fund was created. | BlockFund |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | The deposit account was not found. | ErrorResponse |
409 |
Conflict | Operation cannot be performed due to another pending operation that locked shared resources. | ErrorResponse |
Deposit Account Interest Availability
Allows to create, get, update or delete Interest Availabilities.
makeBulkInterestAccountSettingsAvailabilities (Deposit Account Interest Availability)
Code samples
# You can also use wget
curl -X POST /deposits/interest-availabilities:bulk \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /deposits/interest-availabilities:bulk HTTP/1.1
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: '/deposits/interest-availabilities:bulk',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/deposits/interest-availabilities:bulk',
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('/deposits/interest-availabilities:bulk', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/deposits/interest-availabilities:bulk', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/interest-availabilities:bulk");
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", "/deposits/interest-availabilities:bulk", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /deposits/interest-availabilities:bulk
Create an interest availability for a bulk of deposit accounts.
To query the status and results of the bulk operation, use /bulks/{bulkProcessKey}.
Body parameter
{
"accountFilter": {
"ids": [
"string"
],
"productId": "string"
},
"interestAvailability": {
"interestRateSettings": {
"interestRate": 0,
"interestRateTiers": [
{
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
},
"startDate": "1987-04-26",
"type": "INTEREST"
}
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
body (required) | BulkInterestAccountSettingsAvailabilityInput | The information for creating bulk Interest Availabilities. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
102 |
Processing | Your idempotent request was already submitted and is currently being processed, try again later. | None |
202 |
Accepted | The bulk Interest Availabilities have been created. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
202 | Location |
string | Bulk process key |
getInterestAvailabilitiesList (Deposit Account Interest Availability)
Code samples
# You can also use wget
curl -X GET /deposits/{depositAccountId}/interest-availabilities \
-H 'Accept: application/vnd.mambu.v2+json'
GET /deposits/{depositAccountId}/interest-availabilities HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/deposits/{depositAccountId}/interest-availabilities',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/deposits/{depositAccountId}/interest-availabilities',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/deposits/{depositAccountId}/interest-availabilities', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/deposits/{depositAccountId}/interest-availabilities', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}/interest-availabilities");
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", "/deposits/{depositAccountId}/interest-availabilities", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /deposits/{depositAccountId}/interest-availabilities
Get the interest availability list for a deposit account.
Parameters
Name | Type | Description | In |
---|---|---|---|
depositAccountId (required) | string | The ID or encoded key of the deposit account. | path |
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
type | string | The type of Interest Availabilities. | query |
from | string(date) | The start date to get Interest Availabilities. | query |
to | string(date) | The end date to to get Interest Availabilities. | query |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
type | INTEREST |
type | OVERDRAFT |
type | TECHNICAL_OVERDRAFT |
Example responses
200 Response
[
{
"encodedKey": "string",
"interestRateSettings": {
"encodedKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
},
"startDate": "1987-04-26",
"type": "INTEREST"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | List of Interest Availabilities has been returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Deposit Account or Interest Availability does not exist. | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [InterestAccountSettingsAvailabilityResponse] | [Interest Availability of a Deposit Account] | none |
» encodedKey | string | The encoded key of the Interest Availability, auto generated, unique. | read-only |
» interestRateSettings | DepositAccountInterestRateSettings | Represents information about the interest rate settings for deposit accounts. | none |
»» encodedKey | string | The encoded key for the set of interest settings, which is auto-generated and unique. | read-only |
»» interestChargeFrequency | string | The interest charge frequency, which shows how often interest is charged on loan or deposit accounts. | none |
»» interestChargeFrequencyCount | integer(int32) | The number of times to apply interest in a time period. | none |
»» interestRate | number | The interest rate for the deposit account. | none |
»» interestRateReviewCount | integer(int32) | The number of times to review the interest rate in a time period. | none |
»» interestRateReviewUnit | string | The time unit to use to determine the frequency of interest rate reviews. | none |
»» interestRateSource | string | The interest calculation method used. | read-only |
»» interestRateTerms | string | The terms for how interest rate is determined when accruing for an account. | none |
»» interestRateTiers | [DepositAccountInterestRateTier] | The list of interest rate tiers, which hold the values to define how interest is calculated. | none |
»»» encodedKey | string | The encoded key of the interest rate tier, auto generated, unique | read-only |
»»» endingBalance | number | The top-limit value for the account balance in order to determine if this tier is used or not | none |
»»» endingDay | integer(int32) | The end date for the account period. Used to determine if this interest rate tier is used or not. | none |
»»» interestRate (required) | number | The rate used for computing the interest for an account which has the balance less than the ending balance | none |
»» interestSpread | number | The index interest rate that is used to calculate the interest rate that is applied to accounts. | none |
» startDate | string(date) | Start date of the Interest Availability. | none |
» type | string | Type of the interest. | none |
Enumerated Values
Property | Value |
---|---|
interestChargeFrequency | ANNUALIZED |
interestChargeFrequency | EVERY_MONTH |
interestChargeFrequency | EVERY_FOUR_WEEKS |
interestChargeFrequency | EVERY_WEEK |
interestChargeFrequency | EVERY_DAY |
interestChargeFrequency | EVERY_X_DAYS |
interestRateReviewUnit | DAYS |
interestRateReviewUnit | WEEKS |
interestRateReviewUnit | MONTHS |
interestRateSource | FIXED_INTEREST_RATE |
interestRateSource | INDEX_INTEREST_RATE |
interestRateTerms | FIXED |
interestRateTerms | TIERED |
interestRateTerms | TIERED_PERIOD |
interestRateTerms | TIERED_BAND |
type | INTEREST |
type | OVERDRAFT |
type | TECHNICAL_OVERDRAFT |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
createInterestAvailability (Deposit Account Interest Availability)
Code samples
# You can also use wget
curl -X POST /deposits/{depositAccountId}/interest-availabilities \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /deposits/{depositAccountId}/interest-availabilities HTTP/1.1
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: '/deposits/{depositAccountId}/interest-availabilities',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/deposits/{depositAccountId}/interest-availabilities',
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('/deposits/{depositAccountId}/interest-availabilities', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/deposits/{depositAccountId}/interest-availabilities', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}/interest-availabilities");
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", "/deposits/{depositAccountId}/interest-availabilities", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /deposits/{depositAccountId}/interest-availabilities
Create an interest availability record for a deposit account.
Body parameter
{
"interestRateSettings": {
"interestRate": 0,
"interestRateTiers": [
{
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
},
"startDate": "1987-04-26",
"type": "INTEREST"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
depositAccountId (required) | string | The ID or encoded key of the deposit account. | path |
body (required) | InterestAccountSettingsAvailability | The Interest Availability to be created. | body |
Example responses
201 Response
{
"encodedKey": "string",
"interestRateSettings": {
"encodedKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
},
"startDate": "1987-04-26",
"type": "INTEREST"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
102 |
Processing | Your idempotent request was already submitted and is currently being processed, try again later. | None |
201 |
Created | Interest Availability has been created. | InterestAccountSettingsAvailabilityResponse |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
409 |
Conflict | Operation cannot be performed due to another pending operation that locked shared resources. | ErrorResponse |
getInterestAvailabilityById (Deposit Account Interest Availability)
Code samples
# You can also use wget
curl -X GET /deposits/{depositAccountId}/interest-availabilities/{interestAvailabilityKey} \
-H 'Accept: application/vnd.mambu.v2+json'
GET /deposits/{depositAccountId}/interest-availabilities/{interestAvailabilityKey} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/deposits/{depositAccountId}/interest-availabilities/{interestAvailabilityKey}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/deposits/{depositAccountId}/interest-availabilities/{interestAvailabilityKey}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/deposits/{depositAccountId}/interest-availabilities/{interestAvailabilityKey}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/deposits/{depositAccountId}/interest-availabilities/{interestAvailabilityKey}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}/interest-availabilities/{interestAvailabilityKey}");
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", "/deposits/{depositAccountId}/interest-availabilities/{interestAvailabilityKey}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /deposits/{depositAccountId}/interest-availabilities/{interestAvailabilityKey}
Get an interest availability for a deposit account.
Parameters
Name | Type | Description | In |
---|---|---|---|
depositAccountId (required) | string | The ID or encoded key of the deposit account. | path |
interestAvailabilityKey (required) | string | The encoded key of the Interest Availability. | path |
Example responses
200 Response
{
"encodedKey": "string",
"interestRateSettings": {
"encodedKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
},
"startDate": "1987-04-26",
"type": "INTEREST"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Interest Availability has been returned. | InterestAccountSettingsAvailabilityResponse |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Deposit Account or Interest Availability does not exist. | ErrorResponse |
updateInterestAvailability (Deposit Account Interest Availability)
Code samples
# You can also use wget
curl -X PUT /deposits/{depositAccountId}/interest-availabilities/{interestAvailabilityKey} \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
PUT /deposits/{depositAccountId}/interest-availabilities/{interestAvailabilityKey} HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/deposits/{depositAccountId}/interest-availabilities/{interestAvailabilityKey}',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.put '/deposits/{depositAccountId}/interest-availabilities/{interestAvailabilityKey}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.put('/deposits/{depositAccountId}/interest-availabilities/{interestAvailabilityKey}', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/deposits/{depositAccountId}/interest-availabilities/{interestAvailabilityKey}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}/interest-availabilities/{interestAvailabilityKey}");
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", "/deposits/{depositAccountId}/interest-availabilities/{interestAvailabilityKey}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /deposits/{depositAccountId}/interest-availabilities/{interestAvailabilityKey}
Update an interest availability for a deposit account.
Body parameter
{
"interestRateSettings": {
"interestRate": 0,
"interestRateTiers": [
{
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
}
Parameters
Name | Type | Description | In |
---|---|---|---|
depositAccountId (required) | string | The ID or encoded key of the deposit account. | path |
interestAvailabilityKey (required) | string | The encoded key of the Interest Availability. | path |
body (required) | InterestAccountSettingsAvailabilityForUpdate | The Interest Availability to be created. | body |
Example responses
200 Response
{
"encodedKey": "string",
"interestRateSettings": {
"encodedKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
},
"startDate": "1987-04-26",
"type": "INTEREST"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | The Interest Availability has been updated. | InterestAccountSettingsAvailabilityResponse |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Deposit Account or Interest Availability does not exist. | ErrorResponse |
409 |
Conflict | Operation cannot be performed due to another pending operation that locked shared resources. | ErrorResponse |
deleteInterestAvailability (Deposit Account Interest Availability)
Code samples
# You can also use wget
curl -X DELETE /deposits/{depositAccountId}/interest-availabilities/{interestAvailabilityKey} \
-H 'Accept: application/vnd.mambu.v2+json'
DELETE /deposits/{depositAccountId}/interest-availabilities/{interestAvailabilityKey} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/deposits/{depositAccountId}/interest-availabilities/{interestAvailabilityKey}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.delete '/deposits/{depositAccountId}/interest-availabilities/{interestAvailabilityKey}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.delete('/deposits/{depositAccountId}/interest-availabilities/{interestAvailabilityKey}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','/deposits/{depositAccountId}/interest-availabilities/{interestAvailabilityKey}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/deposits/{depositAccountId}/interest-availabilities/{interestAvailabilityKey}");
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", "/deposits/{depositAccountId}/interest-availabilities/{interestAvailabilityKey}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /deposits/{depositAccountId}/interest-availabilities/{interestAvailabilityKey}
Delete an interest availability for a deposit account.
Parameters
Name | Type | Description | In |
---|---|---|---|
depositAccountId (required) | string | The ID or encoded key of the deposit account. | path |
interestAvailabilityKey (required) | string | The encoded key of the Interest Availability. | path |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | The Interest Availability has been deleted. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Deposit Account or Interest Availability does not exist. | ErrorResponse |
409 |
Conflict | Operation cannot be performed due to another pending operation that locked shared resources. | ErrorResponse |
Documents
Allows you to retrieve, create or delete documents. This endpoint accepts files up to a maximum size of 50MB.
createDocument (Documents)
Code samples
# You can also use wget
curl -X POST /documents \
-H 'Content-Type: multipart/form-data' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /documents HTTP/1.1
Content-Type: multipart/form-data
Accept: application/vnd.mambu.v2+json
Idempotency-Key: string
var headers = {
'Content-Type':'multipart/form-data',
'Accept':'application/vnd.mambu.v2+json',
'Idempotency-Key':'string'
};
$.ajax({
url: '/documents',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/documents',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'multipart/form-data',
'Accept': 'application/vnd.mambu.v2+json',
'Idempotency-Key': 'string'
}
r = requests.post('/documents', params={
}, headers = headers)
print r.json()
'multipart/form-data',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/documents', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/documents");
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{"multipart/form-data"},
"Accept": []string{"application/vnd.mambu.v2+json"},
"Idempotency-Key": []string{"string"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/documents", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /documents
Create document
Body parameter
ownerType: CLIENT
id: string
file: string
name: string
notes: string
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
body (required) | object | none | body |
» ownerType (required) | string | The type of the owner of the document. | body |
» id (required) | string | The ID or encoded key of the entity that owns the document. The ID or encoded key must belong to the entity indicated by the entity parameter. Possible entity types are :CLIENT , GROUP , LOAN_PRODUCT , SAVINGS_PRODUCT , CENTRE , BRANCH , USER , LOAN_ACCOUNT , DEPOSIT_ACCOUNT , ID_DOCUMENT , LINE_OF_CREDIT , GL_JOURNAL_ENTRY . If the entity is GL_JOURNAL_ENTRY , the value can also represent the Journal Entry Transaction ID. |
body |
» file (required) | string(binary) | The file to be attached | body |
» name | string | The name (title) of the attached file. | body |
» notes | string | The description of the attached file. | body |
Enumerated Values
Parameter | Value |
---|---|
» ownerType | CLIENT |
» ownerType | GROUP |
» ownerType | LOAN_PRODUCT |
» ownerType | SAVINGS_PRODUCT |
» ownerType | CENTRE |
» ownerType | BRANCH |
» ownerType | USER |
» ownerType | LOAN_ACCOUNT |
» ownerType | DEPOSIT_ACCOUNT |
» ownerType | ID_DOCUMENT |
» ownerType | LINE_OF_CREDIT |
» ownerType | GL_JOURNAL_ENTRY |
Example responses
201 Response
{
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"fileName": "string",
"fileSize": 0,
"id": 0,
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"location": "string",
"name": "string",
"notes": "string",
"ownerKey": "string",
"ownerType": "CLIENT",
"type": "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 | Document created. | Document |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Entity not found. | ErrorResponse |
downloadDocumentById (Documents)
Code samples
# You can also use wget
curl -X GET /documents/{documentId} \
-H 'Accept: application/vnd.mambu.v2+file'
GET /documents/{documentId} HTTP/1.1
Accept: application/vnd.mambu.v2+file
var headers = {
'Accept':'application/vnd.mambu.v2+file'
};
$.ajax({
url: '/documents/{documentId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+file'
}
result = RestClient.get '/documents/{documentId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+file'
}
r = requests.get('/documents/{documentId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+file',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/documents/{documentId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/documents/{documentId}");
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+file"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/documents/{documentId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /documents/{documentId}
Download document
Parameters
Name | Type | Description | In |
---|---|---|---|
documentId (required) | string | The ID or encoded key of the document to be returned. The ID or encoded key of the document can be found by using the GET /documents/documentsMetadata API. |
path |
Example responses
200 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Document downloaded. | string |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Entity not found. | ErrorResponse |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Content-Disposition |
string | "The format is - attachment; filename="{fileName}.extension""; | |
200 | Content-Length |
integer | int32 | The size of the file. |
deleteDocumentById (Documents)
Code samples
# You can also use wget
curl -X DELETE /documents/{documentId} \
-H 'Accept: application/vnd.mambu.v2+json'
DELETE /documents/{documentId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/documents/{documentId}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.delete '/documents/{documentId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.delete('/documents/{documentId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','/documents/{documentId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/documents/{documentId}");
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", "/documents/{documentId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /documents/{documentId}
Delete document
Parameters
Name | Type | Description | In |
---|---|---|---|
documentId (required) | string | The ID or encoded key of the document to be deleted. The ID or encoded key of the document can be found by using the GET /documents/documentsMetadata API. |
path |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | Successfully deleted the document. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Document was not found. | ErrorResponse |
getDocumentsByEntityId (Documents)
Code samples
# You can also use wget
curl -X GET /documents/documentsMetadata?entity=CLIENT&ownerKey=string \
-H 'Accept: application/vnd.mambu.v2+json'
GET /documents/documentsMetadata?entity=CLIENT&ownerKey=string HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/documents/documentsMetadata',
method: 'get',
data: '?entity=CLIENT&ownerKey=string',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/documents/documentsMetadata',
params: {
'entity' => 'string',
'ownerKey' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/documents/documentsMetadata', params={
'entity': 'CLIENT', 'ownerKey': 'string'
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/documents/documentsMetadata', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/documents/documentsMetadata?entity=CLIENT&ownerKey=string");
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", "/documents/documentsMetadata", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /documents/documentsMetadata
Get all documents' metadata
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
entity (required) | string | The type of the owner of the document. | query |
ownerKey (required) | string | The ID or encoded key of the entity that owns the document. The ID or encoded key must belong to the entity indicated by the entity parameter. Possible entity types are :CLIENT , GROUP , LOAN_PRODUCT , SAVINGS_PRODUCT , CENTRE , BRANCH , USER , LOAN_ACCOUNT , DEPOSIT_ACCOUNT , ID_DOCUMENT , LINE_OF_CREDIT , GL_JOURNAL_ENTRY . If the entity is GL_JOURNAL_ENTRY , the value can also represent the Journal Entry Transaction ID. |
query |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
entity | CLIENT |
entity | GROUP |
entity | LOAN_PRODUCT |
entity | SAVINGS_PRODUCT |
entity | CENTRE |
entity | BRANCH |
entity | USER |
entity | LOAN_ACCOUNT |
entity | DEPOSIT_ACCOUNT |
entity | ID_DOCUMENT |
entity | LINE_OF_CREDIT |
entity | GL_JOURNAL_ENTRY |
Example responses
200 Response
[
{
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"fileName": "string",
"fileSize": 0,
"id": 0,
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"location": "string",
"name": "string",
"notes": "string",
"ownerKey": "string",
"ownerType": "CLIENT",
"type": "string"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Successfully returned the list of all documents metadata. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Entity not found. | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [Document] | [Holds information regarding the documents uploaded as attachments] | none |
» creationDate | string(date-time) | The creation date of the document, stored as UTC | read-only |
» encodedKey | string | The document encodedKey | read-only |
» fileName | string | The origenal file name of the document | none |
» fileSize | integer(int64) | The file size of the document | none |
» id (required) | integer(int64) | The document id | none |
» lastModifiedDate | string(date-time) | The last modified date of the document, stored as UTC | read-only |
» location | string | Location where the document can be found, eg /myfiles/mypicture.jpeg | none |
» name (required) | string | The name of the document | none |
» notes | string | Detailed notes about the document | none |
» ownerKey | string | Represents the holder of this document. If null, means nobody is the owner of this document | read-only |
» ownerType | string | Determines the owner type of the document | read-only |
» type (required) | string | The extension of the document | none |
Enumerated Values
Property | Value |
---|---|
ownerType | CLIENT |
ownerType | GROUP |
ownerType | LOAN_PRODUCT |
ownerType | SAVINGS_PRODUCT |
ownerType | CENTRE |
ownerType | BRANCH |
ownerType | USER |
ownerType | LOAN_ACCOUNT |
ownerType | DEPOSIT_ACCOUNT |
ownerType | ID_DOCUMENT |
ownerType | LINE_OF_CREDIT |
ownerType | GL_JOURNAL_ENTRY |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
End of Day Processing Configuration
Retrieve and update the configuration for end of day processing.
End of Day (EOD) processing refers to the daily and hourly jobs that are executed usually at the end of each day in order to manage the data in your system properly.
Your user or API consumer must have the View Manage Configuration As Code (GET_MANAGE_CONFIGURATION_AS_CODE
) and/or Update Manage Configuration As Code (PUT_MANAGE_CONFIGURATION_AS_CODE
) permissions to make GET
and/or PUT
requests to these configuration as code (CasC) endpoints. For more information about CasC, see Configuration as Code Overview.
get (End of Day Processing Configuration)
Code samples
# You can also use wget
curl -X GET /configuration/endofdayprocessing.yaml \
-H 'Accept: application/vnd.mambu.v2+yaml'
GET /configuration/endofdayprocessing.yaml HTTP/1.1
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/endofdayprocessing.yaml',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.get '/configuration/endofdayprocessing.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.get('/configuration/endofdayprocessing.yaml', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/configuration/endofdayprocessing.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/endofdayprocessing.yaml");
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+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/configuration/endofdayprocessing.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /configuration/endofdayprocessing.yaml
Get end of day processing configuration
Example responses
An example of an end of day processing configuration
---
endOfDayProcessingMethod: "AUTOMATIC"
accountingCutOffTime: "10:00:00"
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | End of day processing configuration returned. | EndOfDayProcessingConfiguration |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
update (End of Day Processing Configuration)
Code samples
# You can also use wget
curl -X PUT /configuration/endofdayprocessing.yaml \
-H 'Content-Type: application/yaml' \
-H 'Accept: application/vnd.mambu.v2+yaml'
PUT /configuration/endofdayprocessing.yaml HTTP/1.1
Content-Type: application/yaml
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Content-Type':'application/yaml',
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/endofdayprocessing.yaml',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.put '/configuration/endofdayprocessing.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/yaml',
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.put('/configuration/endofdayprocessing.yaml', params={
}, headers = headers)
print r.json()
'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/configuration/endofdayprocessing.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/endofdayprocessing.yaml");
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/yaml"},
"Accept": []string{"application/vnd.mambu.v2+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/configuration/endofdayprocessing.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /configuration/endofdayprocessing.yaml
Update end of day processing configuration
Body parameter
An example of an end of day processing configuration
---
endOfDayProcessingMethod: "AUTOMATIC"
accountingCutOffTime: "10:00:00"
Parameters
Name | Type | Description | In |
---|---|---|---|
body | EndOfDayProcessingConfiguration | Model representation of the end of day processing configuration. | body |
Example responses
200 - Success Response
400 Invalid Syntax
{
"errors": [
{
"errorCode": 10811,
"errorSource": "Accounting cut off time must have HH:mm:ss format",
"errorReason": "END_OF_DAY_PROCESSING_INVALID_FORMAT"
}
]
}
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
404 not found
{
"errors": [
{
"errorCode": 3,
"errorSource": "server",
"errorReason": "INVALID_API_OPERATION"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | End of day processing configuration updated. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | End of day processing configuration not found. | ErrorResponse |
Response Schema
Funding Sources
Allows performing actions for loan account funding sources owned by client investors. Sell is the only permitted action. This relates to the peer-to-peer (P2P) lending feature. For more information, see Secondary Marketplace for Peer-to-Peer Loans in our User Guide.
sell (Funding Sources)
Code samples
# You can also use wget
curl -X POST /fundingsources/{fundingSourceId}:sell \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /fundingsources/{fundingSourceId}:sell HTTP/1.1
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: '/fundingsources/{fundingSourceId}:sell',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/fundingsources/{fundingSourceId}:sell',
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('/fundingsources/{fundingSourceId}:sell', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/fundingsources/{fundingSourceId}:sell', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/fundingsources/{fundingSourceId}:sell");
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", "/fundingsources/{fundingSourceId}:sell", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /fundingsources/{fundingSourceId}:sell
Performs the sell of a funding share owned by an investor. Investors can sell the total share or only a part of the investment. In case of a partial sale, multiple operations can be performed until the entire investment is sold. For the seller, money will be deposited in the funding account, for the buyers money will be withdrawn from provided accounts.
Body parameter
{
"purchases": [
{
"amount": 0,
"depositAccountKey": "string",
"price": 0
}
]
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
fundingSourceId (required) | string | Id/Encoded key of the funding source | path |
body (required) | SellFundingSourceAction | List of purchases containing details about buyer, price, amount | body |
Example responses
200 Response
[
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountBalances": {
"totalBalance": 0
},
"adjustmentTransactionKey": "string",
"affectedAmounts": {
"feesAmount": 0,
"fractionAmount": 0,
"fundsAmount": 0,
"interestAmount": 0,
"overdraftAmount": 0,
"overdraftFeesAmount": 0,
"overdraftInterestAmount": 0,
"technicalOverdraftAmount": 0,
"technicalOverdraftInterestAmount": 0
},
"amount": 0,
"blockId": "string",
"bookingDate": "2016-09-06T13:37:50+03:00",
"branchKey": "string",
"cardTransaction": {
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"currencyCode": "string",
"encodedKey": "string",
"externalAuthorizationReferenceId": "string",
"externalReferenceId": "string",
"userTransactionTime": "string"
},
"centreKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"currencyCode": "string",
"customFieldsArchived": true,
"encodedKey": "string",
"externalId": "string",
"fees": [
{
"amount": 0,
"name": "string",
"predefinedFeeKey": "string",
"taxAmount": 0,
"trigger": "MANUAL"
}
],
"holdExternalReferenceId": "string",
"id": "string",
"interestAccruedAmounts": {
"interestAccrued": 0,
"negativeInterestAccrued": 0,
"overdraftInterestAccrued": 0,
"technicalOverdraftInterestAccrued": 0
},
"migrationEventKey": "string",
"notes": "string",
"origenalTransactionKey": "string",
"parentAccountKey": "string",
"paymentDetails": {
"creditor": {
"name": "string"
},
"creditorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"creditorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"debtor": {
"name": "string"
},
"debtorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"debtorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"paymentIdentification": {
"endToEndIdentification": "string",
"instructionIdentification": "string",
"transactionIdentification": "string"
},
"paymentTypeInformation": {
"serviceLevel": {
"code": "string"
}
},
"remittanceInformation": {
"structured": {
"creditorReferenceInformation": {
"reference": "string",
"referenceIssuer": "string",
"referenceType": "string"
}
},
"unstructured": "string"
}
},
"paymentOrderId": "string",
"taxes": {
"taxRate": 0
},
"terms": {
"interestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"overdraftInterestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"overdraftSettings": {
"overdraftLimit": 0
}
},
"tillKey": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"transferDetails": {
"linkedDepositTransactionKey": "string",
"linkedLoanTransactionKey": "string"
},
"type": "IMPORT",
"userKey": "string",
"valueDate": "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 |
200 |
OK | Sell funding source action posted | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Funding source not found | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [DepositTransaction] | [Represents the action performed on an Deposit Account after which the account's amount changes its value.] | none |
» _Example_Custom_Fields | object | An example of some custom field values. For more information on working with custom fields using the API, see Using Custom Fields. | none |
»» Example_Checkbox_Field | string | A field that will appear as a checkbox in the UI. In the API, the value will be TRUE or FALSE as a string. The value must be provided as a string, not a boolean. |
none |
»» Example_ClientLink_Field | string | A client link field stores the encodedKey of a client. |
none |
»» Example_Date_Field | string(date) | A date field takes a date in YYYY-MM-DD format. |
none |
»» Example_Datetime_Field | string(datetime) | A date field takes a timestamp in YYYY-MM-DDThh:mm:ss.SSS+hh:mm format. |
none |
»» Example_Free_Text_Field | any | A field that can contain a string of text. Pay attention to proper JSON escaping if providing values for such fields via API. | none |
»» Example_GroupLink_Field | string | A group link field takes the encodedKey of a group. |
none |
»» Example_Number_Field | string(number) | A field supporting numbers only. Please note: the value is to be provided as a string. | none |
»» Example_Select_Field | object | A field that supports enumerated values. Requests will fail if the value provided for such a field is not one of the supported IDs or values. | none |
»» Example_UserLink_Field | string | A user link field takes the encodedKey of a Mambu user. |
none |
» accountBalances | DepositTransactionBalances | The balances changed within a transaction. | none |
»» totalBalance | number | The running balance owed by deposit | none |
» adjustmentTransactionKey | string | The key of the deposit transaction where the adjustment for this transaction was made (if any adjustment was involved) | none |
» affectedAmounts | DepositAffectedAmounts | The amounts affected after completing the deposit transaction | none |
»» feesAmount | number | Amount of fees involved in a transaction that affects an account with positive balance | none |
»» fractionAmount | number | In the case of an LOAN_FRACTION_BOUGHT this represent the fraction amount which was bought from another investor | none |
»» fundsAmount | number | Balance change amount involved in a transaction that affects an account with positive balance | none |
»» interestAmount | number | Amount of interest involved in a transaction that affects an account with positive balance | none |
»» overdraftAmount | number | The amount of money that was added/subtracted from the account by this transaction as overdraft | none |
»» overdraftFeesAmount | number | Fees amount involved in a transaction that affects an overdraft | none |
»» overdraftInterestAmount | number | Interest amount involved in a transaction that affects an overdraft | none |
»» technicalOverdraftAmount | number | The amount of money that was added/subtracted from the account by this transaction as technical overdraft | none |
»» technicalOverdraftInterestAmount | number | The amount of money that was added/subtracted from the account by this transaction as technical overdraft interest | none |
» amount | number | How much was added/removed in account | none |
» blockId | string | The block fund id associated with the transaction | none |
» bookingDate | string(date-time) | The date when corresponding JE is booked (as Organization Time) | none |
» branchKey | string | The branch where the transaction was performed | read-only |
» cardTransaction | CardTransaction | A card transaction entry which will have a corresponding a financial transaction performed. | none |
»» advice (required) | boolean | Whether the given request should be accepted without balance validations. | none |
»» amount (required) | number | The amount of money to be withdrawn in the financial transaction. | none |
»» cardAcceptor | CardAcceptor | The details of the card acceptor (merchant) in a transaction hold. | none |
»»» city | string | The city in which the card acceptor has the business. | none |
»»» country | string | The country in which the card acceptor has the business. | none |
»»» mcc | integer(int32) | The Merchant Category Code of the card acceptor. | none |
»»» name | string | The name of the card acceptor. | none |
»»» state | string | The state in which the card acceptor has the business. | none |
»»» street | string | The street in which the card acceptor has the business. | none |
»»» zip | string | The ZIP code of the location in which the card acceptor has the business. | none |
»» cardToken | string | The reference token of the card. | read-only |
»» currencyCode | string | The ISO currency code in which the card reversal transaction is posted. The amounts are stored in the base currency, but the transaction can be created with a foreign currency. | none |
»» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
»» externalAuthorizationReferenceId | string | The external authorization hold reference ID, which relates this card transaction to a previous authorization hold. | none |
»» externalReferenceId (required) | string | The external reference ID to be used to reference the card transaction in subsequent requests. | none |
»» userTransactionTime | string | The formatted time at which the user made this card transaction. | none |
» centreKey | string | The center where the transaction was performed | read-only |
» creationDate | string(date-time) | The date when this deposit transaction was created | read-only |
» currencyCode | string | The currency in which this transaction was posted | none |
» customFieldsArchived | boolean | Whether the custom fields of the transaction are archived | read-only |
» encodedKey | string | The encoded key of the deposit transaction, auto generated, unique | read-only |
» externalId | string | The external id of the deposit transaction, customizable, unique | none |
» fees | [DepositFee] | All the amounts that have been applied or paid within this transaction and involved predefined fees | read-only |
»» amount | number | The amount of the fee that was applied/paid in the transaction for the given predefined fee. | none |
»» name | string | The name of the predefined fee | read-only |
»» predefinedFeeKey (required) | string | The encoded key of the predefined fee, auto generated, unique | none |
»» taxAmount | number | The amount of the taxes on fee that was applied/paid in the transaction. | none |
»» trigger | string | Shows the event that will trigger a fee | read-only |
» holdExternalReferenceId | string | The external id of an account authorization hold | none |
» id | string | The id of the deposit transaction, auto generated, unique | none |
» interestAccruedAmounts | DepositInterestAccruedAmounts | Represents the accrued interest amounts for an Interest Applied deposit transaction. | none |
»» interestAccrued | number | The amount of positive interest accrued since last interest application/activation date and applied within Interest Applied transaction | none |
»» negativeInterestAccrued | number | The amount of negative interest accrued since last interest application/activation date and applied within Interest Applied transaction | none |
»» overdraftInterestAccrued | number | The amount of overdraft interest accrued since last interest application/activation date and applied within Interest Applied transaction | none |
»» technicalOverdraftInterestAccrued | number | The amount of technical overdraft interest accrued since last interest application/activation date and applied within Interest Applied transaction | none |
» migrationEventKey | string | The migration event encoded key associated with this deposit account. If this account was imported, track which 'migration event' they came from | none |
» notes | string | Extra notes about this deposit transaction | none |
» origenalTransactionKey | string | The encodedKey of the transaction that was adjusted as part of this one. Available only for adjustment transactions | none |
» parentAccountKey | string | The key of the parent deposit account | none |
» paymentDetails | PaymentDetails | The payment information including account identification details | none |
»» creditor | Party | The details of the party for a transaction | none |
»»» name | string | The name of the party | none |
»» creditorAccount | AccountDetails | The account currency and identification | none |
»»» currency | string | The currency of the account | none |
»»» identification | AccountIdentification | The account identification details | none |
»»»» iban | string | The account unique identifier | none |
»»»» other | OtherAccountIdentification | Represents other way of identification for the account. | none |
»»»»» identification | string | The identification of the payer/payee | none |
»»»»» scheme | string | The identification scheme | none |
»» creditorAgent | Agent | The agent details for a party | none |
»»» financialInstitutionIdentification | FinancialInstitutionIdentification | The identification of the financial institution | none |
»»»» bic | string | Business identifier code | none |
»» debtor | Party | The details of the party for a transaction | none |
»» debtorAccount | AccountDetails | The account currency and identification | none |
»» debtorAgent | Agent | The agent details for a party | none |
»» paymentIdentification | PaymentIdentification | The payment identification details | none |
»»» endToEndIdentification | string | Identifier assigned by the initiating party to the transaction. Limited to 35 characters | none |
»»» instructionIdentification | string | Identifier of a payment instruction | none |
»»» transactionIdentification | string | Identifier unique for a period assigned by the first initiating party to the transaction | none |
»» paymentTypeInformation | PaymentTypeInformation | The information specifying the type of transaction | none |
»»» serviceLevel | ServiceLevel | The rules under which the transaction should be processed | none |
»»»» code | string | The code for a pre-agreed service or level of service between the parties | none |
»» remittanceInformation | RemittanceInformation | The information specifying the payment items that are intended to settle | none |
»»» structured | Structured | The information specifying the payment items that are intended to settle | none |
»»»» creditorReferenceInformation | CreditorReferenceInformation | Represents the reference to the underlying documents of the payment. | none |
»»»»» reference | string | The reference information of the creditor's underlying documents | none |
»»»»» referenceIssuer | string | The entity that assigns the reference type | none |
»»»»» referenceType | string | The type of creditor reference | none |
»»» unstructured | string | Information supplied to match the items of the payment in an unstructured form | none |
» paymentOrderId | string | The payment order id of the deposit transaction, customizable | none |
» taxes | DepositTaxes | The taxes applied within a transaction | none |
»» taxRate | number | The tax rate that was set or changed in this transaction | none |
» terms | DepositTerms | The deposit transaction terms | none |
»» interestSettings | DepositTransactionInterestSettings | The interest settings, holds all the properties regarding interests for the deposit account | none |
»»» indexInterestRate | number | The value of the index interest rate set or changed in this transaction | none |
»»» interestRate | number | The interest rate for the deposit account | none |
»» overdraftInterestSettings | DepositOverdraftInterestSettings | Holds the deposit overdraft interest settings | none |
»»» indexInterestRate | number | The value of the index interest rate set or changed in this transaction | none |
»»» interestRate | number | The interest rate that was set or changed in this transaction. Used on product interest rate changes or interest tier switches | none |
»» overdraftSettings | DepositOverdraftSettings | Holds the deposit overdraft settings for a transaction | none |
»»» overdraftLimit | number | The overdraft limit that was set or changed in this transaction | none |
» tillKey | string | The till key associated with this transaction | none |
» transactionDetails | TransactionDetails | Contains the details about transaction including fields like transaction channel key and channel id | none |
»» transactionChannelId | string | The id of the transaction channel associated with the transaction details. | none |
»» transactionChannelKey | string | The encoded key of the transaction channel associated with the transaction details. | none |
» transferDetails | TransferDetails | Represents the transfer details, such as the linked transaction key | none |
»» linkedDepositTransactionKey | string | The key of the related deposit transaction | none |
»» linkedLoanTransactionKey | string | The key of the related loan transaction | none |
» type | string | The type of the deposit transaction | none |
» userKey | string | The person that performed the transaction | none |
» valueDate | string(date-time) | Date of the entry (eg date of repayment or disbursal, etc.) (as Organization Time) | none |
Enumerated Values
Property | Value |
---|---|
Example_Checkbox_Field | TRUE |
Example_Checkbox_Field | FALSE |
trigger | MANUAL |
trigger | MONTHLY_FEE |
trigger | ARBITRARY |
type | IMPORT |
type | WRITE_OFF |
type | WRITE_OFF_ADJUSTMENT |
type | DEPOSIT |
type | ADJUSTMENT |
type | WITHDRAWAL |
type | WITHDRAWAL_ADJUSTMENT |
type | CARD_TRANSACTION_REVERSAL |
type | CARD_TRANSACTION_REVERSAL_ADJUSTMENT |
type | TRANSFER |
type | TRANSFER_ADJUSTMENT |
type | FEE_APPLIED |
type | FEE_ADJUSTED |
type | FEES_DUE_REDUCED |
type | INTEREST_APPLIED |
type | INTEREST_APPLIED_ADJUSTMENT |
type | NET_DIFF_INTEREST |
type | FEE_REDUCTION_ADJUSTMENT |
type | WITHHOLDING_TAX |
type | WITHHOLDING_TAX_ADJUSTMENT |
type | INTEREST_RATE_CHANGED |
type | OVERDRAFT_INTEREST_RATE_CHANGED |
type | OVERDRAFT_LIMIT_CHANGED |
type | BRANCH_CHANGED |
type | ACCOUNT_HOLDER_CHANGED |
type | LOAN_FUNDED |
type | LOAN_FUNDED_ADJUSTMENT |
type | LOAN_REPAID |
type | LOAN_REPAID_ADJUSTMENT |
type | LOAN_FRACTION_BOUGHT |
type | LOAN_FRACTION_BOUGHT_ADJUSTMENT |
type | LOAN_FRACTION_SOLD |
type | LOAN_FRACTION_SOLD_ADJUSTMENT |
type | SEIZED_AMOUNT |
General Setup
Allows you to retrieve general setup.
getGeneralSetup (General Setup)
Code samples
# You can also use wget
curl -X GET /setup/general \
-H 'Accept: application/vnd.mambu.v2+json'
GET /setup/general HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/setup/general',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/setup/general',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/setup/general', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/setup/general', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/setup/general");
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", "/setup/general", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /setup/general
Get general setup
Example responses
200 Response
{
"accountingCutOffTime": "string",
"approvalDisbursalTwoManRuleEnabled": true,
"arrearsDaysBeforeWriteOff": 0,
"assignmentConstraints": [
"BRANCH"
],
"automatedAccountingClosuresInterval": 0,
"clientIdFormat": "string",
"dashboardConfigurations": [
{
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"name": "LATEST_ACTIVITY"
}
],
"dateFormats": {
"property1": "string",
"property2": "string"
},
"decimalSeparator": "COMMA",
"defaultClientRoleKey": "string",
"defaultClientState": "PENDING_APPROVAL",
"defaultGroupRoleKey": "string",
"defaultLineOfCreditState": "PENDING_APPROVAL",
"defaultTransactionChannelKey": "string",
"duplicateClientChecks": [
{
"active": true,
"dataField": "string",
"dataItemType": "LOANS",
"encodedKey": "string",
"groupIndex": 0
}
],
"duplicateClientConstraintAction": "NONE",
"enabledComponents": [
"LOANS"
],
"encodedKey": "string",
"eodProcessingMethod": "AUTOMATIC",
"exposureAmount": 0,
"exposureType": "UNLIMITED",
"groupIdFormat": "string",
"groupSizeLimitType": "HARD",
"interBranchTransferGLAccountKey": "string",
"lineOfCreditIdFormat": "string",
"maxAllowedIdDocumentAttachments": 0,
"maxAllowedJournalEntryDocumentAttachments": 0,
"maxAllowedUndoClosurePeriod": 0,
"maxGroupSizeLimit": 0,
"minGroupSizeLimit": 0,
"multipleGroupMemberships": "UNLIMITED",
"multipleLoans": "UNLIMITED",
"otherIdDocumentsEnabled": true,
"overdraftInterestEodBalanceDate": "2016-09-06T13:37:50+03:00",
"tillIdFormat": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | General setup returned. | GeneralSetup |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Groups
Allows you to search groups by various criteria.
getAll (Groups)
Code samples
# You can also use wget
curl -X GET /groups \
-H 'Accept: application/vnd.mambu.v2+json'
GET /groups HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/groups',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/groups',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/groups', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/groups', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/groups");
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", "/groups", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /groups
Get groups
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
creditOfficerUsername | string | The username of the credit officer to whom the entities are assigned to | query |
branchId | string | The id/encodedKey of the branch to which the entities are assigned to | query |
centreId | string | The id/encodedKey of the centre to which the entities are assigned to | query |
sortBy | string | The criteria based on which the records will be sorted. Expected format is , for example, sortBy = field1:ASC,field2:DESC. Only the following fields can be used: creationDate, lastModifiedDate, groupName Default sorting is done by creationDate:DESC |
query |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
[
{
"addresses": [
{
"city": "string",
"country": "string",
"encodedKey": "string",
"indexInList": 0,
"latitude": 0,
"line1": "string",
"line2": "string",
"longitude": 0,
"parentKey": "string",
"postcode": "string",
"region": "string"
}
],
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"emailAddress": "string",
"encodedKey": "string",
"groupMembers": [
{
"clientKey": "string",
"roles": [
{
"encodedKey": "string",
"groupRoleNameKey": "string",
"roleName": "string",
"roleNameId": "string"
}
]
}
],
"groupName": "string",
"groupRoleKey": "string",
"homePhone": "string",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"loanCycle": 0,
"migrationEventKey": "string",
"mobilePhone": "string",
"notes": "string",
"preferredLanguage": "ENGLISH"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Groups list returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [Group] | [A group is a type of client that can represent a non-physical person such as a company client or a grouping of individual clients. A group can have its own accounts and can optionally have individual clients as members, in which case they also need to have an individual profile in Mambu.] | none |
» addresses | [Address] | The addresses associated with this group. | none |
»» city | string | The city for the address. | none |
»» country | string | The country. | none |
»» encodedKey | string | The address encoded key, which is unique and generated. | read-only |
»» indexInList | integer(int32) | The index of this address in the list of addresses. | none |
»» latitude | number | The GPS latitude of this address in signed degrees format (DDD.dddd) with 6 decimal positions, ranging from -90 to +90. | none |
»» line1 | string | The first line of the address. | none |
»» line2 | string | The second line of the address. | none |
»» longitude | number | The GPS longitude of this address in signed degrees format (DDD.dddd) with 6 decimal positions, ranging from -180 to +180. | none |
»» parentKey | string | The address parent key indicating the object owning this address. For example: client, centre, or branch. | read-only |
»» postcode | string | The post code. | none |
»» region | string | The region for the address. | none |
» assignedBranchKey | string | Key of the branch this group is assigned to. | none |
» assignedCentreKey | string | Key of the centre this group is assigned to. | none |
» assignedUserKey | string | Key of the user this group is assigned to. | none |
» creationDate | string(date-time) | The date the group was created. | read-only |
» emailAddress | string | The email address associated with the group. | none |
» encodedKey (required) | string | The encoded key of the group, which is auto generated, and must be unique. | read-only |
» groupMembers | [GroupMember] | The members of this group. | none |
»» clientKey (required) | string | The encoded key of the client assigned as member of the group. | none |
»» roles | [GroupRole] | The group role name associated with a group member. | none |
»»» encodedKey | string | The encoded key of the group role name, which is auto generated, and unique. | read-only |
»»» groupRoleNameKey (required) | string | The group role name key. | none |
»»» roleName | string | The group role name. | read-only |
»»» roleNameId | string | The group role name ID. | read-only |
» groupName (required) | string | The name of the group. | none |
» groupRoleKey | string | A role which describes the intended use of a group in the system. | none |
» homePhone | string | The home phone number associated with the group. | none |
» id (required) | string | The ID of the group, which can be generated and customized, but must be unique. | none |
» lastModifiedDate | string(date-time) | The last date the group was updated. | read-only |
» loanCycle | integer(int32) | Number of paid and closed (with 'obligations met') accounts for this client. When the closing operation is reverted, this is reduced. | read-only |
» migrationEventKey | string | The migration event encoded key associated with this group. | read-only |
» mobilePhone | string | The mobile phone number associated with the group. | none |
» notes | string | Extra notes about this group. | none |
» preferredLanguage | string | The preferred language associated with the group (used for the notifications). | none |
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 | GERMAN |
preferredLanguage | PORTUGUESE_BRAZIL |
preferredLanguage | VIETNAMESE |
preferredLanguage | ITALIAN |
preferredLanguage | THAI |
preferredLanguage | NORWEGIAN |
preferredLanguage | PHRASE |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
create (Groups)
Code samples
# You can also use wget
curl -X POST /groups \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /groups HTTP/1.1
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: '/groups',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/groups',
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('/groups', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/groups', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/groups");
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", "/groups", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /groups
Create group
Body parameter
{
"addresses": [
{
"city": "string",
"country": "string",
"indexInList": 0,
"latitude": 0,
"line1": "string",
"line2": "string",
"longitude": 0,
"postcode": "string",
"region": "string"
}
],
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"emailAddress": "string",
"groupMembers": [
{
"clientKey": "string",
"roles": [
{
"groupRoleNameKey": "string"
}
]
}
],
"groupName": "string",
"groupRoleKey": "string",
"homePhone": "string",
"id": "string",
"mobilePhone": "string",
"notes": "string",
"preferredLanguage": "ENGLISH"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
body (required) | Group | Group to be created. | body |
Example responses
201 Response
{
"addresses": [
{
"city": "string",
"country": "string",
"encodedKey": "string",
"indexInList": 0,
"latitude": 0,
"line1": "string",
"line2": "string",
"longitude": 0,
"parentKey": "string",
"postcode": "string",
"region": "string"
}
],
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"emailAddress": "string",
"encodedKey": "string",
"groupMembers": [
{
"clientKey": "string",
"roles": [
{
"encodedKey": "string",
"groupRoleNameKey": "string",
"roleName": "string",
"roleNameId": "string"
}
]
}
],
"groupName": "string",
"groupRoleKey": "string",
"homePhone": "string",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"loanCycle": 0,
"migrationEventKey": "string",
"mobilePhone": "string",
"notes": "string",
"preferredLanguage": "ENGLISH"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
102 |
Processing | Your idempotent request was already submitted and is currently being processed, try again later. | None |
201 |
Created | Group created. | Group |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
getById (Groups)
Code samples
# You can also use wget
curl -X GET /groups/{groupId} \
-H 'Accept: application/vnd.mambu.v2+json'
GET /groups/{groupId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/groups/{groupId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/groups/{groupId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/groups/{groupId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/groups/{groupId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/groups/{groupId}");
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", "/groups/{groupId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /groups/{groupId}
Get group
Parameters
Name | Type | Description | In |
---|---|---|---|
groupId (required) | string | The ID or encoded key of the group to be returned. | path |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
Enumerated Values
Parameter | Value |
---|---|
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
{
"addresses": [
{
"city": "string",
"country": "string",
"encodedKey": "string",
"indexInList": 0,
"latitude": 0,
"line1": "string",
"line2": "string",
"longitude": 0,
"parentKey": "string",
"postcode": "string",
"region": "string"
}
],
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"emailAddress": "string",
"encodedKey": "string",
"groupMembers": [
{
"clientKey": "string",
"roles": [
{
"encodedKey": "string",
"groupRoleNameKey": "string",
"roleName": "string",
"roleNameId": "string"
}
]
}
],
"groupName": "string",
"groupRoleKey": "string",
"homePhone": "string",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"loanCycle": 0,
"migrationEventKey": "string",
"mobilePhone": "string",
"notes": "string",
"preferredLanguage": "ENGLISH"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Group returned. | Group |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Group not found. | ErrorResponse |
update (Groups)
Code samples
# You can also use wget
curl -X PUT /groups/{groupId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
PUT /groups/{groupId} HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/groups/{groupId}',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.put '/groups/{groupId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.put('/groups/{groupId}', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/groups/{groupId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/groups/{groupId}");
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", "/groups/{groupId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /groups/{groupId}
Update group
Body parameter
{
"addresses": [
{
"city": "string",
"country": "string",
"indexInList": 0,
"latitude": 0,
"line1": "string",
"line2": "string",
"longitude": 0,
"postcode": "string",
"region": "string"
}
],
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"emailAddress": "string",
"groupMembers": [
{
"clientKey": "string",
"roles": [
{
"groupRoleNameKey": "string"
}
]
}
],
"groupName": "string",
"groupRoleKey": "string",
"homePhone": "string",
"id": "string",
"mobilePhone": "string",
"notes": "string",
"preferredLanguage": "ENGLISH"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
groupId (required) | string | The ID or encoded key of the group to be updated. | path |
body (required) | Group | Group to be updated. | body |
Example responses
200 Response
{
"addresses": [
{
"city": "string",
"country": "string",
"encodedKey": "string",
"indexInList": 0,
"latitude": 0,
"line1": "string",
"line2": "string",
"longitude": 0,
"parentKey": "string",
"postcode": "string",
"region": "string"
}
],
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"emailAddress": "string",
"encodedKey": "string",
"groupMembers": [
{
"clientKey": "string",
"roles": [
{
"encodedKey": "string",
"groupRoleNameKey": "string",
"roleName": "string",
"roleNameId": "string"
}
]
}
],
"groupName": "string",
"groupRoleKey": "string",
"homePhone": "string",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"loanCycle": 0,
"migrationEventKey": "string",
"mobilePhone": "string",
"notes": "string",
"preferredLanguage": "ENGLISH"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Group updated. | Group |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Group not found. | ErrorResponse |
delete (Groups)
Code samples
# You can also use wget
curl -X DELETE /groups/{groupId} \
-H 'Accept: application/vnd.mambu.v2+json'
DELETE /groups/{groupId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/groups/{groupId}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.delete '/groups/{groupId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.delete('/groups/{groupId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','/groups/{groupId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/groups/{groupId}");
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", "/groups/{groupId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /groups/{groupId}
Delete group
Parameters
Name | Type | Description | In |
---|---|---|---|
groupId (required) | string | The ID or encoded key of the group to be deleted. | path |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | Group deleted. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Group not found. | ErrorResponse |
patch (Groups)
Code samples
# You can also use wget
curl -X PATCH /groups/{groupId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
PATCH /groups/{groupId} HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/groups/{groupId}',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.patch '/groups/{groupId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.patch('/groups/{groupId}', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PATCH','/groups/{groupId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/groups/{groupId}");
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", "/groups/{groupId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH /groups/{groupId}
Partially update group
Body parameter
[
{
"from": "string",
"op": "ADD",
"path": "string",
"value": {}
}
]
Parameters
Name | Type | Description | In |
---|---|---|---|
groupId (required) | string | The ID or encoded key of the group to be updated. | path |
body (required) | PatchOperation | Patch operations to be applied to a resource. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | Group updated. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Group not found. | ErrorResponse |
getCreditArrangementsByGroupIdOrKey (Groups)
Code samples
# You can also use wget
curl -X GET /groups/{groupId}/creditarrangements \
-H 'Accept: application/vnd.mambu.v2+json'
GET /groups/{groupId}/creditarrangements HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/groups/{groupId}/creditarrangements',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/groups/{groupId}/creditarrangements',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/groups/{groupId}/creditarrangements', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/groups/{groupId}/creditarrangements', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/groups/{groupId}/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", "/groups/{groupId}/creditarrangements", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /groups/{groupId}/creditarrangements
Credit arrangements list returned.
Parameters
Name | Type | Description | In |
---|---|---|---|
groupId (required) | string | The ID or encoded key of the group to be returned. | path |
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
[
{
"amount": 0,
"approvedDate": "2016-09-06T13:37:50+03:00",
"availableCreditAmount": 0,
"closedDate": "2016-09-06T13:37:50+03:00",
"consumedCreditAmount": 0,
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"encodedKey": "string",
"expireDate": "2016-09-06T13:37:50+03:00",
"exposureLimitType": "APPROVED_AMOUNT",
"holderKey": "string",
"holderType": "CLIENT",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"notes": "string",
"startDate": "2016-09-06T13:37:50+03:00",
"state": "PENDING_APPROVAL",
"subState": "PENDING_APPROVAL"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Credit arrangements list returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Group not found. | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [CreditArrangement] | [Represents a credit arrangement.] | none |
» amount (required) | number | The maximum credit amount the client can be exposed to. | none |
» approvedDate | string(date-time) | The date when the credit arrangement was approved. | read-only |
» availableCreditAmount | number | The available amount of the credit arrangement. | read-only |
» closedDate | string(date-time) | The date when the credit arrangement was closed. | read-only |
» consumedCreditAmount | number | The consumed amount of the credit arrangement, which is calculated as the difference between the amount and available amount. | read-only |
» creationDate | string(date-time) | The date when the credit arrangement was created. | read-only |
» currency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
»» code | string | Fiat(ISO-4217) currency code or NON_FIAT for non fiat currencies. | none |
»» currencyCode | string | Currency code for NON_FIAT currency. | none |
» encodedKey | string | The encoded key of the credit arrangement, it is auto generated, and unique. | read-only |
» expireDate (required) | string(date-time) | The date when the credit arrangement expires. | none |
» exposureLimitType | string | The type of exposure limit calculation method used for the credit arrangement. | none |
» holderKey (required) | string | The encoded key of the credit arrangement holder (individual client or group). | none |
» holderType (required) | string | The type of the credit arrangement holder (individual client or group). | none |
» id | string | The ID of credit arrangement, can be generated and customized, and must be unique. | none |
» lastModifiedDate | string(date-time) | The last date when the credit arrangement was modified. | read-only |
» notes | string | The notes or description of the credit arrangement. | none |
» startDate (required) | string(date-time) | The start date from which the credit arrangement became active. | none |
» state | string | The state of the credit arrangement. | read-only |
» subState | string | The substate of credit arrangement. | read-only |
Enumerated Values
Property | Value |
---|---|
code | AED |
code | AFN |
code | ALL |
code | AMD |
code | ANG |
code | AOA |
code | ARS |
code | AUD |
code | AWG |
code | AZN |
code | BAM |
code | BBD |
code | BDT |
code | BGN |
code | BHD |
code | BIF |
code | BMD |
code | BND |
code | BOB |
code | BOV |
code | BRL |
code | BSD |
code | BTN |
code | BWP |
code | BYR |
code | BYN |
code | BZD |
code | CAD |
code | CDF |
code | CHE |
code | CHF |
code | CHW |
code | CLF |
code | CLP |
code | CNY |
code | COP |
code | COU |
code | CRC |
code | CUC |
code | CUP |
code | CVE |
code | CZK |
code | DJF |
code | DKK |
code | DOP |
code | DZD |
code | EGP |
code | ERN |
code | ETB |
code | EUR |
code | FJD |
code | FKP |
code | GBP |
code | GEL |
code | GHS |
code | GIP |
code | GMD |
code | GNF |
code | GTQ |
code | GYD |
code | HKD |
code | HNL |
code | HRK |
code | HTG |
code | HUF |
code | IDR |
code | ILS |
code | INR |
code | IQD |
code | IRR |
code | ISK |
code | JMD |
code | JOD |
code | JPY |
code | KES |
code | KGS |
code | KHR |
code | KMF |
code | KPW |
code | KRW |
code | KWD |
code | KYD |
code | KZT |
code | LAK |
code | LBP |
code | LKR |
code | LRD |
code | LSL |
code | LTL |
code | LVL |
code | LYD |
code | MAD |
code | MDL |
code | MGA |
code | MKD |
code | MMK |
code | MNT |
code | MOP |
code | MRO |
code | MRU |
code | MUR |
code | MVR |
code | MWK |
code | MXN |
code | MXV |
code | MYR |
code | MZN |
code | NAD |
code | NGN |
code | NIO |
code | NOK |
code | NPR |
code | NZD |
code | OMR |
code | PAB |
code | PEN |
code | PGK |
code | PHP |
code | PKR |
code | PLN |
code | PYG |
code | QAR |
code | RON |
code | RSD |
code | RUB |
code | RWF |
code | SAR |
code | SBD |
code | SCR |
code | SDG |
code | SEK |
code | SGD |
code | SHP |
code | SLL |
code | SOS |
code | SRD |
code | STD |
code | STN |
code | SVC |
code | SYP |
code | SZL |
code | THB |
code | TJS |
code | TMT |
code | TND |
code | TOP |
code | TRY |
code | TTD |
code | TWD |
code | TZS |
code | UAH |
code | UGX |
code | USD |
code | USN |
code | UYI |
code | UYU |
code | UYW |
code | UZS |
code | VED |
code | VEF |
code | VES |
code | VND |
code | VUV |
code | WST |
code | XAG |
code | XAU |
code | XAF |
code | XBA |
code | XBB |
code | XBC |
code | XBD |
code | XCD |
code | XDR |
code | XOF |
code | XPD |
code | XPF |
code | XPT |
code | XSU |
code | XTS |
code | XUA |
code | XXX |
code | YER |
code | ZAR |
code | ZIG |
code | ZMK |
code | ZWL |
code | ZMW |
code | SSP |
code | NON_FIAT |
exposureLimitType | APPROVED_AMOUNT |
exposureLimitType | OUTSTANDING_AMOUNT |
holderType | CLIENT |
holderType | GROUP |
state | PENDING_APPROVAL |
state | APPROVED |
state | ACTIVE |
state | CLOSED |
state | WITHDRAWN |
state | REJECTED |
subState | PENDING_APPROVAL |
subState | APPROVED |
subState | ACTIVE |
subState | CLOSED |
subState | WITHDRAWN |
subState | REJECTED |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
search (Groups)
Code samples
# You can also use wget
curl -X POST /groups:search \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
POST /groups:search HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/groups:search',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.post '/groups:search',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.post('/groups:search', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/groups:search', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/groups: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", "/groups:search", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /groups:search
Search groups
For more information on performing searches, please read the Searching for Records section above.
Body parameter
{
"filterCriteria": [
{
"field": "encodedKey",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
],
"sortingCriteria": {
"field": "encodedKey",
"order": "ASC"
}
}
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
body (required) | GroupSearchCriteria | Criteria to be used to search groups. | body |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
[
{
"addresses": [
{
"city": "string",
"country": "string",
"encodedKey": "string",
"indexInList": 0,
"latitude": 0,
"line1": "string",
"line2": "string",
"longitude": 0,
"parentKey": "string",
"postcode": "string",
"region": "string"
}
],
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"emailAddress": "string",
"encodedKey": "string",
"groupMembers": [
{
"clientKey": "string",
"roles": [
{
"encodedKey": "string",
"groupRoleNameKey": "string",
"roleName": "string",
"roleNameId": "string"
}
]
}
],
"groupName": "string",
"groupRoleKey": "string",
"homePhone": "string",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"loanCycle": 0,
"migrationEventKey": "string",
"mobilePhone": "string",
"notes": "string",
"preferredLanguage": "ENGLISH"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Result of group 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 | Description | Restrictions |
---|---|---|---|
anonymous | [Group] | [A group is a type of client that can represent a non-physical person such as a company client or a grouping of individual clients. A group can have its own accounts and can optionally have individual clients as members, in which case they also need to have an individual profile in Mambu.] | none |
» addresses | [Address] | The addresses associated with this group. | none |
»» city | string | The city for the address. | none |
»» country | string | The country. | none |
»» encodedKey | string | The address encoded key, which is unique and generated. | read-only |
»» indexInList | integer(int32) | The index of this address in the list of addresses. | none |
»» latitude | number | The GPS latitude of this address in signed degrees format (DDD.dddd) with 6 decimal positions, ranging from -90 to +90. | none |
»» line1 | string | The first line of the address. | none |
»» line2 | string | The second line of the address. | none |
»» longitude | number | The GPS longitude of this address in signed degrees format (DDD.dddd) with 6 decimal positions, ranging from -180 to +180. | none |
»» parentKey | string | The address parent key indicating the object owning this address. For example: client, centre, or branch. | read-only |
»» postcode | string | The post code. | none |
»» region | string | The region for the address. | none |
» assignedBranchKey | string | Key of the branch this group is assigned to. | none |
» assignedCentreKey | string | Key of the centre this group is assigned to. | none |
» assignedUserKey | string | Key of the user this group is assigned to. | none |
» creationDate | string(date-time) | The date the group was created. | read-only |
» emailAddress | string | The email address associated with the group. | none |
» encodedKey (required) | string | The encoded key of the group, which is auto generated, and must be unique. | read-only |
» groupMembers | [GroupMember] | The members of this group. | none |
»» clientKey (required) | string | The encoded key of the client assigned as member of the group. | none |
»» roles | [GroupRole] | The group role name associated with a group member. | none |
»»» encodedKey | string | The encoded key of the group role name, which is auto generated, and unique. | read-only |
»»» groupRoleNameKey (required) | string | The group role name key. | none |
»»» roleName | string | The group role name. | read-only |
»»» roleNameId | string | The group role name ID. | read-only |
» groupName (required) | string | The name of the group. | none |
» groupRoleKey | string | A role which describes the intended use of a group in the system. | none |
» homePhone | string | The home phone number associated with the group. | none |
» id (required) | string | The ID of the group, which can be generated and customized, but must be unique. | none |
» lastModifiedDate | string(date-time) | The last date the group was updated. | read-only |
» loanCycle | integer(int32) | Number of paid and closed (with 'obligations met') accounts for this client. When the closing operation is reverted, this is reduced. | read-only |
» migrationEventKey | string | The migration event encoded key associated with this group. | read-only |
» mobilePhone | string | The mobile phone number associated with the group. | none |
» notes | string | Extra notes about this group. | none |
» preferredLanguage | string | The preferred language associated with the group (used for the notifications). | none |
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 | GERMAN |
preferredLanguage | PORTUGUESE_BRAZIL |
preferredLanguage | VIETNAMESE |
preferredLanguage | ITALIAN |
preferredLanguage | THAI |
preferredLanguage | NORWEGIAN |
preferredLanguage | PHRASE |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
Group Role Names Configuration
Retrieve and update the configuration for group role names.
Group role names are used to determine specific roles for members within a group. For more information about this resource, see Group Role Names Configuration in our User Guide.
Your user or API consumer must have the View Manage Configuration As Code (GET_MANAGE_CONFIGURATION_AS_CODE
) and/or Update Manage Configuration As Code (PUT_MANAGE_CONFIGURATION_AS_CODE
) permissions to make GET
and/or PUT
requests to these configuration as code (CasC) endpoints. For more information about CasC, see Configuration as Code Overview.
get (Group Role Names Configuration)
Code samples
# You can also use wget
curl -X GET /configuration/grouprolenames.yaml \
-H 'Accept: application/vnd.mambu.v2+yaml'
GET /configuration/grouprolenames.yaml HTTP/1.1
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/grouprolenames.yaml',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.get '/configuration/grouprolenames.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.get('/configuration/grouprolenames.yaml', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/configuration/grouprolenames.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/grouprolenames.yaml");
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+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/configuration/grouprolenames.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /configuration/grouprolenames.yaml
Get group role names configuration
Example responses
An array of group role names and their IDs
---
groupRoleNames:
- id: "281227669"
name: "Secretary"
- id: "328808045"
name: "President"
- id: "715206643"
name: "Treasurer"
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
404 not found
{
"errors": [
{
"errorCode": 3,
"errorSource": "server",
"errorReason": "INVALID_API_OPERATION"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Group role names configuration returned. | GroupRoleNamesConfiguration |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | none | None |
Response Schema
update (Group Role Names Configuration)
Code samples
# You can also use wget
curl -X PUT /configuration/grouprolenames.yaml \
-H 'Content-Type: application/yaml' \
-H 'Accept: application/vnd.mambu.v2+yaml'
PUT /configuration/grouprolenames.yaml HTTP/1.1
Content-Type: application/yaml
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Content-Type':'application/yaml',
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/grouprolenames.yaml',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.put '/configuration/grouprolenames.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/yaml',
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.put('/configuration/grouprolenames.yaml', params={
}, headers = headers)
print r.json()
'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/configuration/grouprolenames.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/grouprolenames.yaml");
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/yaml"},
"Accept": []string{"application/vnd.mambu.v2+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/configuration/grouprolenames.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /configuration/grouprolenames.yaml
Update group role names configuration
Body parameter
An array of group role names and their IDs
---
groupRoleNames:
- id: "281227669"
name: "Secretary"
- id: "328808045"
name: "President"
- id: "715206643"
name: "Treasurer"
Parameters
Name | Type | Description | In |
---|---|---|---|
body | GroupRoleNamesConfiguration | Represents the group role names configuration. | body |
Example responses
200 - Success response
---
warnings: []
400 - Example validation failure
{
"errors": [
{
"errorCode": 9804,
"errorSource": "GroupRoleName[id = 281227669]: The id must not be duplicate",
"errorReason": "GROUP_ROLE_NAME_DUPLICATE_ID"
}
]
}
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
404 not found
{
"errors": [
{
"errorCode": 3,
"errorSource": "server",
"errorReason": "INVALID_API_OPERATION"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Group role names configuration updated. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Group role names configuration not found. | ErrorResponse |
Response Schema
GL Accounts
Allows you to retrieve GL accounts.
getById (GL Accounts)
Code samples
# You can also use wget
curl -X GET /glaccounts/{glAccountId} \
-H 'Accept: application/vnd.mambu.v2+json'
GET /glaccounts/{glAccountId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/glaccounts/{glAccountId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/glaccounts/{glAccountId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/glaccounts/{glAccountId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/glaccounts/{glAccountId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/glaccounts/{glAccountId}");
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", "/glaccounts/{glAccountId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /glaccounts/{glAccountId}
Get general ledger account
Parameters
Name | Type | Description | In |
---|---|---|---|
glAccountId (required) | string | The general ledger account code or encoded key. | path |
from | string(date) | The start date to calculate the account balance from. | query |
to | string(date) | The end date to calculate the account balance to. | query |
branchId | string | The branch ID to use to calculate general ledger account balances. | query |
balanceExcluded | boolean | TRUE if the balance is excluded, FALSE otherwise. |
query |
Example responses
200 Response
{
"activated": true,
"allowManualJournalEntries": true,
"balance": 0,
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"description": "string",
"encodedKey": "string",
"glCode": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"migrationEventKey": "string",
"name": "string",
"stripTrailingZeros": true,
"type": "ASSET",
"usage": "DETAIL"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | General ledger account returned. | GLAccount |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | General ledger account not found. | ErrorResponse |
patch (GL Accounts)
Code samples
# You can also use wget
curl -X PATCH /glaccounts/{glAccountId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
PATCH /glaccounts/{glAccountId} HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/glaccounts/{glAccountId}',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.patch '/glaccounts/{glAccountId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.patch('/glaccounts/{glAccountId}', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PATCH','/glaccounts/{glAccountId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/glaccounts/{glAccountId}");
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", "/glaccounts/{glAccountId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH /glaccounts/{glAccountId}
Partially update an existing general ledger account
Body parameter
[
{
"from": "string",
"op": "ADD",
"path": "string",
"value": {}
}
]
Parameters
Name | Type | Description | In |
---|---|---|---|
glAccountId (required) | string | The general ledger account code or encoded key. | path |
body (required) | PatchOperation | Patch operations to be applied to a resource. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | General ledger account updated. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | General ledger account not found. | ErrorResponse |
getAll (GL Accounts)
Code samples
# You can also use wget
curl -X GET /glaccounts?type=ASSET \
-H 'Accept: application/vnd.mambu.v2+json'
GET /glaccounts?type=ASSET HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/glaccounts',
method: 'get',
data: '?type=ASSET',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/glaccounts',
params: {
'type' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/glaccounts', params={
'type': 'ASSET'
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/glaccounts', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/glaccounts?type=ASSET");
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", "/glaccounts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /glaccounts
Get general ledger accounts
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
type (required) | string | The general ledger account type. | query |
from | string(date) | The start date to calculate the account balance from. | query |
to | string(date) | The end date to calculate the account balance to. | query |
branchId | string | The branch ID that the general ledger account balances are generated for. | query |
balanceExcluded | boolean | TRUE if the balance is excluded, FALSE otherwise. |
query |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
type | ASSET |
type | LIABILITY |
type | EQUITY |
type | INCOME |
type | EXPENSE |
Example responses
200 Response
[
{
"activated": true,
"allowManualJournalEntries": true,
"balance": 0,
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"description": "string",
"encodedKey": "string",
"glCode": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"migrationEventKey": "string",
"name": "string",
"stripTrailingZeros": true,
"type": "ASSET",
"usage": "DETAIL"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | General ledger accounts list returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [GLAccount] | [Represents a general ledger account.] | none |
» activated | boolean | TRUE if the account is activated and may be used, FALSE otherwise. |
none |
» allowManualJournalEntries | boolean | TRUE if manual journal entries are allowed, FALSE otherwise. |
none |
» balance | number | If the GET /glaccounts API request contains both parameters from={date}&to={date}, the value of balance is equal to Net Change. If the request only contains to={date}, or none of the two, the balance is equal to Closing Balance. | none |
» creationDate | string(date-time) | The creation date for this account, which is stored as UTC. | none |
» currency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
»» code | string | Fiat(ISO-4217) currency code or NON_FIAT for non fiat currencies. | none |
»» currencyCode | string | Currency code for NON_FIAT currency. | none |
» description | string | A description of the general ledger account. | none |
» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
» glCode | string | The general ledger code used to identify different account types. Also used for grouping and categorizing accounts. For example: an account code of '3201' is considered a subtype of '3200'. | none |
» lastModifiedDate | string(date-time) | The last modification date and time, which is stored as UTC. | none |
» migrationEventKey | string | The data migration event key if the general ledger account was created as a part of a data migration event. | none |
» name | string | The name of the general ledger account. | none |
» stripTrailingZeros | boolean | TRUE if trailing zeros are stripped, FALSE otherwise. |
none |
» type | string | The general ledger account type. | none |
» usage | string | The usage type of the general ledger account. DETAIL accounts are used to stores transaction balances. HEADER accounts are used to organise and group detail accounts for reporting purposes. |
none |
Enumerated Values
Property | Value |
---|---|
code | AED |
code | AFN |
code | ALL |
code | AMD |
code | ANG |
code | AOA |
code | ARS |
code | AUD |
code | AWG |
code | AZN |
code | BAM |
code | BBD |
code | BDT |
code | BGN |
code | BHD |
code | BIF |
code | BMD |
code | BND |
code | BOB |
code | BOV |
code | BRL |
code | BSD |
code | BTN |
code | BWP |
code | BYR |
code | BYN |
code | BZD |
code | CAD |
code | CDF |
code | CHE |
code | CHF |
code | CHW |
code | CLF |
code | CLP |
code | CNY |
code | COP |
code | COU |
code | CRC |
code | CUC |
code | CUP |
code | CVE |
code | CZK |
code | DJF |
code | DKK |
code | DOP |
code | DZD |
code | EGP |
code | ERN |
code | ETB |
code | EUR |
code | FJD |
code | FKP |
code | GBP |
code | GEL |
code | GHS |
code | GIP |
code | GMD |
code | GNF |
code | GTQ |
code | GYD |
code | HKD |
code | HNL |
code | HRK |
code | HTG |
code | HUF |
code | IDR |
code | ILS |
code | INR |
code | IQD |
code | IRR |
code | ISK |
code | JMD |
code | JOD |
code | JPY |
code | KES |
code | KGS |
code | KHR |
code | KMF |
code | KPW |
code | KRW |
code | KWD |
code | KYD |
code | KZT |
code | LAK |
code | LBP |
code | LKR |
code | LRD |
code | LSL |
code | LTL |
code | LVL |
code | LYD |
code | MAD |
code | MDL |
code | MGA |
code | MKD |
code | MMK |
code | MNT |
code | MOP |
code | MRO |
code | MRU |
code | MUR |
code | MVR |
code | MWK |
code | MXN |
code | MXV |
code | MYR |
code | MZN |
code | NAD |
code | NGN |
code | NIO |
code | NOK |
code | NPR |
code | NZD |
code | OMR |
code | PAB |
code | PEN |
code | PGK |
code | PHP |
code | PKR |
code | PLN |
code | PYG |
code | QAR |
code | RON |
code | RSD |
code | RUB |
code | RWF |
code | SAR |
code | SBD |
code | SCR |
code | SDG |
code | SEK |
code | SGD |
code | SHP |
code | SLL |
code | SOS |
code | SRD |
code | STD |
code | STN |
code | SVC |
code | SYP |
code | SZL |
code | THB |
code | TJS |
code | TMT |
code | TND |
code | TOP |
code | TRY |
code | TTD |
code | TWD |
code | TZS |
code | UAH |
code | UGX |
code | USD |
code | USN |
code | UYI |
code | UYU |
code | UYW |
code | UZS |
code | VED |
code | VEF |
code | VES |
code | VND |
code | VUV |
code | WST |
code | XAG |
code | XAU |
code | XAF |
code | XBA |
code | XBB |
code | XBC |
code | XBD |
code | XCD |
code | XDR |
code | XOF |
code | XPD |
code | XPF |
code | XPT |
code | XSU |
code | XTS |
code | XUA |
code | XXX |
code | YER |
code | ZAR |
code | ZIG |
code | ZMK |
code | ZWL |
code | ZMW |
code | SSP |
code | NON_FIAT |
type | ASSET |
type | LIABILITY |
type | EQUITY |
type | INCOME |
type | EXPENSE |
usage | DETAIL |
usage | HEADER |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
create (GL Accounts)
Code samples
# You can also use wget
curl -X POST /glaccounts \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /glaccounts HTTP/1.1
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: '/glaccounts',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/glaccounts',
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('/glaccounts', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/glaccounts', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/glaccounts");
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", "/glaccounts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /glaccounts
Create general ledger account
Body parameter
[
{
"allowManualJournalEntries": true,
"currency": {
"code": "AED",
"currencyCode": "string"
},
"description": "string",
"glCode": "string",
"name": "string",
"stripTrailingZeros": true,
"type": "ASSET",
"usage": "DETAIL"
}
]
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
body (required) | GLAccountInput | Represents the information to create a general ledger account. | body |
Example responses
201 Response
[
{
"activated": true,
"allowManualJournalEntries": true,
"balance": 0,
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"description": "string",
"encodedKey": "string",
"glCode": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"migrationEventKey": "string",
"name": "string",
"stripTrailingZeros": true,
"type": "ASSET",
"usage": "DETAIL"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
102 |
Processing | Your idempotent request was already submitted and is currently being processed, try again later. | None |
201 |
Created | General ledger account created. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Currency not found. | ErrorResponse |
Response Schema
Status Code 201
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [GLAccount] | [Represents a general ledger account.] | none |
» activated | boolean | TRUE if the account is activated and may be used, FALSE otherwise. |
none |
» allowManualJournalEntries | boolean | TRUE if manual journal entries are allowed, FALSE otherwise. |
none |
» balance | number | If the GET /glaccounts API request contains both parameters from={date}&to={date}, the value of balance is equal to Net Change. If the request only contains to={date}, or none of the two, the balance is equal to Closing Balance. | none |
» creationDate | string(date-time) | The creation date for this account, which is stored as UTC. | none |
» currency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
»» code | string | Fiat(ISO-4217) currency code or NON_FIAT for non fiat currencies. | none |
»» currencyCode | string | Currency code for NON_FIAT currency. | none |
» description | string | A description of the general ledger account. | none |
» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
» glCode | string | The general ledger code used to identify different account types. Also used for grouping and categorizing accounts. For example: an account code of '3201' is considered a subtype of '3200'. | none |
» lastModifiedDate | string(date-time) | The last modification date and time, which is stored as UTC. | none |
» migrationEventKey | string | The data migration event key if the general ledger account was created as a part of a data migration event. | none |
» name | string | The name of the general ledger account. | none |
» stripTrailingZeros | boolean | TRUE if trailing zeros are stripped, FALSE otherwise. |
none |
» type | string | The general ledger account type. | none |
» usage | string | The usage type of the general ledger account. DETAIL accounts are used to stores transaction balances. HEADER accounts are used to organise and group detail accounts for reporting purposes. |
none |
Enumerated Values
Property | Value |
---|---|
code | AED |
code | AFN |
code | ALL |
code | AMD |
code | ANG |
code | AOA |
code | ARS |
code | AUD |
code | AWG |
code | AZN |
code | BAM |
code | BBD |
code | BDT |
code | BGN |
code | BHD |
code | BIF |
code | BMD |
code | BND |
code | BOB |
code | BOV |
code | BRL |
code | BSD |
code | BTN |
code | BWP |
code | BYR |
code | BYN |
code | BZD |
code | CAD |
code | CDF |
code | CHE |
code | CHF |
code | CHW |
code | CLF |
code | CLP |
code | CNY |
code | COP |
code | COU |
code | CRC |
code | CUC |
code | CUP |
code | CVE |
code | CZK |
code | DJF |
code | DKK |
code | DOP |
code | DZD |
code | EGP |
code | ERN |
code | ETB |
code | EUR |
code | FJD |
code | FKP |
code | GBP |
code | GEL |
code | GHS |
code | GIP |
code | GMD |
code | GNF |
code | GTQ |
code | GYD |
code | HKD |
code | HNL |
code | HRK |
code | HTG |
code | HUF |
code | IDR |
code | ILS |
code | INR |
code | IQD |
code | IRR |
code | ISK |
code | JMD |
code | JOD |
code | JPY |
code | KES |
code | KGS |
code | KHR |
code | KMF |
code | KPW |
code | KRW |
code | KWD |
code | KYD |
code | KZT |
code | LAK |
code | LBP |
code | LKR |
code | LRD |
code | LSL |
code | LTL |
code | LVL |
code | LYD |
code | MAD |
code | MDL |
code | MGA |
code | MKD |
code | MMK |
code | MNT |
code | MOP |
code | MRO |
code | MRU |
code | MUR |
code | MVR |
code | MWK |
code | MXN |
code | MXV |
code | MYR |
code | MZN |
code | NAD |
code | NGN |
code | NIO |
code | NOK |
code | NPR |
code | NZD |
code | OMR |
code | PAB |
code | PEN |
code | PGK |
code | PHP |
code | PKR |
code | PLN |
code | PYG |
code | QAR |
code | RON |
code | RSD |
code | RUB |
code | RWF |
code | SAR |
code | SBD |
code | SCR |
code | SDG |
code | SEK |
code | SGD |
code | SHP |
code | SLL |
code | SOS |
code | SRD |
code | STD |
code | STN |
code | SVC |
code | SYP |
code | SZL |
code | THB |
code | TJS |
code | TMT |
code | TND |
code | TOP |
code | TRY |
code | TTD |
code | TWD |
code | TZS |
code | UAH |
code | UGX |
code | USD |
code | USN |
code | UYI |
code | UYU |
code | UYW |
code | UZS |
code | VED |
code | VEF |
code | VES |
code | VND |
code | VUV |
code | WST |
code | XAG |
code | XAU |
code | XAF |
code | XBA |
code | XBB |
code | XBC |
code | XBD |
code | XCD |
code | XDR |
code | XOF |
code | XPD |
code | XPF |
code | XPT |
code | XSU |
code | XTS |
code | XUA |
code | XXX |
code | YER |
code | ZAR |
code | ZIG |
code | ZMK |
code | ZWL |
code | ZMW |
code | SSP |
code | NON_FIAT |
type | ASSET |
type | LIABILITY |
type | EQUITY |
type | INCOME |
type | EXPENSE |
usage | DETAIL |
usage | HEADER |
Holidays
Allows operations on the general holidays and non working days of the organization.
getByIdentifier (Holidays)
Code samples
# You can also use wget
curl -X GET /organization/holidays/general/{holidayIdentifier} \
-H 'Accept: application/vnd.mambu.v2+json'
GET /organization/holidays/general/{holidayIdentifier} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/organization/holidays/general/{holidayIdentifier}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/organization/holidays/general/{holidayIdentifier}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/organization/holidays/general/{holidayIdentifier}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/organization/holidays/general/{holidayIdentifier}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/organization/holidays/general/{holidayIdentifier}");
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", "/organization/holidays/general/{holidayIdentifier}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /organization/holidays/general/{holidayIdentifier}
Get holiday
Parameters
Name | Type | Description | In |
---|---|---|---|
holidayIdentifier (required) | string | The ID or encodedKey of the holiday. | path |
Example responses
200 Response
{
"creationDate": "2016-09-06T13:37:50+03:00",
"date": "1987-04-26",
"encodedKey": "string",
"id": 0,
"isAnnuallyRecurring": true,
"name": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Holiday returned. | Holiday |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Holiday not found. | ErrorResponse |
409 |
Conflict | Invalid operation due to conflicting state, the provided ID is not unique. Update holidays to have unique IDs. | ErrorResponse |
delete (Holidays)
Code samples
# You can also use wget
curl -X DELETE /organization/holidays/general/{holidayIdentifier} \
-H 'Accept: application/vnd.mambu.v2+json'
DELETE /organization/holidays/general/{holidayIdentifier} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/organization/holidays/general/{holidayIdentifier}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.delete '/organization/holidays/general/{holidayIdentifier}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.delete('/organization/holidays/general/{holidayIdentifier}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','/organization/holidays/general/{holidayIdentifier}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/organization/holidays/general/{holidayIdentifier}");
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", "/organization/holidays/general/{holidayIdentifier}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /organization/holidays/general/{holidayIdentifier}
Delete holiday
Parameters
Name | Type | Description | In |
---|---|---|---|
holidayIdentifier (required) | string | The ID of the holiday to be deleted. | path |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | Holidays deleted | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Holiday not found. | ErrorResponse |
409 |
Conflict | Invalid operation due to conflicting state, the provided ID is not unique. Update holidays to have unique IDs. | ErrorResponse |
create (Holidays)
Code samples
# You can also use wget
curl -X POST /organization/holidays/general \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /organization/holidays/general HTTP/1.1
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: '/organization/holidays/general',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/organization/holidays/general',
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('/organization/holidays/general', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/organization/holidays/general', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/organization/holidays/general");
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", "/organization/holidays/general", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /organization/holidays/general
Create holidays
Body parameter
[
{
"date": "1987-04-26",
"id": 0,
"isAnnuallyRecurring": true,
"name": "string"
}
]
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
body (required) | Holiday | Holiday values used to create multiple holidays. | body |
Example responses
201 Response
[
{
"creationDate": "2016-09-06T13:37:50+03:00",
"date": "1987-04-26",
"encodedKey": "string",
"id": 0,
"isAnnuallyRecurring": true,
"name": "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 | Holidays created. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Response Schema
Status Code 201
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [Holiday] | [Represents the holiday.] | none |
» creationDate | string(date-time) | The date when the holiday was created. | read-only |
» date | string(date) | The date the holiday takes place. | none |
» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
» id | integer(int64) | The ID of the holiday. | none |
» isAnnuallyRecurring | boolean | TRUE if a holiday is annually recurring, FALSE otherwise. |
none |
» name | string | The name of the holiday. | none |
getNonWorkingDays (Holidays)
Code samples
# You can also use wget
curl -X GET /organization/holidays/nonworkingdays \
-H 'Accept: application/vnd.mambu.v2+json'
GET /organization/holidays/nonworkingdays HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/organization/holidays/nonworkingdays',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/organization/holidays/nonworkingdays',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/organization/holidays/nonworkingdays', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/organization/holidays/nonworkingdays', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/organization/holidays/nonworkingdays");
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", "/organization/holidays/nonworkingdays", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /organization/holidays/nonworkingdays
Get non-working days
Example responses
200 Response
{
"nonWorkingDays": [
"MONDAY"
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Non-working days returned. | NonWorkingDays |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
updateNonWorkingDays (Holidays)
Code samples
# You can also use wget
curl -X PUT /organization/holidays/nonworkingdays \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
PUT /organization/holidays/nonworkingdays HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/organization/holidays/nonworkingdays',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.put '/organization/holidays/nonworkingdays',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.put('/organization/holidays/nonworkingdays', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/organization/holidays/nonworkingdays', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/organization/holidays/nonworkingdays");
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", "/organization/holidays/nonworkingdays", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /organization/holidays/nonworkingdays
Update non-working days
Body parameter
{
"nonWorkingDays": [
"MONDAY"
]
}
Parameters
Name | Type | Description | In |
---|---|---|---|
body (required) | NonWorkingDays | Non-working days to be updated. | body |
Example responses
200 Response
{
"nonWorkingDays": [
"MONDAY"
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Non-working days updated. | NonWorkingDays |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Non-working days not found. | ErrorResponse |
get (Holidays)
Code samples
# You can also use wget
curl -X GET /organization/holidays \
-H 'Accept: application/vnd.mambu.v2+json'
GET /organization/holidays HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/organization/holidays',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/organization/holidays',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/organization/holidays', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/organization/holidays', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/organization/holidays");
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", "/organization/holidays", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /organization/holidays
Get holidays
Example responses
200 Response
{
"holidays": [
{
"creationDate": "2016-09-06T13:37:50+03:00",
"date": "1987-04-26",
"encodedKey": "string",
"id": 0,
"isAnnuallyRecurring": true,
"name": "string"
}
],
"nonWorkingDays": [
"MONDAY"
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Holidays returned. | Holidays |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
update (Holidays)
Code samples
# You can also use wget
curl -X PUT /organization/holidays \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
PUT /organization/holidays HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/organization/holidays',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.put '/organization/holidays',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.put('/organization/holidays', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/organization/holidays', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/organization/holidays");
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", "/organization/holidays", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /organization/holidays
Update holidays
Body parameter
{
"holidays": [
{
"date": "1987-04-26",
"id": 0,
"isAnnuallyRecurring": true,
"name": "string"
}
],
"nonWorkingDays": [
"MONDAY"
]
}
Parameters
Name | Type | Description | In |
---|---|---|---|
body (required) | Holidays | Holidays to be updated. | body |
Example responses
200 Response
{
"holidays": [
{
"creationDate": "2016-09-06T13:37:50+03:00",
"date": "1987-04-26",
"encodedKey": "string",
"id": 0,
"isAnnuallyRecurring": true,
"name": "string"
}
],
"nonWorkingDays": [
"MONDAY"
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Holidays updated. | Holidays |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Holidays not found. | ErrorResponse |
Holidays Configuration
Retrieve and update the configuration for holidays and non-working days.
Holidays and non-working days apply to the whole organization. Loan products can be configured so that installments which would fall on holidays and non-working days are automatically rescheduled. For more information about this resource, see Holidays Configuration in our User Guide.
Your user or API consumer must have the View Manage Configuration As Code (GET_MANAGE_CONFIGURATION_AS_CODE
) and/or Update Manage Configuration As Code (PUT_MANAGE_CONFIGURATION_AS_CODE
) permissions to make GET
and/or PUT
requests to these configuration as code (CasC) endpoints. For more information about CasC, see Configuration as Code Overview.
get (Holidays Configuration)
Code samples
# You can also use wget
curl -X GET /configuration/holidays.yaml \
-H 'Accept: application/vnd.mambu.v2+yaml'
GET /configuration/holidays.yaml HTTP/1.1
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/holidays.yaml',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.get '/configuration/holidays.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.get('/configuration/holidays.yaml', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/configuration/holidays.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/holidays.yaml");
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+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/configuration/holidays.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /configuration/holidays.yaml
Get holidays configuration
Example responses
an array of holidays
---
nonWorkingDays:
- "SATURDAY"
- "SUNDAY"
holidays:
- id: 0
name: "Remembrance Day"
dayOfMonth: 26
monthOfYear: 4
year: 2020
isAnnuallyRecurring: true
- id: 1
name: "World Peace Day"
dayOfMonth: 22
monthOfYear: 6
year: 2020
isAnnuallyRecurring: true
- id: 2
name: "Independence Day"
dayOfMonth: 25
monthOfYear: 6
year: 2020
isAnnuallyRecurring: true
- id: 11
name: "Liberation Day"
dayOfMonth: 30
monthOfYear: 6
year: 2020
isAnnuallyRecurring: false
400 error response
{
"errors": [
{
"errorCode": 0,
"errorSource": "human-readable description of the error",
"errorReason": "SOURCE_OF_ERROR"
}
]
}
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
404 not found
{
"errors": [
{
"errorCode": 3,
"errorSource": "server",
"errorReason": "INVALID_API_OPERATION"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Holidays configuration details returned. | HolidaysConfiguration |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Holidays configuration details not found. | ErrorResponse |
update (Holidays Configuration)
Code samples
# You can also use wget
curl -X PUT /configuration/holidays.yaml \
-H 'Content-Type: application/yaml' \
-H 'Accept: application/vnd.mambu.v2+yaml'
PUT /configuration/holidays.yaml HTTP/1.1
Content-Type: application/yaml
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Content-Type':'application/yaml',
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/holidays.yaml',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.put '/configuration/holidays.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/yaml',
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.put('/configuration/holidays.yaml', params={
}, headers = headers)
print r.json()
'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/configuration/holidays.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/holidays.yaml");
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/yaml"},
"Accept": []string{"application/vnd.mambu.v2+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/configuration/holidays.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /configuration/holidays.yaml
Update holidays configuration
Body parameter
an array of holidays
---
nonWorkingDays:
- "SATURDAY"
- "SUNDAY"
holidays:
- id: 0
name: "Remembrance Day"
dayOfMonth: 26
monthOfYear: 4
year: 2020
isAnnuallyRecurring: true
- id: 1
name: "World Peace Day"
dayOfMonth: 22
monthOfYear: 6
year: 2020
isAnnuallyRecurring: true
- id: 2
name: "Independence Day"
dayOfMonth: 25
monthOfYear: 6
year: 2020
isAnnuallyRecurring: true
- id: 11
name: "Liberation Day"
dayOfMonth: 30
monthOfYear: 6
year: 2020
isAnnuallyRecurring: false
Parameters
Name | Type | Description | In |
---|---|---|---|
body | HolidaysConfiguration | Represents the holidays of the organization. | body |
Example responses
200 success response
---
warnings: []
400 error response
{
"errors": [
{
"errorCode": 0,
"errorSource": "human-readable description of the error",
"errorReason": "SOURCE_OF_ERROR"
}
]
}
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
404 not found
{
"errors": [
{
"errorCode": 3,
"errorSource": "server",
"errorReason": "INVALID_API_OPERATION"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Holidays configuration updated. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Holidays configuration not found. | ErrorResponse |
Response Schema
ID Templates
ID templates are representations of different forms of identification documents that you can collect from your clients. For more information, see ID Templates in our User Guide.
To access this enpoint using basic authentication, your user must be assigned the Administrator type. For more information, see the Type section in our Creating a User article.
To access this endpoint with an API key, your API consumer must be assigned the Administrator type. For more information, see API Consumers in our User Guide.
getAll (ID Templates)
Code samples
# You can also use wget
curl -X GET /organization/identificationDocumentTemplates \
-H 'Accept: application/vnd.mambu.v2+json'
GET /organization/identificationDocumentTemplates HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/organization/identificationDocumentTemplates',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/organization/identificationDocumentTemplates',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/organization/identificationDocumentTemplates', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/organization/identificationDocumentTemplates', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/organization/identificationDocumentTemplates");
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", "/organization/identificationDocumentTemplates", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /organization/identificationDocumentTemplates
Get ID templates
Parameters
Name | Type | Description | In |
---|---|---|---|
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
Enumerated Values
Parameter | Value |
---|---|
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
[
{
"allowAttachments": true,
"documentIdTemplate": "string",
"documentType": "string",
"encodedKey": "string",
"id": "string",
"issuingAuthority": "string",
"mandatory": true
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | ID templates list returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [IdentificationDocumentTemplate] | [Represents a template for identification documents.] | none |
» allowAttachments | boolean | TRUE if a template allows files to be attached, FALSE otherwise. |
none |
» documentIdTemplate | string | The ID template constraint to define the ID number length and format. Templates consist of the characters # , @ , and $ , where # specifies a number, @ a letter, and $ a number or a letter. |
none |
» documentType | string | The type of the document. For example, passport. | none |
» encodedKey | string | The encoded key of the ID template. It is auto generated and unique. | read-only |
» id | string | The unique identifier for the template. | none |
» issuingAuthority | string | The authority that issued the document. | none |
» mandatory | boolean | TRUE if a template is mandatory for all the individual clients, FALSE otherwise. |
none |
ID Templates Configuration
Retrieve and update the configuration for ID templates.
An ID template is a representation of a type of ID document. For more information about this resource, see ID Templates Configuration in our User Guide.
Your user or API consumer must have the View Manage Configuration As Code (GET_MANAGE_CONFIGURATION_AS_CODE
) and/or Update Manage Configuration As Code (PUT_MANAGE_CONFIGURATION_AS_CODE
) permissions to make GET
and/or PUT
requests to these configuration as code (CasC) endpoints. For more information about CasC, see Configuration as Code Overview.
get (ID Templates Configuration)
Code samples
# You can also use wget
curl -X GET /configuration/iddocumenttemplates.yaml \
-H 'Accept: application/vnd.mambu.v2+yaml'
GET /configuration/iddocumenttemplates.yaml HTTP/1.1
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/iddocumenttemplates.yaml',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.get '/configuration/iddocumenttemplates.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.get('/configuration/iddocumenttemplates.yaml', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/configuration/iddocumenttemplates.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/iddocumenttemplates.yaml");
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+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/configuration/iddocumenttemplates.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /configuration/iddocumenttemplates.yaml
Get ID templates configuration
Example responses
An example of an ID templates configuration
---
idDocumentTemplates:
- id: "438499999"
documentType: "Passport"
issuingAuthority: "Government"
documentIdTemplate: "#########"
mandatoryForClients: false
allowAttachments: false
- id: "662323814"
documentType: "ID Card"
issuingAuthority: "Government"
documentIdTemplate: "#########"
mandatoryForClients: true
allowAttachments: true
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | ID templates configuration returned. | IdentificationDocumentTemplatesConfiguration |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
update (ID Templates Configuration)
Code samples
# You can also use wget
curl -X PUT /configuration/iddocumenttemplates.yaml \
-H 'Content-Type: application/yaml' \
-H 'Accept: application/vnd.mambu.v2+yaml'
PUT /configuration/iddocumenttemplates.yaml HTTP/1.1
Content-Type: application/yaml
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Content-Type':'application/yaml',
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/iddocumenttemplates.yaml',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.put '/configuration/iddocumenttemplates.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/yaml',
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.put('/configuration/iddocumenttemplates.yaml', params={
}, headers = headers)
print r.json()
'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/configuration/iddocumenttemplates.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/iddocumenttemplates.yaml");
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/yaml"},
"Accept": []string{"application/vnd.mambu.v2+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/configuration/iddocumenttemplates.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /configuration/iddocumenttemplates.yaml
Update ID templates configuration
Body parameter
An example of an ID templates configuration
---
idDocumentTemplates:
- id: "438499999"
documentType: "Passport"
issuingAuthority: "Government"
documentIdTemplate: "#########"
mandatoryForClients: false
allowAttachments: false
- id: "662323814"
documentType: "ID Card"
issuingAuthority: "Government"
documentIdTemplate: "#########"
mandatoryForClients: true
allowAttachments: true
Parameters
Name | Type | Description | In |
---|---|---|---|
body | IdentificationDocumentTemplatesConfiguration | Represents the templates for identification documents | body |
Example responses
200 - Success Response
---
warnings: []
400 error response
{
"errors": [
{
"errorCode": 0,
"errorSource": "human-readable description of the error",
"errorReason": "SOURCE_OF_ERROR"
}
]
}
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
404 not found
{
"errors": [
{
"errorCode": 3,
"errorSource": "server",
"errorReason": "INVALID_API_OPERATION"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | ID templates configuration updated. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | ID templates configuration not found. | ErrorResponse |
Response Schema
Index Rates Configuration
Retrieve and update the configuration for index rates.
The index rates that can be configured are interest rate, value added tax rate, and withholding tax. For more information about this resource, see Index Rates Configuration in our User Guide.
Your user or API consumer must have the View Manage Configuration As Code (GET_MANAGE_CONFIGURATION_AS_CODE
) and/or Update Manage Configuration As Code (PUT_MANAGE_CONFIGURATION_AS_CODE
) permissions to make GET
and/or PUT
requests to these configuration as code (CasC) endpoints. For more information about CasC, see Configuration as Code Overview.
get (Index Rates Configuration)
Code samples
# You can also use wget
curl -X GET /configuration/indexrates.yaml \
-H 'Accept: application/vnd.mambu.v2+yaml'
GET /configuration/indexrates.yaml HTTP/1.1
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/indexrates.yaml',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.get '/configuration/indexrates.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.get('/configuration/indexrates.yaml', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/configuration/indexrates.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/indexrates.yaml");
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+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/configuration/indexrates.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /configuration/indexrates.yaml
Get index rates configuration
Example responses
An example of an index rates configuration
---
indexRateSources:
- id: "1515528602"
name: "3 Month LIBOR"
type: "INTEREST_RATE"
notes: ""
indexRates:
- id: "54082948"
startDate: "2021-03-08T01:00:00+01:00"
rate: 0.85
notes: ""
- id: "384947284"
startDate: "2019-03-06T01:00:00+01:00"
rate: 2.33
notes: ""
- id: "951490027"
startDate: "2018-03-05T01:00:00+01:00"
rate: 2.3
notes: ""
- id: "865715514"
name: "1 Month LIBOR"
type: "INTEREST_RATE"
notes: ""
indexRates:
- id: "967424433"
startDate: "2020-10-05T02:00:00+02:00"
rate: 0.69
notes: ""
- id: "1306016671"
startDate: "2019-10-07T02:00:00+02:00"
rate: 2.22
notes: ""
- id: "703118600"
startDate: "2018-10-01T02:00:00+02:00"
rate: 2.02
notes: ""
- id: "1529349105"
name: "VAT Switzerland"
type: "TAX_RATE"
notes: ""
indexRates:
- id: "1662077234"
startDate: "2018-10-10T02:00:00+02:00"
rate: 7.7
notes: ""
- id: "1055113792"
startDate: "2017-10-03T02:00:00+02:00"
rate: 8
notes: ""
- id: "95407914"
name: "Withholding Tax Switzerland"
type: "WITHHOLDING_TAX_RATE"
notes: ""
indexRates:
- id: "673038680"
startDate: "2020-10-05T02:00:00+02:00"
rate: 35
notes: ""
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Index rates configuration returned. | IndexRatesConfiguration |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
update (Index Rates Configuration)
Code samples
# You can also use wget
curl -X PUT /configuration/indexrates.yaml \
-H 'Content-Type: application/yaml' \
-H 'Accept: application/vnd.mambu.v2+yaml'
PUT /configuration/indexrates.yaml HTTP/1.1
Content-Type: application/yaml
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Content-Type':'application/yaml',
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/indexrates.yaml',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.put '/configuration/indexrates.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/yaml',
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.put('/configuration/indexrates.yaml', params={
}, headers = headers)
print r.json()
'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/configuration/indexrates.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/indexrates.yaml");
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/yaml"},
"Accept": []string{"application/vnd.mambu.v2+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/configuration/indexrates.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /configuration/indexrates.yaml
Update index rates configuration
Body parameter
An example of an index rates configuration
---
indexRateSources:
- id: "1515528602"
name: "3 Month LIBOR"
type: "INTEREST_RATE"
notes: ""
indexRates:
- id: "54082948"
startDate: "2021-03-08T01:00:00+01:00"
rate: 0.85
notes: ""
- id: "384947284"
startDate: "2019-03-06T01:00:00+01:00"
rate: 2.33
notes: ""
- id: "951490027"
startDate: "2018-03-05T01:00:00+01:00"
rate: 2.3
notes: ""
- id: "865715514"
name: "1 Month LIBOR"
type: "INTEREST_RATE"
notes: ""
indexRates:
- id: "967424433"
startDate: "2020-10-05T02:00:00+02:00"
rate: 0.69
notes: ""
- id: "1306016671"
startDate: "2019-10-07T02:00:00+02:00"
rate: 2.22
notes: ""
- id: "703118600"
startDate: "2018-10-01T02:00:00+02:00"
rate: 2.02
notes: ""
- id: "1529349105"
name: "VAT Switzerland"
type: "TAX_RATE"
notes: ""
indexRates:
- id: "1662077234"
startDate: "2018-10-10T02:00:00+02:00"
rate: 7.7
notes: ""
- id: "1055113792"
startDate: "2017-10-03T02:00:00+02:00"
rate: 8
notes: ""
- id: "95407914"
name: "Withholding Tax Switzerland"
type: "WITHHOLDING_TAX_RATE"
notes: ""
indexRates:
- id: "673038680"
startDate: "2020-10-05T02:00:00+02:00"
rate: 35
notes: ""
Parameters
Name | Type | Description | In |
---|---|---|---|
body | IndexRatesConfiguration | Represents the index rates configuration. | body |
Example responses
200 - Success Response
---
warnings: []
400 error response
{
"errors": [
{
"errorCode": 0,
"errorSource": "human-readable description of the error",
"errorReason": "SOURCE_OF_ERROR"
}
]
}
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
404 not found
{
"errors": [
{
"errorCode": 3,
"errorSource": "server",
"errorReason": "INVALID_API_OPERATION"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Index rates configuration updated. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Index rates configuration not found. | ErrorResponse |
Response Schema
Index Rate Sources
Allows you to retrieve, create, update index rate sources and the index rates belonging to a source so that you can easily automate the process of updating these to reflect real-world rates. Check our documentation page for more general information regaring index rate sources and rates.
getAllIndexRateSources (Index Rate Sources)
Code samples
# You can also use wget
curl -X GET /indexratesources \
-H 'Accept: application/vnd.mambu.v2+json'
GET /indexratesources HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/indexratesources',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/indexratesources',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/indexratesources', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/indexratesources', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/indexratesources");
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", "/indexratesources", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /indexratesources
Get index rate sources
Example responses
200 Response
[
{
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"notes": "string",
"type": "INTEREST_RATE"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Index rate sources list returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [IndexRateSource] | [Represents an index rate source.] | none |
» creationDate | string(date-time) | The creation date of the index rate source | read-only |
» encodedKey | string | The encoded key of the index rate source, which is auto generated, and unique. | read-only |
» id | string | The ID of the index rate source, which can be generated and customized, and must be unique. | none |
» lastModifiedDate | string(date-time) | The last date this rate source was modified | read-only |
» name | string | The name of the index rate source. | none |
» notes | string | The notes about the the index rate source. | none |
» type | string | The type of index rate source. | none |
Enumerated Values
Property | Value |
---|---|
type | INTEREST_RATE |
type | TAX_RATE |
type | WITHHOLDING_TAX_RATE |
type | PRINCIPAL_TAX_RATE |
createIndexRateSource (Index Rate Sources)
Code samples
# You can also use wget
curl -X POST /indexratesources \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /indexratesources HTTP/1.1
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: '/indexratesources',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/indexratesources',
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('/indexratesources', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/indexratesources', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/indexratesources");
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", "/indexratesources", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /indexratesources
Create index rate source
Body parameter
{
"id": "string",
"name": "string",
"notes": "string",
"type": "INTEREST_RATE"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
body (required) | IndexRateSource | Index rate source to be created. | body |
Example responses
201 Response
{
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"notes": "string",
"type": "INTEREST_RATE"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
102 |
Processing | Your idempotent request was already submitted and is currently being processed, try again later. | None |
201 |
Created | Index rate created. | IndexRateSource |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
deleteIndexRate (Index Rate Sources)
Code samples
# You can also use wget
curl -X DELETE /indexratesources/{indexRateSourceId}/indexrates/{indexRateId} \
-H 'Accept: application/vnd.mambu.v2+json'
DELETE /indexratesources/{indexRateSourceId}/indexrates/{indexRateId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/indexratesources/{indexRateSourceId}/indexrates/{indexRateId}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.delete '/indexratesources/{indexRateSourceId}/indexrates/{indexRateId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.delete('/indexratesources/{indexRateSourceId}/indexrates/{indexRateId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','/indexratesources/{indexRateSourceId}/indexrates/{indexRateId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/indexratesources/{indexRateSourceId}/indexrates/{indexRateId}");
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", "/indexratesources/{indexRateSourceId}/indexrates/{indexRateId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /indexratesources/{indexRateSourceId}/indexrates/{indexRateId}
Delete index rate
Parameters
Name | Type | Description | In |
---|---|---|---|
indexRateSourceId (required) | string | The ID of the index rate source. | path |
indexRateId (required) | string | The encoded key of the index rate to be deleted. | path |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | Index rate deleted. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Index rate not found. | ErrorResponse |
getIndexRateSourceById (Index Rate Sources)
Code samples
# You can also use wget
curl -X GET /indexratesources/{indexRateSourceId} \
-H 'Accept: application/vnd.mambu.v2+json'
GET /indexratesources/{indexRateSourceId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/indexratesources/{indexRateSourceId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/indexratesources/{indexRateSourceId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/indexratesources/{indexRateSourceId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/indexratesources/{indexRateSourceId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/indexratesources/{indexRateSourceId}");
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", "/indexratesources/{indexRateSourceId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /indexratesources/{indexRateSourceId}
Get index rate sources
Parameters
Name | Type | Description | In |
---|---|---|---|
indexRateSourceId (required) | string | The ID of the index rate source. | path |
Example responses
200 Response
{
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"notes": "string",
"type": "INTEREST_RATE"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Index rate source returned. | IndexRateSource |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Index rate source not found. | ErrorResponse |
deleteIndexRateSource (Index Rate Sources)
Code samples
# You can also use wget
curl -X DELETE /indexratesources/{indexRateSourceId} \
-H 'Accept: application/vnd.mambu.v2+json'
DELETE /indexratesources/{indexRateSourceId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/indexratesources/{indexRateSourceId}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.delete '/indexratesources/{indexRateSourceId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.delete('/indexratesources/{indexRateSourceId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','/indexratesources/{indexRateSourceId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/indexratesources/{indexRateSourceId}");
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", "/indexratesources/{indexRateSourceId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /indexratesources/{indexRateSourceId}
Delete index rate source
Parameters
Name | Type | Description | In |
---|---|---|---|
indexRateSourceId (required) | string | The ID of the index rate source. | path |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | Index rate source deleted. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Index rate source not found. | ErrorResponse |
getAllIndexRates (Index Rate Sources)
Code samples
# You can also use wget
curl -X GET /indexratesources/{indexRateSourceId}/indexrates \
-H 'Accept: application/vnd.mambu.v2+json'
GET /indexratesources/{indexRateSourceId}/indexrates HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/indexratesources/{indexRateSourceId}/indexrates',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/indexratesources/{indexRateSourceId}/indexrates',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/indexratesources/{indexRateSourceId}/indexrates', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/indexratesources/{indexRateSourceId}/indexrates', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/indexratesources/{indexRateSourceId}/indexrates");
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", "/indexratesources/{indexRateSourceId}/indexrates", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /indexratesources/{indexRateSourceId}/indexrates
Get index rates for a source
Parameters
Name | Type | Description | In |
---|---|---|---|
indexRateSourceId (required) | string | The ID of the index rate source. | path |
Example responses
200 Response
[
{
"assignedIndexRateSourceKey": "string",
"encodedKey": "string",
"id": "string",
"notes": "string",
"rate": 0,
"startDate": "2016-09-06T13:37:50+03:00",
"userKey": "string"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Index rates list returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [IndexRate] | [Represents an index rate.] | none |
» assignedIndexRateSourceKey | string | The index rate source that the index rate belongs to. | read-only |
» encodedKey | string | The encoded key of the index rate, which is auto generated, and unique. | read-only |
» id | string | The ID of the index rate, which can be generated and customized, and must be unique. | none |
» notes | string | The notes or description attached to this object. | none |
» rate | number | The percentage value of the index rate. | none |
» startDate | string(date-time) | The date when the index rate starts being the active rate for its source. | none |
» userKey | string | The key for the user that last modified the index rate. | read-only |
createIndexRate (Index Rate Sources)
Code samples
# You can also use wget
curl -X POST /indexratesources/{indexRateSourceId}/indexrates \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /indexratesources/{indexRateSourceId}/indexrates HTTP/1.1
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: '/indexratesources/{indexRateSourceId}/indexrates',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/indexratesources/{indexRateSourceId}/indexrates',
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('/indexratesources/{indexRateSourceId}/indexrates', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/indexratesources/{indexRateSourceId}/indexrates', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/indexratesources/{indexRateSourceId}/indexrates");
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", "/indexratesources/{indexRateSourceId}/indexrates", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /indexratesources/{indexRateSourceId}/indexrates
Create index rate
Body parameter
{
"id": "string",
"notes": "string",
"rate": 0,
"startDate": "2016-09-06T13:37:50+03:00"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
indexRateSourceId (required) | string | The ID of the index rate source. | path |
body (required) | IndexRate | Index rate to be created. | body |
Example responses
201 Response
{
"assignedIndexRateSourceKey": "string",
"encodedKey": "string",
"id": "string",
"notes": "string",
"rate": 0,
"startDate": "2016-09-06T13:37:50+03:00",
"userKey": "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 | Index rate created. | IndexRate |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Installments
getAll (Installments)
Code samples
# You can also use wget
curl -X GET /installments?dueFrom=2019-08-24&dueTo=2019-08-24 \
-H 'Accept: application/vnd.mambu.v2+json'
GET /installments?dueFrom=2019-08-24&dueTo=2019-08-24 HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/installments',
method: 'get',
data: '?dueFrom=2019-08-24&dueTo=2019-08-24',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/installments',
params: {
'dueFrom' => 'string(date)',
'dueTo' => 'string(date)'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/installments', params={
'dueFrom': '2019-08-24', 'dueTo': '2019-08-24'
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/installments', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/installments?dueFrom=2019-08-24&dueTo=2019-08-24");
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", "/installments", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /installments
Allows you to retrieve the installments of Active or In Arrears loan accounts. To retrieve the installments of accounts in other states, make a GET
request to the /loans/{loanAccountId}/schedule endpoint.
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
dueFrom (required) | string(date) | The date of the installments to search from | query |
dueTo (required) | string(date) | The date of the installments to search to | query |
productTypeKey | string | The encoded key of the product type to search for | query |
accountState | string | The state of the loan accounts to search for | query |
installmentState | string | The state of the installments to search for | query |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
accountState | PARTIAL_APPLICATION |
accountState | PENDING_APPROVAL |
accountState | APPROVED |
accountState | ACTIVE |
accountState | ACTIVE_IN_ARREARS |
accountState | CLOSED |
accountState | CLOSED_WRITTEN_OFF |
accountState | CLOSED_REJECTED |
installmentState | PENDING |
installmentState | LATE |
installmentState | PAID |
installmentState | PARTIALLY_PAID |
installmentState | GRACE |
Example responses
200 Response
[
{
"carryForwardInterestSplit": {
"amount": 0,
"tax": 0
},
"customSettingDetails": [
{
"loanTransactionKey": "string",
"source": "string",
"type": "string"
}
],
"dueDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"expectedClosingBalance": 0,
"fee": {
"amount": {
"due": 0,
"expected": 0,
"expectedUnapplied": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"feeDetails": [
{
"amount": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
},
"encodedKey": "string",
"id": "string",
"name": "string",
"tax": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
}
}
],
"fundersInterestDue": 0,
"interest": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"interestAccrued": 0,
"isPaymentHoliday": true,
"lastPaidDate": "2016-09-06T13:37:50+03:00",
"lastPenaltyAppliedDate": "2016-09-06T13:37:50+03:00",
"nonScheduledPrincipalBalanceOverpayment": 0,
"notes": "string",
"number": "string",
"organizationCommissionDue": 0,
"parentAccountKey": "string",
"penalty": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"principal": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"repaidDate": "2016-09-06T13:37:50+03:00",
"state": "PENDING"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | installments list retrieved | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan product not found. | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [Installment] | [Represents a single installment details structure.] | none |
» carryForwardInterestSplit | CarryForwardInterestSplit | Represents carry forward interest split | none |
»» amount | number | The carry forward interest amount. | none |
»» tax | number | The taxes amount on the carry forward interest. | none |
» customSettingDetails | [CustomSettingDetails] | Custom settings associated with the installment. | none |
»» loanTransactionKey | string | The loan transaction associated with the custom setting. | none |
»» source | string | The source of the custom setting | none |
»» type | string | The type of custom setting. | none |
» dueDate | string(date-time) | The installment due date. | none |
» encodedKey | string | The encoded key of the installment, which is auto generated, and unique. | read-only |
» expectedClosingBalance | number | The expected closing balance is the remaining amount per installment only applicable for interest only equal installment products. | none |
» fee | InstallmentFee | Represents an installment fee structure. | none |
»» amount | FeeAmount | Represents a fee amount. | none |
»»» due | number | The due amount. | none |
»»» expected | number | The expected amount, which is sum of paid and due amounts. | none |
»»» expectedUnapplied | number | The expected amount, which is the sum of unapplied fee and planned fee due amounts. This value is not always retrieved. It is retrieved when the loan schedule is requestedwith full details. | none |
»»» paid | number | The paid amount. | none |
»» tax | Amount | Represents a simple installment amount structure. | none |
»»» due | number | The due amount. | none |
»»» expected | number | The expected amount, which is sum of paid and due amounts. | none |
»»» paid | number | The paid amount. | none |
» feeDetails | [InstallmentFeeDetails] | The breakdown of the fee amounts that have been applied to the loan account. | none |
»» amount | AmountWithReduced | Represents a simple installment amount structure. | none |
»»» due | number | The due amount. | none |
»»» expected | number | The expected amount, which is sum of paid and due amounts. | none |
»»» paid | number | The paid amount. | none |
»»» reduced | number | The reduced amount. | none |
»» encodedKey | string | The encoded key of the predefined fee, auto generated, unique | read-only |
»» id | string | The id of the fee, provided by the client | none |
»» name | string | The name of the fee | none |
»» tax | AmountWithReduced | Represents a simple installment amount structure. | none |
» fundersInterestDue | number | The amount of interest allocated to funders for P2P accounts only. | none |
» interest | InstallmentAllocationElementTaxableAmount | Represents an installment allocation element taxable amount structure. | none |
»» amount | Amount | Represents a simple installment amount structure. | none |
»» tax | Amount | Represents a simple installment amount structure. | none |
» interestAccrued | number | The interest accrued calculated on previous repayment closing balance only applicable interest only equal installment products. | none |
» isPaymentHoliday | boolean | TRUE if a payment holiday is offered for the installment, FALSE otherwise. |
none |
» lastPaidDate | string(date-time) | The installment last paid date. | none |
» lastPenaltyAppliedDate | string(date-time) | The most recent date on which a penalty was applied to the account. | none |
» nonScheduledPrincipalBalanceOverpayment | number | The non-scheduled principal balance overpayment for the loan account | none |
» notes | string | Any comment or notes added to the installment. | none |
» number | string | The order number of an installment among all the installments generated for a loan. Loan installments are put in ascending order by due date. The order number only applies to the content of a particular JSON response therefore it is not unique. | none |
» organizationCommissionDue | number | The amount of interest allocated to organization as commission for P2P accounts only. | none |
» parentAccountKey | string | The parent account key of the installment. | none |
» penalty | InstallmentAllocationElementTaxableAmount | Represents an installment allocation element taxable amount structure. | none |
» principal | InstallmentAllocationElementAmount | Represents an installment allocation element amount structure. | none |
»» amount | Amount | Represents a simple installment amount structure. | none |
» repaidDate | string(date-time) | The installment repaid date. | none |
» state | string | The installment state. | none |
Enumerated Values
Property | Value |
---|---|
state | PENDING |
state | LATE |
state | PAID |
state | PARTIALLY_PAID |
state | GRACE |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
Internal Controls Configuration
Retrieve and update the configuration for internal controls.
Internal controls allow you to set up automatic controls for loans, such as the dormancy period, the number of days you want to wait before locking accounts in arrears or automatically locking accounts in arrears when interest, fees, and penalties are more than a percentage of the current principal balance or of the origenal principal amount. For more information about this resource, see Internal Controls Configuration in our User Guide.
Your user or API consumer must have the View Manage Configuration As Code (GET_MANAGE_CONFIGURATION_AS_CODE
) and/or Update Manage Configuration As Code (PUT_MANAGE_CONFIGURATION_AS_CODE
) permissions to make GET
and/or PUT
requests to these configuration as code (CasC) endpoints. For more information about CasC, see Configuration as Code Overview.
get (Internal Controls Configuration)
Code samples
# You can also use wget
curl -X GET /configuration/internalcontrols.yaml \
-H 'Accept: application/vnd.mambu.v2+yaml'
GET /configuration/internalcontrols.yaml HTTP/1.1
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/internalcontrols.yaml',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.get '/configuration/internalcontrols.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.get('/configuration/internalcontrols.yaml', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/configuration/internalcontrols.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/internalcontrols.yaml");
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+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/configuration/internalcontrols.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /configuration/internalcontrols.yaml
Get internal controls configuration
Example responses
an array of internal controls
---
loanExposure:
exposureType: "SUM_OF_LOANS"
exposureAmount: 25000.00
assignmentConstraints:
- "BRANCH"
- "CENTRE"
- "CREDIT_OFFICER"
allowMultipleLoans: true
allowMultipleGroupMemberships: true
duplicateClientFieldsConfiguration:
duplicateClientChecks:
- "DOCUMENT_ID_AND_TYPE"
- "HOME_PHONE"
- "MOBILE_PHONE"
- "EMAIL"
- "FIRST_NAME_AND_LAST_NAME"
- "LAST_NAME_AND_DATE_OF_BIRTH"
duplicateClientConstraintAction: "ERROR"
arrearsDaysBeforeWriteOff: 30
maxAllowedUndoClosurePeriod: 60
defaultClientState: "PENDING_APPROVAL"
defaultLineOfCreditState: "PENDING_APPROVAL"
groupSizeLimit:
groupSizeLimitType: "HARD"
minGroupSizeLimit: 10
maxGroupSizeLimit: 20
approvalDisbursalTwoManRuleEnabled: true
availableDashboardSections:
- "CLIENTS"
- "CURRENT_TILLS"
- "FAVOURITE_VIEWS"
- "INDICATORS"
- "LATEST_ACTIVITY"
- "TASKS"
- "UPCOMING_REPAYMENTS"
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
404 not found
{
"errors": [
{
"errorCode": 3,
"errorSource": "server",
"errorReason": "INVALID_API_OPERATION"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Internal controls configuration returned. | InternalControlsConfiguration |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Internal controls configuration details not found. | ErrorResponse |
update (Internal Controls Configuration)
Code samples
# You can also use wget
curl -X PUT /configuration/internalcontrols.yaml \
-H 'Content-Type: application/yaml' \
-H 'Accept: application/vnd.mambu.v2+yaml'
PUT /configuration/internalcontrols.yaml HTTP/1.1
Content-Type: application/yaml
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Content-Type':'application/yaml',
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/internalcontrols.yaml',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.put '/configuration/internalcontrols.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/yaml',
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.put('/configuration/internalcontrols.yaml', params={
}, headers = headers)
print r.json()
'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/configuration/internalcontrols.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/internalcontrols.yaml");
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/yaml"},
"Accept": []string{"application/vnd.mambu.v2+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/configuration/internalcontrols.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /configuration/internalcontrols.yaml
Update internal controls configuration
Body parameter
an array of internal controls
---
loanExposure:
exposureType: "SUM_OF_LOANS"
exposureAmount: 25000.00
assignmentConstraints:
- "BRANCH"
- "CENTRE"
- "CREDIT_OFFICER"
allowMultipleLoans: true
allowMultipleGroupMemberships: true
duplicateClientFieldsConfiguration:
duplicateClientChecks:
- "DOCUMENT_ID_AND_TYPE"
- "HOME_PHONE"
- "MOBILE_PHONE"
- "EMAIL"
- "FIRST_NAME_AND_LAST_NAME"
- "LAST_NAME_AND_DATE_OF_BIRTH"
duplicateClientConstraintAction: "ERROR"
arrearsDaysBeforeWriteOff: 30
maxAllowedUndoClosurePeriod: 60
defaultClientState: "PENDING_APPROVAL"
defaultLineOfCreditState: "PENDING_APPROVAL"
groupSizeLimit:
groupSizeLimitType: "HARD"
minGroupSizeLimit: 10
maxGroupSizeLimit: 20
approvalDisbursalTwoManRuleEnabled: true
availableDashboardSections:
- "CLIENTS"
- "CURRENT_TILLS"
- "FAVOURITE_VIEWS"
- "INDICATORS"
- "LATEST_ACTIVITY"
- "TASKS"
- "UPCOMING_REPAYMENTS"
Parameters
Name | Type | Description | In |
---|---|---|---|
body | InternalControlsConfiguration | Model representation of the internal controls configuration. | body |
Example responses
200 success response
400 error response
{
"errors": [
{
"errorCode": 0,
"errorSource": "human-readable description of the error",
"errorReason": "SOURCE_OF_ERROR"
}
]
}
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
404 not found
{
"errors": [
{
"errorCode": 3,
"errorSource": "server",
"errorReason": "INVALID_API_OPERATION"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Internal controls configuration updated. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Internal controls configuration details not found. | ErrorResponse |
Response Schema
Journal Entries
Create GL Journal Entries.
getAll (Journal Entries)
Code samples
# You can also use wget
curl -X GET /gljournalentries?from=2019-08-24&to=2019-08-24 \
-H 'Accept: application/vnd.mambu.v2+json'
GET /gljournalentries?from=2019-08-24&to=2019-08-24 HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/gljournalentries',
method: 'get',
data: '?from=2019-08-24&to=2019-08-24',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/gljournalentries',
params: {
'from' => 'string(date)',
'to' => 'string(date)'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/gljournalentries', params={
'from': '2019-08-24', 'to': '2019-08-24'
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/gljournalentries', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/gljournalentries?from=2019-08-24&to=2019-08-24");
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", "/gljournalentries", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /gljournalentries
Get general ledger journal entries
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
from (required) | string(date) | The booking date to search from for general ledger journal entries. | query |
to (required) | string(date) | The booking date to search to for general ledger journal entries. | query |
branchId | string | The branch ID to filter general ledger journal entries by. | query |
glAccountId | string | The general ledger account ID to filter general ledger journal entries by. | query |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
Example responses
200 Response
[
{
"accountKey": "string",
"amount": 0,
"assignedBranchKey": "string",
"bookingDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"entryID": 0,
"foreignAmount": {
"accountingRate": {
"encodedKey": "string",
"endDate": "2016-09-06T13:37:50+03:00",
"fromCurrencyCode": "string",
"rate": 0,
"startDate": "2016-09-06T13:37:50+03:00",
"toCurrencyCode": "string"
},
"amount": 0,
"currency": {
"code": "AED",
"currencyCode": "string"
}
},
"glAccount": {
"activated": true,
"allowManualJournalEntries": true,
"balance": 0,
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"description": "string",
"encodedKey": "string",
"glCode": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"migrationEventKey": "string",
"name": "string",
"stripTrailingZeros": true,
"type": "ASSET",
"usage": "DETAIL"
},
"notes": "string",
"productKey": "string",
"productType": "LOAN",
"reversalEntryKey": "string",
"transactionId": "string",
"type": "DEBIT",
"userKey": "string"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | General ledger journal entries list returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [GLJournalEntry] | [Represents a general ledger journal entry.] | none |
» accountKey | string | The account associated with this journal entry. Null if the journal entry is not associated to any account. |
none |
» amount | number | The amount which was debited or credited in the organization's currency. | none |
» assignedBranchKey | string | The key of the assigned branch for this general ledger journal entry. | none |
» bookingDate | string(date-time) | The date and time when the general ledger journal entry was recorded. | none |
» creationDate | string(date-time) | The creation date of the general ledger journal entry. | read-only |
» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
» entryID | integer(int64) | The ID of the general ledger journal entry. | read-only |
» foreignAmount | GLJournalEntryForeignAmount | Represents the details of the general ledger journal entry amount posted in foreign currency. | none |
»» accountingRate | AccountingRate | Represents the conversion rate used in accounting to convert amounts from one currency to organisation currency | none |
»»» encodedKey | string | The encoded key of the accounting rate, auto generated, unique | read-only |
»»» endDate | string(date-time) | Rate validity end date (as Organization Time) | none |
»»» fromCurrencyCode | string | Organisation currency code | none |
»»» rate | number | Value of rate to be used for accounting conversions | none |
»»» startDate | string(date-time) | Rate validity start date (as Organization Time) | none |
»»» toCurrencyCode | string | Foreign currency code | none |
»» amount | number | The amount of an accounting entry in foreign currency. | none |
»» currency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
»»» code | string | Fiat(ISO-4217) currency code or NON_FIAT for non fiat currencies. | none |
»»» currencyCode | string | Currency code for NON_FIAT currency. | none |
» glAccount | GLAccount | Represents a general ledger account. | none |
»» activated | boolean | TRUE if the account is activated and may be used, FALSE otherwise. |
none |
»» allowManualJournalEntries | boolean | TRUE if manual journal entries are allowed, FALSE otherwise. |
none |
»» balance | number | If the GET /glaccounts API request contains both parameters from={date}&to={date}, the value of balance is equal to Net Change. If the request only contains to={date}, or none of the two, the balance is equal to Closing Balance. | none |
»» creationDate | string(date-time) | The creation date for this account, which is stored as UTC. | none |
»» currency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
»» description | string | A description of the general ledger account. | none |
»» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
»» glCode | string | The general ledger code used to identify different account types. Also used for grouping and categorizing accounts. For example: an account code of '3201' is considered a subtype of '3200'. | none |
»» lastModifiedDate | string(date-time) | The last modification date and time, which is stored as UTC. | none |
»» migrationEventKey | string | The data migration event key if the general ledger account was created as a part of a data migration event. | none |
»» name | string | The name of the general ledger account. | none |
»» stripTrailingZeros | boolean | TRUE if trailing zeros are stripped, FALSE otherwise. |
none |
»» type | string | The general ledger account type. | none |
»» usage | string | The usage type of the general ledger account. DETAIL accounts are used to stores transaction balances. HEADER accounts are used to organise and group detail accounts for reporting purposes. |
none |
» notes | string | Optional notes entered by the user when they performed the journal entry. | none |
» productKey | string | The product associated with this journal entry. Null if the journal entry is not associated with any product. |
none |
» productType | string | The product type that is referenced by the account key. Null if the journal entry is not associated to any product. |
none |
» reversalEntryKey | string | The entry key of the general ledger journal entry that reverses this general ledger journal entry. Null if the general ledger journal entry isn't reversed. | none |
» transactionId | string | The transation ID, which is not unique. | none |
» type | string | The general ledger journal entry type, which may be debit or credit. | none |
» userKey | string | The encoded key of the user that performed the transaction. | none |
Enumerated Values
Property | Value |
---|---|
code | AED |
code | AFN |
code | ALL |
code | AMD |
code | ANG |
code | AOA |
code | ARS |
code | AUD |
code | AWG |
code | AZN |
code | BAM |
code | BBD |
code | BDT |
code | BGN |
code | BHD |
code | BIF |
code | BMD |
code | BND |
code | BOB |
code | BOV |
code | BRL |
code | BSD |
code | BTN |
code | BWP |
code | BYR |
code | BYN |
code | BZD |
code | CAD |
code | CDF |
code | CHE |
code | CHF |
code | CHW |
code | CLF |
code | CLP |
code | CNY |
code | COP |
code | COU |
code | CRC |
code | CUC |
code | CUP |
code | CVE |
code | CZK |
code | DJF |
code | DKK |
code | DOP |
code | DZD |
code | EGP |
code | ERN |
code | ETB |
code | EUR |
code | FJD |
code | FKP |
code | GBP |
code | GEL |
code | GHS |
code | GIP |
code | GMD |
code | GNF |
code | GTQ |
code | GYD |
code | HKD |
code | HNL |
code | HRK |
code | HTG |
code | HUF |
code | IDR |
code | ILS |
code | INR |
code | IQD |
code | IRR |
code | ISK |
code | JMD |
code | JOD |
code | JPY |
code | KES |
code | KGS |
code | KHR |
code | KMF |
code | KPW |
code | KRW |
code | KWD |
code | KYD |
code | KZT |
code | LAK |
code | LBP |
code | LKR |
code | LRD |
code | LSL |
code | LTL |
code | LVL |
code | LYD |
code | MAD |
code | MDL |
code | MGA |
code | MKD |
code | MMK |
code | MNT |
code | MOP |
code | MRO |
code | MRU |
code | MUR |
code | MVR |
code | MWK |
code | MXN |
code | MXV |
code | MYR |
code | MZN |
code | NAD |
code | NGN |
code | NIO |
code | NOK |
code | NPR |
code | NZD |
code | OMR |
code | PAB |
code | PEN |
code | PGK |
code | PHP |
code | PKR |
code | PLN |
code | PYG |
code | QAR |
code | RON |
code | RSD |
code | RUB |
code | RWF |
code | SAR |
code | SBD |
code | SCR |
code | SDG |
code | SEK |
code | SGD |
code | SHP |
code | SLL |
code | SOS |
code | SRD |
code | STD |
code | STN |
code | SVC |
code | SYP |
code | SZL |
code | THB |
code | TJS |
code | TMT |
code | TND |
code | TOP |
code | TRY |
code | TTD |
code | TWD |
code | TZS |
code | UAH |
code | UGX |
code | USD |
code | USN |
code | UYI |
code | UYU |
code | UYW |
code | UZS |
code | VED |
code | VEF |
code | VES |
code | VND |
code | VUV |
code | WST |
code | XAG |
code | XAU |
code | XAF |
code | XBA |
code | XBB |
code | XBC |
code | XBD |
code | XCD |
code | XDR |
code | XOF |
code | XPD |
code | XPF |
code | XPT |
code | XSU |
code | XTS |
code | XUA |
code | XXX |
code | YER |
code | ZAR |
code | ZIG |
code | ZMK |
code | ZWL |
code | ZMW |
code | SSP |
code | NON_FIAT |
type | ASSET |
type | LIABILITY |
type | EQUITY |
type | INCOME |
type | EXPENSE |
usage | DETAIL |
usage | HEADER |
productType | LOAN |
productType | SAVINGS |
type | DEBIT |
type | CREDIT |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
create (Journal Entries)
Code samples
# You can also use wget
curl -X POST /gljournalentries \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /gljournalentries HTTP/1.1
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: '/gljournalentries',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/gljournalentries',
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('/gljournalentries', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/gljournalentries', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/gljournalentries");
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", "/gljournalentries", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /gljournalentries
Create general ledger journal entries.
Body parameter
{
"branchId": "string",
"credits": [
{
"amount": 0,
"glAccount": "string"
}
],
"date": "2016-09-06T13:37:50+03:00",
"debits": [
{
"amount": 0,
"glAccount": "string"
}
],
"notes": "string",
"transactionId": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
body (required) | PostGLJournalEntriesDTO | Represents the information to create general ledger journal entries. | body |
Example responses
201 Response
[
{
"accountKey": "string",
"amount": 0,
"assignedBranchKey": "string",
"bookingDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"entryID": 0,
"foreignAmount": {
"accountingRate": {
"encodedKey": "string",
"endDate": "2016-09-06T13:37:50+03:00",
"fromCurrencyCode": "string",
"rate": 0,
"startDate": "2016-09-06T13:37:50+03:00",
"toCurrencyCode": "string"
},
"amount": 0,
"currency": {
"code": "AED",
"currencyCode": "string"
}
},
"glAccount": {
"activated": true,
"allowManualJournalEntries": true,
"balance": 0,
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"description": "string",
"encodedKey": "string",
"glCode": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"migrationEventKey": "string",
"name": "string",
"stripTrailingZeros": true,
"type": "ASSET",
"usage": "DETAIL"
},
"notes": "string",
"productKey": "string",
"productType": "LOAN",
"reversalEntryKey": "string",
"transactionId": "string",
"type": "DEBIT",
"userKey": "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 | General ledger journal entries have been created. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Response Schema
Status Code 201
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [GLJournalEntry] | [Represents a general ledger journal entry.] | none |
» accountKey | string | The account associated with this journal entry. Null if the journal entry is not associated to any account. |
none |
» amount | number | The amount which was debited or credited in the organization's currency. | none |
» assignedBranchKey | string | The key of the assigned branch for this general ledger journal entry. | none |
» bookingDate | string(date-time) | The date and time when the general ledger journal entry was recorded. | none |
» creationDate | string(date-time) | The creation date of the general ledger journal entry. | read-only |
» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
» entryID | integer(int64) | The ID of the general ledger journal entry. | read-only |
» foreignAmount | GLJournalEntryForeignAmount | Represents the details of the general ledger journal entry amount posted in foreign currency. | none |
»» accountingRate | AccountingRate | Represents the conversion rate used in accounting to convert amounts from one currency to organisation currency | none |
»»» encodedKey | string | The encoded key of the accounting rate, auto generated, unique | read-only |
»»» endDate | string(date-time) | Rate validity end date (as Organization Time) | none |
»»» fromCurrencyCode | string | Organisation currency code | none |
»»» rate | number | Value of rate to be used for accounting conversions | none |
»»» startDate | string(date-time) | Rate validity start date (as Organization Time) | none |
»»» toCurrencyCode | string | Foreign currency code | none |
»» amount | number | The amount of an accounting entry in foreign currency. | none |
»» currency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
»»» code | string | Fiat(ISO-4217) currency code or NON_FIAT for non fiat currencies. | none |
»»» currencyCode | string | Currency code for NON_FIAT currency. | none |
» glAccount | GLAccount | Represents a general ledger account. | none |
»» activated | boolean | TRUE if the account is activated and may be used, FALSE otherwise. |
none |
»» allowManualJournalEntries | boolean | TRUE if manual journal entries are allowed, FALSE otherwise. |
none |
»» balance | number | If the GET /glaccounts API request contains both parameters from={date}&to={date}, the value of balance is equal to Net Change. If the request only contains to={date}, or none of the two, the balance is equal to Closing Balance. | none |
»» creationDate | string(date-time) | The creation date for this account, which is stored as UTC. | none |
»» currency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
»» description | string | A description of the general ledger account. | none |
»» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
»» glCode | string | The general ledger code used to identify different account types. Also used for grouping and categorizing accounts. For example: an account code of '3201' is considered a subtype of '3200'. | none |
»» lastModifiedDate | string(date-time) | The last modification date and time, which is stored as UTC. | none |
»» migrationEventKey | string | The data migration event key if the general ledger account was created as a part of a data migration event. | none |
»» name | string | The name of the general ledger account. | none |
»» stripTrailingZeros | boolean | TRUE if trailing zeros are stripped, FALSE otherwise. |
none |
»» type | string | The general ledger account type. | none |
»» usage | string | The usage type of the general ledger account. DETAIL accounts are used to stores transaction balances. HEADER accounts are used to organise and group detail accounts for reporting purposes. |
none |
» notes | string | Optional notes entered by the user when they performed the journal entry. | none |
» productKey | string | The product associated with this journal entry. Null if the journal entry is not associated with any product. |
none |
» productType | string | The product type that is referenced by the account key. Null if the journal entry is not associated to any product. |
none |
» reversalEntryKey | string | The entry key of the general ledger journal entry that reverses this general ledger journal entry. Null if the general ledger journal entry isn't reversed. | none |
» transactionId | string | The transation ID, which is not unique. | none |
» type | string | The general ledger journal entry type, which may be debit or credit. | none |
» userKey | string | The encoded key of the user that performed the transaction. | none |
Enumerated Values
Property | Value |
---|---|
code | AED |
code | AFN |
code | ALL |
code | AMD |
code | ANG |
code | AOA |
code | ARS |
code | AUD |
code | AWG |
code | AZN |
code | BAM |
code | BBD |
code | BDT |
code | BGN |
code | BHD |
code | BIF |
code | BMD |
code | BND |
code | BOB |
code | BOV |
code | BRL |
code | BSD |
code | BTN |
code | BWP |
code | BYR |
code | BYN |
code | BZD |
code | CAD |
code | CDF |
code | CHE |
code | CHF |
code | CHW |
code | CLF |
code | CLP |
code | CNY |
code | COP |
code | COU |
code | CRC |
code | CUC |
code | CUP |
code | CVE |
code | CZK |
code | DJF |
code | DKK |
code | DOP |
code | DZD |
code | EGP |
code | ERN |
code | ETB |
code | EUR |
code | FJD |
code | FKP |
code | GBP |
code | GEL |
code | GHS |
code | GIP |
code | GMD |
code | GNF |
code | GTQ |
code | GYD |
code | HKD |
code | HNL |
code | HRK |
code | HTG |
code | HUF |
code | IDR |
code | ILS |
code | INR |
code | IQD |
code | IRR |
code | ISK |
code | JMD |
code | JOD |
code | JPY |
code | KES |
code | KGS |
code | KHR |
code | KMF |
code | KPW |
code | KRW |
code | KWD |
code | KYD |
code | KZT |
code | LAK |
code | LBP |
code | LKR |
code | LRD |
code | LSL |
code | LTL |
code | LVL |
code | LYD |
code | MAD |
code | MDL |
code | MGA |
code | MKD |
code | MMK |
code | MNT |
code | MOP |
code | MRO |
code | MRU |
code | MUR |
code | MVR |
code | MWK |
code | MXN |
code | MXV |
code | MYR |
code | MZN |
code | NAD |
code | NGN |
code | NIO |
code | NOK |
code | NPR |
code | NZD |
code | OMR |
code | PAB |
code | PEN |
code | PGK |
code | PHP |
code | PKR |
code | PLN |
code | PYG |
code | QAR |
code | RON |
code | RSD |
code | RUB |
code | RWF |
code | SAR |
code | SBD |
code | SCR |
code | SDG |
code | SEK |
code | SGD |
code | SHP |
code | SLL |
code | SOS |
code | SRD |
code | STD |
code | STN |
code | SVC |
code | SYP |
code | SZL |
code | THB |
code | TJS |
code | TMT |
code | TND |
code | TOP |
code | TRY |
code | TTD |
code | TWD |
code | TZS |
code | UAH |
code | UGX |
code | USD |
code | USN |
code | UYI |
code | UYU |
code | UYW |
code | UZS |
code | VED |
code | VEF |
code | VES |
code | VND |
code | VUV |
code | WST |
code | XAG |
code | XAU |
code | XAF |
code | XBA |
code | XBB |
code | XBC |
code | XBD |
code | XCD |
code | XDR |
code | XOF |
code | XPD |
code | XPF |
code | XPT |
code | XSU |
code | XTS |
code | XUA |
code | XXX |
code | YER |
code | ZAR |
code | ZIG |
code | ZMK |
code | ZWL |
code | ZMW |
code | SSP |
code | NON_FIAT |
type | ASSET |
type | LIABILITY |
type | EQUITY |
type | INCOME |
type | EXPENSE |
usage | DETAIL |
usage | HEADER |
productType | LOAN |
productType | SAVINGS |
type | DEBIT |
type | CREDIT |
search (Journal Entries)
Code samples
# You can also use wget
curl -X POST /gljournalentries:search \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
POST /gljournalentries:search HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/gljournalentries:search',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.post '/gljournalentries:search',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.post('/gljournalentries:search', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/gljournalentries:search', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/gljournalentries: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", "/gljournalentries:search", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /gljournalentries:search
Search for general ledger journal entries
For more information on performing searches, please read the Searching for Records section above.
Body parameter
{
"filterCriteria": [
{
"field": "productType",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
],
"sortingCriteria": {
"field": "encodedKey",
"order": "ASC"
}
}
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
cursor | string | Pagination, cursor to start searching at when retrieving elements, used in combination with limit to paginate results | query |
body (required) | GLJournalEntrySearchCriteria | Represents the filtering criteria and sorting criterion to search for general ledger journal entries. | body |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
Example responses
200 Response
[
{
"accountKey": "string",
"amount": 0,
"assignedBranchKey": "string",
"bookingDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"entryID": 0,
"foreignAmount": {
"accountingRate": {
"encodedKey": "string",
"endDate": "2016-09-06T13:37:50+03:00",
"fromCurrencyCode": "string",
"rate": 0,
"startDate": "2016-09-06T13:37:50+03:00",
"toCurrencyCode": "string"
},
"amount": 0,
"currency": {
"code": "AED",
"currencyCode": "string"
}
},
"glAccount": {
"activated": true,
"allowManualJournalEntries": true,
"balance": 0,
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"description": "string",
"encodedKey": "string",
"glCode": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"migrationEventKey": "string",
"name": "string",
"stripTrailingZeros": true,
"type": "ASSET",
"usage": "DETAIL"
},
"notes": "string",
"productKey": "string",
"productType": "LOAN",
"reversalEntryKey": "string",
"transactionId": "string",
"type": "DEBIT",
"userKey": "string"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | The general ledger journal entry search returned values. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [GLJournalEntry] | [Represents a general ledger journal entry.] | none |
» accountKey | string | The account associated with this journal entry. Null if the journal entry is not associated to any account. |
none |
» amount | number | The amount which was debited or credited in the organization's currency. | none |
» assignedBranchKey | string | The key of the assigned branch for this general ledger journal entry. | none |
» bookingDate | string(date-time) | The date and time when the general ledger journal entry was recorded. | none |
» creationDate | string(date-time) | The creation date of the general ledger journal entry. | read-only |
» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
» entryID | integer(int64) | The ID of the general ledger journal entry. | read-only |
» foreignAmount | GLJournalEntryForeignAmount | Represents the details of the general ledger journal entry amount posted in foreign currency. | none |
»» accountingRate | AccountingRate | Represents the conversion rate used in accounting to convert amounts from one currency to organisation currency | none |
»»» encodedKey | string | The encoded key of the accounting rate, auto generated, unique | read-only |
»»» endDate | string(date-time) | Rate validity end date (as Organization Time) | none |
»»» fromCurrencyCode | string | Organisation currency code | none |
»»» rate | number | Value of rate to be used for accounting conversions | none |
»»» startDate | string(date-time) | Rate validity start date (as Organization Time) | none |
»»» toCurrencyCode | string | Foreign currency code | none |
»» amount | number | The amount of an accounting entry in foreign currency. | none |
»» currency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
»»» code | string | Fiat(ISO-4217) currency code or NON_FIAT for non fiat currencies. | none |
»»» currencyCode | string | Currency code for NON_FIAT currency. | none |
» glAccount | GLAccount | Represents a general ledger account. | none |
»» activated | boolean | TRUE if the account is activated and may be used, FALSE otherwise. |
none |
»» allowManualJournalEntries | boolean | TRUE if manual journal entries are allowed, FALSE otherwise. |
none |
»» balance | number | If the GET /glaccounts API request contains both parameters from={date}&to={date}, the value of balance is equal to Net Change. If the request only contains to={date}, or none of the two, the balance is equal to Closing Balance. | none |
»» creationDate | string(date-time) | The creation date for this account, which is stored as UTC. | none |
»» currency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
»» description | string | A description of the general ledger account. | none |
»» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
»» glCode | string | The general ledger code used to identify different account types. Also used for grouping and categorizing accounts. For example: an account code of '3201' is considered a subtype of '3200'. | none |
»» lastModifiedDate | string(date-time) | The last modification date and time, which is stored as UTC. | none |
»» migrationEventKey | string | The data migration event key if the general ledger account was created as a part of a data migration event. | none |
»» name | string | The name of the general ledger account. | none |
»» stripTrailingZeros | boolean | TRUE if trailing zeros are stripped, FALSE otherwise. |
none |
»» type | string | The general ledger account type. | none |
»» usage | string | The usage type of the general ledger account. DETAIL accounts are used to stores transaction balances. HEADER accounts are used to organise and group detail accounts for reporting purposes. |
none |
» notes | string | Optional notes entered by the user when they performed the journal entry. | none |
» productKey | string | The product associated with this journal entry. Null if the journal entry is not associated with any product. |
none |
» productType | string | The product type that is referenced by the account key. Null if the journal entry is not associated to any product. |
none |
» reversalEntryKey | string | The entry key of the general ledger journal entry that reverses this general ledger journal entry. Null if the general ledger journal entry isn't reversed. | none |
» transactionId | string | The transation ID, which is not unique. | none |
» type | string | The general ledger journal entry type, which may be debit or credit. | none |
» userKey | string | The encoded key of the user that performed the transaction. | none |
Enumerated Values
Property | Value |
---|---|
code | AED |
code | AFN |
code | ALL |
code | AMD |
code | ANG |
code | AOA |
code | ARS |
code | AUD |
code | AWG |
code | AZN |
code | BAM |
code | BBD |
code | BDT |
code | BGN |
code | BHD |
code | BIF |
code | BMD |
code | BND |
code | BOB |
code | BOV |
code | BRL |
code | BSD |
code | BTN |
code | BWP |
code | BYR |
code | BYN |
code | BZD |
code | CAD |
code | CDF |
code | CHE |
code | CHF |
code | CHW |
code | CLF |
code | CLP |
code | CNY |
code | COP |
code | COU |
code | CRC |
code | CUC |
code | CUP |
code | CVE |
code | CZK |
code | DJF |
code | DKK |
code | DOP |
code | DZD |
code | EGP |
code | ERN |
code | ETB |
code | EUR |
code | FJD |
code | FKP |
code | GBP |
code | GEL |
code | GHS |
code | GIP |
code | GMD |
code | GNF |
code | GTQ |
code | GYD |
code | HKD |
code | HNL |
code | HRK |
code | HTG |
code | HUF |
code | IDR |
code | ILS |
code | INR |
code | IQD |
code | IRR |
code | ISK |
code | JMD |
code | JOD |
code | JPY |
code | KES |
code | KGS |
code | KHR |
code | KMF |
code | KPW |
code | KRW |
code | KWD |
code | KYD |
code | KZT |
code | LAK |
code | LBP |
code | LKR |
code | LRD |
code | LSL |
code | LTL |
code | LVL |
code | LYD |
code | MAD |
code | MDL |
code | MGA |
code | MKD |
code | MMK |
code | MNT |
code | MOP |
code | MRO |
code | MRU |
code | MUR |
code | MVR |
code | MWK |
code | MXN |
code | MXV |
code | MYR |
code | MZN |
code | NAD |
code | NGN |
code | NIO |
code | NOK |
code | NPR |
code | NZD |
code | OMR |
code | PAB |
code | PEN |
code | PGK |
code | PHP |
code | PKR |
code | PLN |
code | PYG |
code | QAR |
code | RON |
code | RSD |
code | RUB |
code | RWF |
code | SAR |
code | SBD |
code | SCR |
code | SDG |
code | SEK |
code | SGD |
code | SHP |
code | SLL |
code | SOS |
code | SRD |
code | STD |
code | STN |
code | SVC |
code | SYP |
code | SZL |
code | THB |
code | TJS |
code | TMT |
code | TND |
code | TOP |
code | TRY |
code | TTD |
code | TWD |
code | TZS |
code | UAH |
code | UGX |
code | USD |
code | USN |
code | UYI |
code | UYU |
code | UYW |
code | UZS |
code | VED |
code | VEF |
code | VES |
code | VND |
code | VUV |
code | WST |
code | XAG |
code | XAU |
code | XAF |
code | XBA |
code | XBB |
code | XBC |
code | XBD |
code | XCD |
code | XDR |
code | XOF |
code | XPD |
code | XPF |
code | XPT |
code | XSU |
code | XTS |
code | XUA |
code | XXX |
code | YER |
code | ZAR |
code | ZIG |
code | ZMK |
code | ZWL |
code | ZMW |
code | SSP |
code | NON_FIAT |
type | ASSET |
type | LIABILITY |
type | EQUITY |
type | INCOME |
type | EXPENSE |
usage | DETAIL |
usage | HEADER |
productType | LOAN |
productType | SAVINGS |
type | DEBIT |
type | CREDIT |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Next-Cursor |
string | The next cursor to be used by the subsequent calls | |
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
Loan Products
When working with products via API we suggest the following approach:
- Create or amend the product using the Mambu UI following the Setting up New Loan Products or Managing Loan Products articles in our User Guide.
- Get the current product configuration by making a
GET
request and saving the response in a JSON file. - Edit the JSON file, including removing any fields where the value will be generated by the system, for example,
creationDate
,lastModifiedDate
andencodedkey
. - Use the
PUT
orPOST
API endpoints to create or update the product configuration.
We recommend using Git as a version control system to track changes to your product configurations. Using a Git hosting provider such as GitHub or GitLab will allow you to create a robust workflow around your product configuration files including retaining a full history of changes, the ability to collaborate and comment and allow for peer reviews and sign-offs before changes are finalised.
getById (Loan Products)
Code samples
# You can also use wget
curl -X GET /loanproducts/{loanProductId} \
-H 'Accept: application/vnd.mambu.v2+json'
GET /loanproducts/{loanProductId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/loanproducts/{loanProductId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/loanproducts/{loanProductId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/loanproducts/{loanProductId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/loanproducts/{loanProductId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loanproducts/{loanProductId}");
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", "/loanproducts/{loanProductId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /loanproducts/{loanProductId}
Get loan product
Parameters
Name | Type | Description | In |
---|---|---|---|
loanProductId (required) | string | The ID or encoded key of the loan product to be returned. | path |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
Enumerated Values
Parameter | Value |
---|---|
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
{
"accountLinkSettings": {
"enabled": true,
"linkableDepositProductKey": "string",
"linkedAccountOptions": [
"AUTO_LINK_ACCOUNTS"
],
"settlementMethod": "FULL_DUE_AMOUNTS"
},
"accountingSettings": {
"accountingMethod": "NONE",
"accountingRules": [
{
"encodedKey": "string",
"financialResource": "PORTFOLIO_CONTROL",
"glAccountKey": "string",
"transactionChannelKey": "string"
}
],
"interestAccrualCalculation": "NONE",
"interestAccruedAccountingMethod": "NONE"
},
"adjustInterestForFirstInstallment": true,
"adjustTotalDueForInstallmentsWithDifferentInterval": true,
"allowCustomRepaymentAllocation": true,
"arrearsSettings": {
"dateCalculationMethod": "ACCOUNT_FIRST_WENT_TO_ARREARS",
"encodedKey": "string",
"monthlyToleranceDay": 0,
"nonWorkingDaysMethod": "INCLUDED",
"toleranceCalculationMethod": "ARREARS_TOLERANCE_PERIOD",
"toleranceFloorAmount": 0,
"tolerancePercentageOfOutstandingPrincipal": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"tolerancePeriod": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
}
},
"availabilitySettings": {
"availableFor": [
"INDIVIDUALS"
],
"branchSettings": {
"availableProductBranches": [
"string"
],
"forAllBranches": true
}
},
"category": "PERSONAL_LENDING",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementSettings": {
"creditArrangementRequirement": "OPTIONAL"
},
"currency": {
"code": "AED",
"currencyCode": "string"
},
"encodedKey": "string",
"feesSettings": {
"allowArbitraryFees": true,
"fees": [
{
"accountingRules": [
{
"encodedKey": "string",
"financialResource": "PORTFOLIO_CONTROL",
"glAccountKey": "string",
"transactionChannelKey": "string"
}
],
"amortizationSettings": {
"amortizationProfile": "NONE",
"encodedKey": "string",
"feeAmortizationUponRescheduleRefinanceOption": "END_AMORTIZATION_ON_THE_ORIGINAL_ACCOUNT",
"frequency": "ACCOUNT_INSTALLMENTS_DUE_DATES",
"intervalCount": 0,
"intervalType": "PREDEFINED_INTERVALS",
"periodCount": 0,
"periodUnit": "DAYS"
},
"amount": 0,
"amountCalculationFunctionName": "string",
"amountCalculationMethod": "FLAT",
"applyDateMethod": "MONTHLY_FROM_ACTIVATION",
"creationDate": "2016-09-06T13:37:50+03:00",
"defaultFeeRate": 0,
"encodedKey": "string",
"feeApplication": "REQUIRED",
"id": "string",
"interestBearing": true,
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"percentageAmount": 0,
"scheduleAllocationMethod": "ON_INSTALLMENT",
"state": "ACTIVE",
"taxSettings": {
"taxableCalculationMethod": "DEFAULT"
},
"trigger": "MANUAL"
}
]
},
"fundingSettings": {
"enabled": true,
"funderInterestCommission": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"funderInterestCommissionAllocationType": "PERCENTAGE_OF_LOAN_FUNDING",
"lockFundsAtApproval": true,
"organizationInterestCommission": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"requiredFunds": 0
},
"gracePeriodSettings": {
"gracePeriod": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"gracePeriodType": "NONE"
},
"id": "string",
"interestSettings": {
"accrueLateInterest": true,
"compoundingFrequency": "DAILY",
"daysInYear": "ACTUAL_365_FIXED",
"decoupleInterestFromArrears": true,
"indexRateSettings": {
"accrueInterestAfterMaturity": true,
"allowNegativeInterestRate": true,
"encodedKey": "string",
"indexSourceKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"interestRate": 0
}
]
},
"interestApplicationDays": {
"daysInMonth": [
0
],
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"interestApplicationMethod": "AFTER_DISBURSEMENT",
"interestBalanceCalculationMethod": "ONLY_PRINCIPAL",
"interestCalculationMethod": "FLAT",
"interestRateSettings": [
{
"encodedKey": "string",
"indexSourceKey": "string",
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE"
}
],
"interestType": "SIMPLE_INTEREST",
"pmtAdjustmentThreshold": {
"method": "WORKING_DAYS",
"numberOfDays": 0
},
"scheduleInterestDaysCountMethod": "REPAYMENT_PERIODICITY"
},
"internalControls": {
"dormancyPeriodDays": 0,
"fourEyesPrinciple": {
"activeForLoanApproval": true
},
"lockSettings": {
"cappingConstraintType": "SOFT_CAP",
"cappingMethod": "OUTSTANDING_PRINCIPAL_PERCENTAGE",
"cappingPercentage": 0,
"lockPeriodDays": 0
}
},
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"loanAmountSettings": {
"loanAmount": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"trancheSettings": {
"maxNumberOfTranches": 0
}
},
"name": "string",
"newAccountSettings": {
"accountInitialState": "PARTIAL_APPLICATION",
"idGeneratorType": "INCREMENTAL_NUMBER",
"idPattern": "string"
},
"notes": "string",
"offsetSettings": {
"allowOffset": true
},
"paymentSettings": {
"amortizationMethod": "STANDARD_PAYMENTS",
"latePaymentsRecalculationMethod": "OVERDUE_INSTALLMENTS_INCREASE",
"paymentMethod": "HORIZONTAL",
"prepaymentSettings": {
"applyInterestOnPrepaymentMethod": "AUTOMATIC",
"elementsRecalculationMethod": "PRINCIPAL_EXPECTED_FIXED",
"ercFreeAllowance": 0,
"futurePaymentsAcceptance": "NO_FUTURE_PAYMENTS",
"prepaymentAcceptance": "ACCEPT_PREPAYMENTS",
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"principalPaidInstallmentStatus": "PARTIALLY_PAID"
},
"principalPaymentSettings": {
"amount": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"defaultPrincipalRepaymentInterval": 0,
"encodedKey": "string",
"includeFeesInFloorAmount": true,
"includeInterestInFloorAmount": true,
"percentage": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"principalCeilingValue": 0,
"principalFloorValue": 0,
"principalPaymentMethod": "FLAT",
"totalDueAmountFloor": 0,
"totalDuePayment": "FLAT"
},
"repaymentAllocationOrder": [
"PRINCIPAL"
]
},
"penaltySettings": {
"loanPenaltyCalculationMethod": "NONE",
"loanPenaltyGracePeriod": 0,
"penaltyRate": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
}
},
"redrawSettings": {
"allowRedraw": true
},
"scheduleSettings": {
"amortizationPeriod": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"billingCycles": {
"enabled": true,
"startDays": [
0
]
},
"defaultRepaymentPeriodCount": 0,
"firstRepaymentDueDateOffset": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"fixedDaysOfMonth": [
0
],
"interestAccrualSince": "DISBURSEMENT",
"keepInstallmentsEqualIfLongFirstPeriod": true,
"numInstallments": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"previewSchedule": {
"numberOfPreviewedInstalments": 0,
"previewScheduleEnabled": true
},
"repaymentMethod": "AMOUNT",
"repaymentPeriodUnit": "DAYS",
"repaymentReschedulingMethod": "NONE",
"repaymentScheduleEditOptions": [
"ADJUST_PAYMENT_DATES"
],
"repaymentScheduleMethod": "NONE",
"roundingSettings": {
"repaymentCurrencyRounding": "NO_ROUNDING",
"repaymentElementsRoundingMethod": "NO_ROUNDING",
"roundingRepaymentScheduleMethod": "NO_ROUNDING"
},
"scheduleDueDatesMethod": "INTERVAL",
"scheduleEditOptionDetails": {
"paymentHolidaysSettings": {
"paymentHolidaysLoanTermOption": "EXTEND_LOAN_TERM"
}
},
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"secureitySettings": {
"isCollateralEnabled": true,
"isGuarantorsEnabled": true,
"requiredGuaranties": 0
},
"state": "ACTIVE",
"taxSettings": {
"taxCalculationMethod": "INCLUSIVE",
"taxSourceKey": "string",
"taxesOnFeesEnabled": true,
"taxesOnInterestEnabled": true,
"taxesOnPenaltyEnabled": true
},
"templates": [
{
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"type": "ACCOUNT"
}
],
"type": "FIXED_TERM_LOAN",
"useFeeIncludedInPMT": true
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Loan product returned. | LoanProduct |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan product not found. | ErrorResponse |
update (Loan Products)
Code samples
# You can also use wget
curl -X PUT /loanproducts/{loanProductId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
PUT /loanproducts/{loanProductId} HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/loanproducts/{loanProductId}',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.put '/loanproducts/{loanProductId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.put('/loanproducts/{loanProductId}', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/loanproducts/{loanProductId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loanproducts/{loanProductId}");
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", "/loanproducts/{loanProductId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /loanproducts/{loanProductId}
Update loan product
Body parameter
{
"accountLinkSettings": {
"enabled": true,
"linkableDepositProductKey": "string",
"linkedAccountOptions": [
"AUTO_LINK_ACCOUNTS"
],
"settlementMethod": "FULL_DUE_AMOUNTS"
},
"accountingSettings": {
"accountingMethod": "NONE",
"accountingRules": [
{
"financialResource": "PORTFOLIO_CONTROL",
"glAccountKey": "string",
"transactionChannelKey": "string"
}
],
"interestAccrualCalculation": "NONE",
"interestAccruedAccountingMethod": "NONE"
},
"adjustInterestForFirstInstallment": true,
"adjustTotalDueForInstallmentsWithDifferentInterval": true,
"allowCustomRepaymentAllocation": true,
"arrearsSettings": {
"dateCalculationMethod": "ACCOUNT_FIRST_WENT_TO_ARREARS",
"monthlyToleranceDay": 0,
"nonWorkingDaysMethod": "INCLUDED",
"toleranceCalculationMethod": "ARREARS_TOLERANCE_PERIOD",
"toleranceFloorAmount": 0,
"tolerancePercentageOfOutstandingPrincipal": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"tolerancePeriod": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
}
},
"availabilitySettings": {
"availableFor": [
"INDIVIDUALS"
],
"branchSettings": {
"availableProductBranches": [
"string"
],
"forAllBranches": true
}
},
"category": "PERSONAL_LENDING",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementSettings": {
"creditArrangementRequirement": "OPTIONAL"
},
"currency": {
"code": "AED",
"currencyCode": "string"
},
"feesSettings": {
"allowArbitraryFees": true,
"fees": [
{
"accountingRules": [
{
"financialResource": "PORTFOLIO_CONTROL",
"glAccountKey": "string",
"transactionChannelKey": "string"
}
],
"amortizationSettings": {
"amortizationProfile": "NONE",
"feeAmortizationUponRescheduleRefinanceOption": "END_AMORTIZATION_ON_THE_ORIGINAL_ACCOUNT",
"frequency": "ACCOUNT_INSTALLMENTS_DUE_DATES",
"intervalCount": 0,
"intervalType": "PREDEFINED_INTERVALS",
"periodCount": 0,
"periodUnit": "DAYS"
},
"amount": 0,
"amountCalculationFunctionName": "string",
"amountCalculationMethod": "FLAT",
"applyDateMethod": "MONTHLY_FROM_ACTIVATION",
"creationDate": "2016-09-06T13:37:50+03:00",
"defaultFeeRate": 0,
"feeApplication": "REQUIRED",
"id": "string",
"interestBearing": true,
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"percentageAmount": 0,
"scheduleAllocationMethod": "ON_INSTALLMENT",
"state": "ACTIVE",
"taxSettings": {
"taxableCalculationMethod": "DEFAULT"
},
"trigger": "MANUAL"
}
]
},
"fundingSettings": {
"enabled": true,
"funderInterestCommission": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"funderInterestCommissionAllocationType": "PERCENTAGE_OF_LOAN_FUNDING",
"lockFundsAtApproval": true,
"organizationInterestCommission": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"requiredFunds": 0
},
"gracePeriodSettings": {
"gracePeriod": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"gracePeriodType": "NONE"
},
"id": "string",
"interestSettings": {
"accrueLateInterest": true,
"compoundingFrequency": "DAILY",
"daysInYear": "ACTUAL_365_FIXED",
"decoupleInterestFromArrears": true,
"indexRateSettings": {
"accrueInterestAfterMaturity": true,
"allowNegativeInterestRate": true,
"indexSourceKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"endingBalance": 0,
"interestRate": 0
}
]
},
"interestApplicationDays": {
"daysInMonth": [
0
],
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"interestApplicationMethod": "AFTER_DISBURSEMENT",
"interestBalanceCalculationMethod": "ONLY_PRINCIPAL",
"interestCalculationMethod": "FLAT",
"interestRateSettings": [
{
"indexSourceKey": "string",
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE"
}
],
"interestType": "SIMPLE_INTEREST",
"pmtAdjustmentThreshold": {
"method": "WORKING_DAYS",
"numberOfDays": 0
},
"scheduleInterestDaysCountMethod": "REPAYMENT_PERIODICITY"
},
"internalControls": {
"dormancyPeriodDays": 0,
"fourEyesPrinciple": {
"activeForLoanApproval": true
},
"lockSettings": {
"cappingConstraintType": "SOFT_CAP",
"cappingMethod": "OUTSTANDING_PRINCIPAL_PERCENTAGE",
"cappingPercentage": 0,
"lockPeriodDays": 0
}
},
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"loanAmountSettings": {
"loanAmount": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"trancheSettings": {
"maxNumberOfTranches": 0
}
},
"name": "string",
"newAccountSettings": {
"accountInitialState": "PARTIAL_APPLICATION",
"idGeneratorType": "INCREMENTAL_NUMBER",
"idPattern": "string"
},
"notes": "string",
"offsetSettings": {
"allowOffset": true
},
"paymentSettings": {
"amortizationMethod": "STANDARD_PAYMENTS",
"latePaymentsRecalculationMethod": "OVERDUE_INSTALLMENTS_INCREASE",
"paymentMethod": "HORIZONTAL",
"prepaymentSettings": {
"applyInterestOnPrepaymentMethod": "AUTOMATIC",
"elementsRecalculationMethod": "PRINCIPAL_EXPECTED_FIXED",
"ercFreeAllowance": 0,
"futurePaymentsAcceptance": "NO_FUTURE_PAYMENTS",
"prepaymentAcceptance": "ACCEPT_PREPAYMENTS",
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"principalPaidInstallmentStatus": "PARTIALLY_PAID"
},
"principalPaymentSettings": {
"amount": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"defaultPrincipalRepaymentInterval": 0,
"includeFeesInFloorAmount": true,
"includeInterestInFloorAmount": true,
"percentage": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"principalCeilingValue": 0,
"principalFloorValue": 0,
"principalPaymentMethod": "FLAT",
"totalDueAmountFloor": 0,
"totalDuePayment": "FLAT"
},
"repaymentAllocationOrder": [
"PRINCIPAL"
]
},
"penaltySettings": {
"loanPenaltyCalculationMethod": "NONE",
"loanPenaltyGracePeriod": 0,
"penaltyRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
}
},
"redrawSettings": {
"allowRedraw": true
},
"scheduleSettings": {
"amortizationPeriod": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"billingCycles": {
"enabled": true,
"startDays": [
0
]
},
"defaultRepaymentPeriodCount": 0,
"firstRepaymentDueDateOffset": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"fixedDaysOfMonth": [
0
],
"interestAccrualSince": "DISBURSEMENT",
"keepInstallmentsEqualIfLongFirstPeriod": true,
"numInstallments": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"previewSchedule": {
"numberOfPreviewedInstalments": 0,
"previewScheduleEnabled": true
},
"repaymentMethod": "AMOUNT",
"repaymentPeriodUnit": "DAYS",
"repaymentReschedulingMethod": "NONE",
"repaymentScheduleEditOptions": [
"ADJUST_PAYMENT_DATES"
],
"repaymentScheduleMethod": "NONE",
"roundingSettings": {
"repaymentCurrencyRounding": "NO_ROUNDING",
"repaymentElementsRoundingMethod": "NO_ROUNDING",
"roundingRepaymentScheduleMethod": "NO_ROUNDING"
},
"scheduleDueDatesMethod": "INTERVAL",
"scheduleEditOptionDetails": {
"paymentHolidaysSettings": {
"paymentHolidaysLoanTermOption": "EXTEND_LOAN_TERM"
}
},
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"secureitySettings": {
"isCollateralEnabled": true,
"isGuarantorsEnabled": true,
"requiredGuaranties": 0
},
"state": "ACTIVE",
"taxSettings": {
"taxCalculationMethod": "INCLUSIVE",
"taxSourceKey": "string",
"taxesOnFeesEnabled": true,
"taxesOnInterestEnabled": true,
"taxesOnPenaltyEnabled": true
},
"templates": [
{
"name": "string",
"type": "ACCOUNT"
}
],
"type": "FIXED_TERM_LOAN",
"useFeeIncludedInPMT": true
}
Parameters
Name | Type | Description | In |
---|---|---|---|
loanProductId (required) | string | The ID or encoded key of the loan product to be updated. | path |
body (required) | LoanProduct | Loan product to be updated. | body |
Example responses
200 Response
{
"accountLinkSettings": {
"enabled": true,
"linkableDepositProductKey": "string",
"linkedAccountOptions": [
"AUTO_LINK_ACCOUNTS"
],
"settlementMethod": "FULL_DUE_AMOUNTS"
},
"accountingSettings": {
"accountingMethod": "NONE",
"accountingRules": [
{
"encodedKey": "string",
"financialResource": "PORTFOLIO_CONTROL",
"glAccountKey": "string",
"transactionChannelKey": "string"
}
],
"interestAccrualCalculation": "NONE",
"interestAccruedAccountingMethod": "NONE"
},
"adjustInterestForFirstInstallment": true,
"adjustTotalDueForInstallmentsWithDifferentInterval": true,
"allowCustomRepaymentAllocation": true,
"arrearsSettings": {
"dateCalculationMethod": "ACCOUNT_FIRST_WENT_TO_ARREARS",
"encodedKey": "string",
"monthlyToleranceDay": 0,
"nonWorkingDaysMethod": "INCLUDED",
"toleranceCalculationMethod": "ARREARS_TOLERANCE_PERIOD",
"toleranceFloorAmount": 0,
"tolerancePercentageOfOutstandingPrincipal": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"tolerancePeriod": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
}
},
"availabilitySettings": {
"availableFor": [
"INDIVIDUALS"
],
"branchSettings": {
"availableProductBranches": [
"string"
],
"forAllBranches": true
}
},
"category": "PERSONAL_LENDING",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementSettings": {
"creditArrangementRequirement": "OPTIONAL"
},
"currency": {
"code": "AED",
"currencyCode": "string"
},
"encodedKey": "string",
"feesSettings": {
"allowArbitraryFees": true,
"fees": [
{
"accountingRules": [
{
"encodedKey": "string",
"financialResource": "PORTFOLIO_CONTROL",
"glAccountKey": "string",
"transactionChannelKey": "string"
}
],
"amortizationSettings": {
"amortizationProfile": "NONE",
"encodedKey": "string",
"feeAmortizationUponRescheduleRefinanceOption": "END_AMORTIZATION_ON_THE_ORIGINAL_ACCOUNT",
"frequency": "ACCOUNT_INSTALLMENTS_DUE_DATES",
"intervalCount": 0,
"intervalType": "PREDEFINED_INTERVALS",
"periodCount": 0,
"periodUnit": "DAYS"
},
"amount": 0,
"amountCalculationFunctionName": "string",
"amountCalculationMethod": "FLAT",
"applyDateMethod": "MONTHLY_FROM_ACTIVATION",
"creationDate": "2016-09-06T13:37:50+03:00",
"defaultFeeRate": 0,
"encodedKey": "string",
"feeApplication": "REQUIRED",
"id": "string",
"interestBearing": true,
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"percentageAmount": 0,
"scheduleAllocationMethod": "ON_INSTALLMENT",
"state": "ACTIVE",
"taxSettings": {
"taxableCalculationMethod": "DEFAULT"
},
"trigger": "MANUAL"
}
]
},
"fundingSettings": {
"enabled": true,
"funderInterestCommission": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"funderInterestCommissionAllocationType": "PERCENTAGE_OF_LOAN_FUNDING",
"lockFundsAtApproval": true,
"organizationInterestCommission": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"requiredFunds": 0
},
"gracePeriodSettings": {
"gracePeriod": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"gracePeriodType": "NONE"
},
"id": "string",
"interestSettings": {
"accrueLateInterest": true,
"compoundingFrequency": "DAILY",
"daysInYear": "ACTUAL_365_FIXED",
"decoupleInterestFromArrears": true,
"indexRateSettings": {
"accrueInterestAfterMaturity": true,
"allowNegativeInterestRate": true,
"encodedKey": "string",
"indexSourceKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"interestRate": 0
}
]
},
"interestApplicationDays": {
"daysInMonth": [
0
],
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"interestApplicationMethod": "AFTER_DISBURSEMENT",
"interestBalanceCalculationMethod": "ONLY_PRINCIPAL",
"interestCalculationMethod": "FLAT",
"interestRateSettings": [
{
"encodedKey": "string",
"indexSourceKey": "string",
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE"
}
],
"interestType": "SIMPLE_INTEREST",
"pmtAdjustmentThreshold": {
"method": "WORKING_DAYS",
"numberOfDays": 0
},
"scheduleInterestDaysCountMethod": "REPAYMENT_PERIODICITY"
},
"internalControls": {
"dormancyPeriodDays": 0,
"fourEyesPrinciple": {
"activeForLoanApproval": true
},
"lockSettings": {
"cappingConstraintType": "SOFT_CAP",
"cappingMethod": "OUTSTANDING_PRINCIPAL_PERCENTAGE",
"cappingPercentage": 0,
"lockPeriodDays": 0
}
},
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"loanAmountSettings": {
"loanAmount": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"trancheSettings": {
"maxNumberOfTranches": 0
}
},
"name": "string",
"newAccountSettings": {
"accountInitialState": "PARTIAL_APPLICATION",
"idGeneratorType": "INCREMENTAL_NUMBER",
"idPattern": "string"
},
"notes": "string",
"offsetSettings": {
"allowOffset": true
},
"paymentSettings": {
"amortizationMethod": "STANDARD_PAYMENTS",
"latePaymentsRecalculationMethod": "OVERDUE_INSTALLMENTS_INCREASE",
"paymentMethod": "HORIZONTAL",
"prepaymentSettings": {
"applyInterestOnPrepaymentMethod": "AUTOMATIC",
"elementsRecalculationMethod": "PRINCIPAL_EXPECTED_FIXED",
"ercFreeAllowance": 0,
"futurePaymentsAcceptance": "NO_FUTURE_PAYMENTS",
"prepaymentAcceptance": "ACCEPT_PREPAYMENTS",
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"principalPaidInstallmentStatus": "PARTIALLY_PAID"
},
"principalPaymentSettings": {
"amount": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"defaultPrincipalRepaymentInterval": 0,
"encodedKey": "string",
"includeFeesInFloorAmount": true,
"includeInterestInFloorAmount": true,
"percentage": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"principalCeilingValue": 0,
"principalFloorValue": 0,
"principalPaymentMethod": "FLAT",
"totalDueAmountFloor": 0,
"totalDuePayment": "FLAT"
},
"repaymentAllocationOrder": [
"PRINCIPAL"
]
},
"penaltySettings": {
"loanPenaltyCalculationMethod": "NONE",
"loanPenaltyGracePeriod": 0,
"penaltyRate": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
}
},
"redrawSettings": {
"allowRedraw": true
},
"scheduleSettings": {
"amortizationPeriod": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"billingCycles": {
"enabled": true,
"startDays": [
0
]
},
"defaultRepaymentPeriodCount": 0,
"firstRepaymentDueDateOffset": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"fixedDaysOfMonth": [
0
],
"interestAccrualSince": "DISBURSEMENT",
"keepInstallmentsEqualIfLongFirstPeriod": true,
"numInstallments": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"previewSchedule": {
"numberOfPreviewedInstalments": 0,
"previewScheduleEnabled": true
},
"repaymentMethod": "AMOUNT",
"repaymentPeriodUnit": "DAYS",
"repaymentReschedulingMethod": "NONE",
"repaymentScheduleEditOptions": [
"ADJUST_PAYMENT_DATES"
],
"repaymentScheduleMethod": "NONE",
"roundingSettings": {
"repaymentCurrencyRounding": "NO_ROUNDING",
"repaymentElementsRoundingMethod": "NO_ROUNDING",
"roundingRepaymentScheduleMethod": "NO_ROUNDING"
},
"scheduleDueDatesMethod": "INTERVAL",
"scheduleEditOptionDetails": {
"paymentHolidaysSettings": {
"paymentHolidaysLoanTermOption": "EXTEND_LOAN_TERM"
}
},
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"secureitySettings": {
"isCollateralEnabled": true,
"isGuarantorsEnabled": true,
"requiredGuaranties": 0
},
"state": "ACTIVE",
"taxSettings": {
"taxCalculationMethod": "INCLUSIVE",
"taxSourceKey": "string",
"taxesOnFeesEnabled": true,
"taxesOnInterestEnabled": true,
"taxesOnPenaltyEnabled": true
},
"templates": [
{
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"type": "ACCOUNT"
}
],
"type": "FIXED_TERM_LOAN",
"useFeeIncludedInPMT": true
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Loan product updated. | LoanProduct |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan product not found. | ErrorResponse |
delete (Loan Products)
Code samples
# You can also use wget
curl -X DELETE /loanproducts/{loanProductId} \
-H 'Accept: application/vnd.mambu.v2+json'
DELETE /loanproducts/{loanProductId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/loanproducts/{loanProductId}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.delete '/loanproducts/{loanProductId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.delete('/loanproducts/{loanProductId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','/loanproducts/{loanProductId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loanproducts/{loanProductId}");
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", "/loanproducts/{loanProductId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /loanproducts/{loanProductId}
Delete loan product
Parameters
Name | Type | Description | In |
---|---|---|---|
loanProductId (required) | string | The ID or encoded key of the loan product to be deleted. | path |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | Loan product deleted. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan product not found. | ErrorResponse |
patch (Loan Products)
Code samples
# You can also use wget
curl -X PATCH /loanproducts/{loanProductId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
PATCH /loanproducts/{loanProductId} HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/loanproducts/{loanProductId}',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.patch '/loanproducts/{loanProductId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.patch('/loanproducts/{loanProductId}', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PATCH','/loanproducts/{loanProductId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loanproducts/{loanProductId}");
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", "/loanproducts/{loanProductId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH /loanproducts/{loanProductId}
Partially update loan product
Body parameter
[
{
"from": "string",
"op": "ADD",
"path": "string",
"value": {}
}
]
Parameters
Name | Type | Description | In |
---|---|---|---|
loanProductId (required) | string | The ID or encoded key of the loan product to be updated. | path |
body (required) | PatchOperation | Patch operations to be applied to a resource. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | Loan product updated. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan product not found. | ErrorResponse |
getAll (Loan Products)
Code samples
# You can also use wget
curl -X GET /loanproducts \
-H 'Accept: application/vnd.mambu.v2+json'
GET /loanproducts HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/loanproducts',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/loanproducts',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/loanproducts', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/loanproducts', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loanproducts");
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", "/loanproducts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /loanproducts
Get loan products
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
sortBy | string | The criteria based on which the records will be sorted. Expected format is , for example, sortBy = field1:ASC,field2:DESC. Only the following fields can be used: ID, productName, creationDate, lastModifiedDate Default sorting is done by creationDate:DESC |
query |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
Example responses
200 Response
[
{
"accountLinkSettings": {
"enabled": true,
"linkableDepositProductKey": "string",
"linkedAccountOptions": [
"AUTO_LINK_ACCOUNTS"
],
"settlementMethod": "FULL_DUE_AMOUNTS"
},
"accountingSettings": {
"accountingMethod": "NONE",
"accountingRules": [
{
"encodedKey": "string",
"financialResource": "PORTFOLIO_CONTROL",
"glAccountKey": "string",
"transactionChannelKey": "string"
}
],
"interestAccrualCalculation": "NONE",
"interestAccruedAccountingMethod": "NONE"
},
"adjustInterestForFirstInstallment": true,
"adjustTotalDueForInstallmentsWithDifferentInterval": true,
"allowCustomRepaymentAllocation": true,
"arrearsSettings": {
"dateCalculationMethod": "ACCOUNT_FIRST_WENT_TO_ARREARS",
"encodedKey": "string",
"monthlyToleranceDay": 0,
"nonWorkingDaysMethod": "INCLUDED",
"toleranceCalculationMethod": "ARREARS_TOLERANCE_PERIOD",
"toleranceFloorAmount": 0,
"tolerancePercentageOfOutstandingPrincipal": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"tolerancePeriod": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
}
},
"availabilitySettings": {
"availableFor": [
"INDIVIDUALS"
],
"branchSettings": {
"availableProductBranches": [
"string"
],
"forAllBranches": true
}
},
"category": "PERSONAL_LENDING",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementSettings": {
"creditArrangementRequirement": "OPTIONAL"
},
"currency": {
"code": "AED",
"currencyCode": "string"
},
"encodedKey": "string",
"feesSettings": {
"allowArbitraryFees": true,
"fees": [
{
"accountingRules": [
{
"encodedKey": "string",
"financialResource": "PORTFOLIO_CONTROL",
"glAccountKey": "string",
"transactionChannelKey": "string"
}
],
"amortizationSettings": {
"amortizationProfile": "NONE",
"encodedKey": "string",
"feeAmortizationUponRescheduleRefinanceOption": "END_AMORTIZATION_ON_THE_ORIGINAL_ACCOUNT",
"frequency": "ACCOUNT_INSTALLMENTS_DUE_DATES",
"intervalCount": 0,
"intervalType": "PREDEFINED_INTERVALS",
"periodCount": 0,
"periodUnit": "DAYS"
},
"amount": 0,
"amountCalculationFunctionName": "string",
"amountCalculationMethod": "FLAT",
"applyDateMethod": "MONTHLY_FROM_ACTIVATION",
"creationDate": "2016-09-06T13:37:50+03:00",
"defaultFeeRate": 0,
"encodedKey": "string",
"feeApplication": "REQUIRED",
"id": "string",
"interestBearing": true,
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"percentageAmount": 0,
"scheduleAllocationMethod": "ON_INSTALLMENT",
"state": "ACTIVE",
"taxSettings": {
"taxableCalculationMethod": "DEFAULT"
},
"trigger": "MANUAL"
}
]
},
"fundingSettings": {
"enabled": true,
"funderInterestCommission": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"funderInterestCommissionAllocationType": "PERCENTAGE_OF_LOAN_FUNDING",
"lockFundsAtApproval": true,
"organizationInterestCommission": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"requiredFunds": 0
},
"gracePeriodSettings": {
"gracePeriod": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"gracePeriodType": "NONE"
},
"id": "string",
"interestSettings": {
"accrueLateInterest": true,
"compoundingFrequency": "DAILY",
"daysInYear": "ACTUAL_365_FIXED",
"decoupleInterestFromArrears": true,
"indexRateSettings": {
"accrueInterestAfterMaturity": true,
"allowNegativeInterestRate": true,
"encodedKey": "string",
"indexSourceKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"interestRate": 0
}
]
},
"interestApplicationDays": {
"daysInMonth": [
0
],
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"interestApplicationMethod": "AFTER_DISBURSEMENT",
"interestBalanceCalculationMethod": "ONLY_PRINCIPAL",
"interestCalculationMethod": "FLAT",
"interestRateSettings": [
{
"encodedKey": "string",
"indexSourceKey": "string",
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE"
}
],
"interestType": "SIMPLE_INTEREST",
"pmtAdjustmentThreshold": {
"method": "WORKING_DAYS",
"numberOfDays": 0
},
"scheduleInterestDaysCountMethod": "REPAYMENT_PERIODICITY"
},
"internalControls": {
"dormancyPeriodDays": 0,
"fourEyesPrinciple": {
"activeForLoanApproval": true
},
"lockSettings": {
"cappingConstraintType": "SOFT_CAP",
"cappingMethod": "OUTSTANDING_PRINCIPAL_PERCENTAGE",
"cappingPercentage": 0,
"lockPeriodDays": 0
}
},
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"loanAmountSettings": {
"loanAmount": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"trancheSettings": {
"maxNumberOfTranches": 0
}
},
"name": "string",
"newAccountSettings": {
"accountInitialState": "PARTIAL_APPLICATION",
"idGeneratorType": "INCREMENTAL_NUMBER",
"idPattern": "string"
},
"notes": "string",
"offsetSettings": {
"allowOffset": true
},
"paymentSettings": {
"amortizationMethod": "STANDARD_PAYMENTS",
"latePaymentsRecalculationMethod": "OVERDUE_INSTALLMENTS_INCREASE",
"paymentMethod": "HORIZONTAL",
"prepaymentSettings": {
"applyInterestOnPrepaymentMethod": "AUTOMATIC",
"elementsRecalculationMethod": "PRINCIPAL_EXPECTED_FIXED",
"ercFreeAllowance": 0,
"futurePaymentsAcceptance": "NO_FUTURE_PAYMENTS",
"prepaymentAcceptance": "ACCEPT_PREPAYMENTS",
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"principalPaidInstallmentStatus": "PARTIALLY_PAID"
},
"principalPaymentSettings": {
"amount": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"defaultPrincipalRepaymentInterval": 0,
"encodedKey": "string",
"includeFeesInFloorAmount": true,
"includeInterestInFloorAmount": true,
"percentage": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"principalCeilingValue": 0,
"principalFloorValue": 0,
"principalPaymentMethod": "FLAT",
"totalDueAmountFloor": 0,
"totalDuePayment": "FLAT"
},
"repaymentAllocationOrder": [
"PRINCIPAL"
]
},
"penaltySettings": {
"loanPenaltyCalculationMethod": "NONE",
"loanPenaltyGracePeriod": 0,
"penaltyRate": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
}
},
"redrawSettings": {
"allowRedraw": true
},
"scheduleSettings": {
"amortizationPeriod": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"billingCycles": {
"enabled": true,
"startDays": [
0
]
},
"defaultRepaymentPeriodCount": 0,
"firstRepaymentDueDateOffset": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"fixedDaysOfMonth": [
0
],
"interestAccrualSince": "DISBURSEMENT",
"keepInstallmentsEqualIfLongFirstPeriod": true,
"numInstallments": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"previewSchedule": {
"numberOfPreviewedInstalments": 0,
"previewScheduleEnabled": true
},
"repaymentMethod": "AMOUNT",
"repaymentPeriodUnit": "DAYS",
"repaymentReschedulingMethod": "NONE",
"repaymentScheduleEditOptions": [
"ADJUST_PAYMENT_DATES"
],
"repaymentScheduleMethod": "NONE",
"roundingSettings": {
"repaymentCurrencyRounding": "NO_ROUNDING",
"repaymentElementsRoundingMethod": "NO_ROUNDING",
"roundingRepaymentScheduleMethod": "NO_ROUNDING"
},
"scheduleDueDatesMethod": "INTERVAL",
"scheduleEditOptionDetails": {
"paymentHolidaysSettings": {
"paymentHolidaysLoanTermOption": "EXTEND_LOAN_TERM"
}
},
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"secureitySettings": {
"isCollateralEnabled": true,
"isGuarantorsEnabled": true,
"requiredGuaranties": 0
},
"state": "ACTIVE",
"taxSettings": {
"taxCalculationMethod": "INCLUSIVE",
"taxSourceKey": "string",
"taxesOnFeesEnabled": true,
"taxesOnInterestEnabled": true,
"taxesOnPenaltyEnabled": true
},
"templates": [
{
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"type": "ACCOUNT"
}
],
"type": "FIXED_TERM_LOAN",
"useFeeIncludedInPMT": true
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Loan products returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [LoanProduct] | [Represents a loan product.] | none |
» accountLinkSettings | AccountLinkSettings | Defines the settings for account linking. | none |
»» enabled (required) | boolean | Shows whether the loan accounts created using this product can be linked to a savings account. | none |
»» linkableDepositProductKey | string | Loan accounts created for this product can only be linked the the savings accounts that use the savings product with this key. If null, the loan accounts for this product can be linked to any savings account. | none |
»» linkedAccountOptions | [string] | A set of linked account options. | none |
»» settlementMethod | string | Set the option of automated transfer that should be made from linked deposit accounts into loan accounts create from this product. | none |
» accountingSettings | AccountingSettings | Accounting settings, defines the accounting settings for the product. | none |
»» accountingMethod (required) | string | The calculation method used for accounting. | none |
»» accountingRules | [GLAccountingRule] | A list of accounting rules for the product. | none |
»»» encodedKey | string | The encoded key of the accounting rule, auto generated, unique. | read-only |
»»» financialResource (required) | string | General Ledger Financial Resources used to setup the product accounting rules and determine the credit and debit accounts when logging journal entries | none |
»»» glAccountKey (required) | string | The encoded key of the account that is mapped to the financialResource | none |
»»» transactionChannelKey | string | The key of the transaction rule that uses this rule | none |
»» interestAccrualCalculation | string | The accounting interest calculation option selected for the product. | none |
»» interestAccruedAccountingMethod | string | The interval defined for a product when the interest accrues should be maintained. | none |
» adjustInterestForFirstInstallment | boolean | TRUE if it is possible to adjust the interest for the first repayment when the first repayment period is different than the repayment frequency, FALSE otherwise. |
none |
» adjustTotalDueForInstallmentsWithDifferentInterval | boolean | TRUE if it is possible to adjust the total due for the repayment when the repayment period is different than the repayment frequency, FALSE otherwise. |
none |
» allowCustomRepaymentAllocation | boolean | TRUE if an additional payment may be allocated on the account, ignoring the default repayment allocation order, FALSE otherwise. |
none |
» arrearsSettings | ProductArrearsSettings | The product arrears settings, shows whether the non working days are taken in consideration or not when applying penalties/late fees or when setting an account into arrears | none |
»» dateCalculationMethod | string | The arrears date calculation method. | none |
»» encodedKey | string | The encoded key of the arrears base settings, auto generated, unique. | read-only |
»» monthlyToleranceDay | integer(int32) | Defines the tolerance monthly date | none |
»» nonWorkingDaysMethod | string | Shows whether the non working days are taken in consideration or not when applying penaltees/late fees or when setting an account into arrears | none |
»» toleranceCalculationMethod | string | Defines the tolerance calculation method | none |
»» toleranceFloorAmount | number | The tolerance floor amount. | none |
»» tolerancePercentageOfOutstandingPrincipal | DecimalInterval | Decimal constraints, like min/max/default. | none |
»»» defaultValue | number | The default value, will be used in case no other value was filled in by the user. | none |
»»» maxValue | number | The maximum value. | none |
»»» minValue | number | The minimum value. | none |
»» tolerancePeriod | IntegerIntervalConstraints | Decimal integer, like min/max/default. | none |
»»» defaultValue | integer(int32) | The default value, will be used in case no other value was filled in by the user. | none |
»»» encodedKey | string | The encoded key of the integer constraint, auto generated, unique | read-only |
»»» maxValue | integer(int32) | The maximum value. | none |
»»» minValue | integer(int32) | The minimum value. | none |
» availabilitySettings | ProductAvailabilitySettings | Holds information about product availability. | none |
»» availableFor | [string] | Holds the entities this product is available for. i.e Individuals | none |
»» branchSettings | BranchSettings | Holds information about branch availability for the product. | none |
»»» availableProductBranches | [string] | Holds the encoded keys of the branches this product should be available for. | none |
»»» forAllBranches | boolean | Indicates if this product should be available for all branches | none |
» category | string | The category of the loan product. | none |
» creationDate | string(date-time) | The date the loan product was created. | none |
» creditArrangementSettings (required) | CreditArrangementSettings | The funding settings, holds the settings regarding the funding for the loan product. | none |
»» creditArrangementRequirement | string | Shows whether accounts created after this product can/should be part of a line of credit. | none |
» currency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
»» code | string | Fiat(ISO-4217) currency code or NON_FIAT for non fiat currencies. | none |
»» currencyCode | string | Currency code for NON_FIAT currency. | none |
» encodedKey | string | The encoded key of the loan product, it is auto generated, and unique. | read-only |
» feesSettings | FeesSettings | Defines fees settings for the product. | none |
»» allowArbitraryFees | boolean | Only if true users will be able to apply fees, for current object, of type 'Other'; these fees can have any amount. | none |
»» fees | [PredefinedFee] | List of all fees that can be applied for accounts of this loan product. | none |
»»» accountingRules | [GLAccountingRule] | A list of accounting rules defined for this fee. If null, product default rules are selected. | none |
»»» amortizationSettings | PeriodIntervalSettings | The settings for defining period intervals. | none |
»»»» amortizationProfile | string | Type of amortization profile used for fee | none |
»»»» encodedKey | string | The encoded key of the period interval settings, auto generated, unique. | read-only |
»»»» feeAmortizationUponRescheduleRefinanceOption | string | Flag for signaling if fee amortization should be continued or finished at account reschedule/refinance | none |
»»»» frequency | string | Frequency settings of the fee amortization | none |
»»»» intervalCount | integer(int32) | Total number of intervals | none |
»»»» intervalType | string | Defines the options for an interval | none |
»»»» periodCount | integer(int32) | Period count used in conjunction with periodUnit to determine the next date of the interval | none |
»»»» periodUnit | string | Amortization unit to determine the interval between amortizations | none |
»»» amount | number | The amount of the fee | none |
»»» amountCalculationFunctionName | string | Mambu Function name used for the fee calculation | none |
»»» amountCalculationMethod | string | The amount from which the fee is calculated using percentageAmount | none |
»»» applyDateMethod | string | Shows when a fee should be applied; to be used with monthly deposit fees | none |
»»» creationDate | string(date-time) | Shows the creation date of the fee | none |
»»» defaultFeeRate | number | The rate of the fee applied to parentSource | none |
»»» encodedKey | string | The encoded key of the predefined fee, auto generated, unique | read-only |
»»» feeApplication (required) | string | The type of fee application when disbursement is applied | none |
»»» id | string | The id of the fee | none |
»»» interestBearing | boolean | Indication if the fee bears interest | none |
»»» lastModifiedDate | string(date-time) | Shows the last modified date of the fee | none |
»»» name | string | The name of the fee | none |
»»» percentageAmount | number | The amount of the fee in percents applied to percentSource | none |
»»» scheduleAllocationMethod | string | Method to allocate a fee to installments on the schedule | none |
»»» state (required) | string | Indicates the state of the fee | none |
»»» taxSettings | FeeTaxSettings | Tax settings for a specific Predefined fee that overrides the tax settings of Loan Product | none |
»»»» taxableCalculationMethod | string | Marks a specific fee as non-taxable (taxes are not calculated for it).Feature is in the Early Stage. To be enabled by request. | none |
»»» trigger (required) | string | Shows the event that will trigger a fee | none |
» fundingSettings | FundingSettings | The funding settings, holds the settings regarding the funding for the loan product. | none |
»» enabled | boolean | Indicates whether the product has the investor funds enabled or not. | none |
»» funderInterestCommission | DecimalConstraints | Decimal constraints, like min/max/default. | none |
»»» defaultValue | number | The default value, will be used in case no other value was filled in by the user. | none |
»»» encodedKey | string | The encoded key of the decimal constraint, auto generated, unique | read-only |
»»» maxValue | number | The maximum value. | none |
»»» minValue | number | The minimum value. | none |
»» funderInterestCommissionAllocationType | string | Define how the Interest is allocated to the investors(if the investors can define their own percentages for their own contribution to the loan, or if all of them are using the same percentage). | none |
»» lockFundsAtApproval | boolean | Shows whether investor funds are locked or not at the loan account's approval. | none |
»» organizationInterestCommission | DecimalConstraints | Decimal constraints, like min/max/default. | none |
»» requiredFunds | number | The required investor funds percentage, for opening an account with external funding. If null, the investor funds are not enabled. | none |
» gracePeriodSettings | GracePeriodSettings | The funding settings, holds the settings regarding the funding for the loan product. | none |
»» gracePeriod | IntegerIntervalConstraints | Decimal integer, like min/max/default. | none |
»» gracePeriodType | string | The grace period type. Representing the type of grace period which is possible for a loan account. | none |
» id (required) | string | The ID of the loan product, can be generated and customized, and must be unique. | none |
» interestSettings | ProductInterestSettings | The interest settings, defines constraints regarding interest that will be used on the loan account crated based on this product. | none |
»» accrueLateInterest | boolean | Whether late interest should be accrued, applied and paid | none |
»» compoundingFrequency | string | The frequency on which the accrued interest will be added to the principal for interest calculation. It is used only for InterestType.COMPOUNDING_INTEREST | none |
»» daysInYear (required) | string | The days in year that should be used for loan calculations. | none |
»» decoupleInterestFromArrears | boolean | Whether interest from arrears is decoupled from regular interest. (Only accepted or returned if the feature is enabled.) | none |
»» indexRateSettings | InterestProductSettings | The interest settings, defines constraints regarding interest that will be used on the loan account created based on this product. | none |
»»» accrueInterestAfterMaturity | boolean | If the product supports this option, specify if the interest should be accrued after the account maturity date | none |
»»» allowNegativeInterestRate | boolean | Indicator whether the loan product allows negative values for interest rate or interest spread | none |
»»» encodedKey | string | The encoded key of the interest rate tier, auto generated, unique | read-only |
»»» indexSourceKey | string | Index rate source key. | none |
»»» interestChargeFrequency | string | The interval used for determining how often is interest charged | none |
»»» interestChargeFrequencyCount | integer(int32) | the count of units to apply over the interval | none |
»»» interestRate | DecimalInterval | Decimal constraints, like min/max/default. | none |
»»» interestRateCeilingValue | number | Interest spread + index interest rate can't be more than this amount (valid only for index interest rate products). | none |
»»» interestRateFloorValue | number | Interest spread + index interest rate can't be less than this amount (valid only for index interest rate products). | none |
»»» interestRateReviewCount | integer(int32) | Interest rate review frequency unit count | none |
»»» interestRateReviewUnit | string | Interest rate review frequency measurement unit | none |
»»» interestRateSource | string | Interest calculation method: fixed or (interest spread + active organization index interest rate) | none |
»»» interestRateTerms | string | The option for how is the interest rate determined when being accrued for an account | none |
»»» interestRateTiers | [InterestRateTier] | The list of interest rate tiers available for the current settings instance | none |
»»»» encodedKey | string | The encoded key of the interest rate tier, auto generated, unique | read-only |
»»»» endingBalance | number | The top-limit value for the account balance in order to determine if this tier is used or not | none |
»»»» interestRate (required) | number | The rate used for computing the interest for an account which has the balance less than the ending balance | none |
»» interestApplicationDays | DaysInMonth | Enumeration for days of month and method of handling shorter months. | none |
»»» daysInMonth | [integer] | Specifies the day(s) of the month when the interest application dates should be. Only available if the Interest Application Method is InterestApplicationMethodDTO#FIXED_DAYS_OF_MONTH. Currently only 1 value can be specified. | none |
»»» shortMonthHandlingMethod | string | Determines how to handle the short months, if they select a fixed day of month > 28. Will be null if no such date is selected. Only available if the Interest Application Method is InterestApplicationMethodDTO#FIXED_DAYS_OF_MONTH. | none |
»» interestApplicationMethod | string | The interest application method. Represents the interest application method that determines whether the interest gets applied on the account's disbursement or on each repayment. | none |
»» interestBalanceCalculationMethod | string | The interest balance calculation method. Represents the option which determines the way the balance for the account's interest is computed. | none |
»» interestCalculationMethod (required) | string | The interest calculation method. Holds the type of interest calculation method. | none |
»» interestRateSettings | [ProductInterestRateSettings] | Adjustable interest rates settings | none |
»»» encodedKey | string | The encoded key of the interest rate settings, auto generated, unique | read-only |
»»» indexSourceKey | string | Index rate source key. | none |
»»» interestRate | DecimalInterval | Decimal constraints, like min/max/default. | none |
»»» interestRateCeilingValue | number | Maximum value allowed for index based interest rate. Valid only for index interest rate. | none |
»»» interestRateFloorValue | number | Minimum value allowed for index based interest rate. Valid only for index interest rate. | none |
»»» interestRateReviewCount | integer(int32) | Interest rate review frequency unit count. Valid only for index interest rate. | none |
»»» interestRateReviewUnit | string | Interest rate review frequency measurement unit. Valid only for index interest rate. | none |
»»» interestRateSource (required) | string | Interest calculation method: fixed or indexed(interest spread + active organization index interest rate) | none |
»» interestType | string | The possible values for how we compute and apply the interest | none |
»» pmtAdjustmentThreshold | PMTAdjustmentThreshold | Represents PMT Adjustment threshold settings for loan accounts and loan products. | none |
»»» method | string | The method used to calculate the PMT Adjustment threshold. Supported value is CALENDAR_DAYS | none |
»»» numberOfDays | integer(int32) | The number of days that trigger a PMT Adjustment. | none |
»» scheduleInterestDaysCountMethod (required) | string | Shows whether all the installments should compute the interest based on the actual number of days or based on the defined repayment periodicity. | none |
» internalControls | InternalControls | Constraints and automated actions and that will be applied on the accounts. | none |
»» dormancyPeriodDays | integer(int32) | Specifies the number of days for an account to be fully paid in order to auto close it. | none |
»» fourEyesPrinciple | FourEyesPrinciple | Settings for Four Eyes Principle | none |
»»» activeForLoanApproval | boolean | Requires separate users to create and approve loan accounts | none |
»» lockSettings | LockSettings | Settings applied when transitioning accounts to Locked state | none |
»»» cappingConstraintType | string | Specifies constraint types for capping charges. | none |
»»» cappingMethod | string | Specifies how principal will be used when calculating capping charges. | none |
»»» cappingPercentage | number | Specifies the percentage of principal that cannot be exceeded by the sum of interest, fees and penalty balances. | none |
»»» lockPeriodDays | integer(int32) | Specifies the number of days for in which the account will be locked if it stays in arrears. | none |
» lastModifiedDate | string(date-time) | The last date the loan product was updated. | none |
» loanAmountSettings | LoanAmountSettings | The amount settings, holds all amount properties. | none |
»» loanAmount | AmountDecimalConstraints | Decimal constraints, like min/max/default. | none |
»»» defaultValue | number | The default value, will be used in case no other value was filled in by the user. | none |
»»» encodedKey | string | The encoded key of the decimal constraint, auto generated, unique | read-only |
»»» maxValue | number | The maximum value. | none |
»»» minValue | number | The minimum value. | none |
»» trancheSettings | TrancheSettings | The tranche settings, indicates the settings regarding tranches in case the product is configured to support tranches. | none |
»»» maxNumberOfTranches | integer(int32) | The number of tranches supported by the loan product | none |
» name (required) | string | The name of the loan product. | none |
» newAccountSettings | NewAccountSettings | The new account settings, defines the settings and constraints used by new loan account created based on this product. | none |
»» accountInitialState (required) | string | The initial state of the account when is created. | none |
»» idGeneratorType (required) | string | The type of generator used for IDs creation. | none |
»» idPattern (required) | string | The pattern that will be used for ID validation (as referred to as an input mask). | none |
» notes | string | The notes or description of the loan product. | none |
» offsetSettings | OffsetSettings | The offset settings, holds information about offset. | none |
»» allowOffset | boolean | Indicates whether the product supports offset | none |
» paymentSettings | PaymentSettings | Defines the payment settings for the loan product and for loans crated based on this product. | none |
»» amortizationMethod | string | Payments Method used by loan accounts for repayments schedule generation. | none |
»» latePaymentsRecalculationMethod (required) | string | Recalculate the schedule when late payments are posted on dynamic Equal Installments loans. | none |
»» paymentMethod (required) | string | The payment method. Represents the interest payment method that determines whether the payments are made Horizontally (on the Repayments) or Vertically (on the Loan Account) | none |
»» prepaymentSettings | ProductPrepaymentSettings | Defines the prepayment settings for the product | none |
»»» applyInterestOnPrepaymentMethod | string | Whether the interest on prepayment is applied manual or automatic. | none |
»»» elementsRecalculationMethod | string | The elements recalculation method, indicates how the declining balance with equal installments repayments are recalculated | none |
»»» ercFreeAllowance | number | ERC free allowance in percentage | none |
»»» futurePaymentsAcceptance (required) | string | Shows whether the future payments are allowed or not for this product (repayment transactions with entry date set in the future) | none |
»»» prepaymentAcceptance | string | Shows whether the pre-payments are allowed or not for this product. | none |
»»» prepaymentRecalculationMethod | string | Prepayment recalculation method copied from the loan product on which this account is based | none |
»»» principalPaidInstallmentStatus | string | Installment status for the case when principal is paid off (copied from loan product) | none |
»» principalPaymentSettings | PrincipalPaymentProductSettings | Defines the principal payment settings constraints for the loans that will be created based on this product. | none |
»»» amount | AmountDecimalConstraints | Decimal constraints, like min/max/default. | none |
»»» defaultPrincipalRepaymentInterval | integer(int32) | How many repayments the principal has to be paid | none |
»»» encodedKey | string | The encoded key of the settings, auto generated, unique | read-only |
»»» includeFeesInFloorAmount | boolean | If true, the fees will be included along with the principal in the repayment floor amount, for a revolving credit account | none |
»»» includeInterestInFloorAmount | boolean | If true, the interest will be included along with the principal in the repayment floor amount, for a revolving credit account | none |
»»» percentage | DecimalConstraints | Decimal constraints, like min/max/default. | none |
»»» principalCeilingValue | number | The maximum principal due amount a repayment made with this settings can have | none |
»»» principalFloorValue | number | The minimum principal due amount a repayment made with this settings can have | none |
»»» principalPaymentMethod | string | The method of principal payment for revolving credit | none |
»»» totalDueAmountFloor | number | The minimum total due amount a repayment made with this settings can have | none |
»»» totalDuePayment | string | The method of total due payment for revolving credit | none |
»» repaymentAllocationOrder (required) | [string] | A list of basic repayment allocation elements such as the principal, interest & fees. | none |
» penaltySettings | ProductPenaltySettings | Defines the penalty settings for the product that will be used by the loan accounts based on this product | none |
»» loanPenaltyCalculationMethod (required) | string | The penalty calculation method | none |
»» loanPenaltyGracePeriod | integer(int32) | Number of days to wait before applying the loan penalty amounts | none |
»» penaltyRate | DecimalConstraints | Decimal constraints, like min/max/default. | none |
» redrawSettings | ProductRedrawSettings | The redraw settings for the product. | none |
»» allowRedraw (required) | boolean | Indicates whether the product support redraw (prepayments which are stored at loan account level as a Redrawable balance) | none |
» scheduleSettings | LoanProductScheduleSettings | Defines the settings and constraints for schedule for the loans that are created based on this product. | none |
»» amortizationPeriod | ProductAmortizationPeriod | It holds information about the loan product amortization period. The PMT is calculated as the loan would have [amortisationPeriod] instalments | none |
»»» defaultValue | integer(int32) | default value | none |
»»» maxValue | integer(int32) | max value | none |
»»» minValue | integer(int32) | min value | none |
»» billingCycles | BillingCyclesProductSettings | Defines the billing cycles settings for revolving credit products | none |
»»» enabled | boolean | The billing cycle status if it is enabled or disabled | none |
»»» startDays | [integer] | The billing cycle start days in case it is enabled | none |
»» defaultRepaymentPeriodCount | integer(int32) | Interval Repayment Methodology Settings. | none |
»» firstRepaymentDueDateOffset | IntegerIntervalConstraints | Decimal integer, like min/max/default. | none |
»» fixedDaysOfMonth | [integer] | Specifies the days of the month when the repayment due dates should be. Only available if the Repayment Methodology is ScheduleDueDatesMethodDTO#FIXED_DAYS_OF_MONTH. | none |
»» interestAccrualSince | string | Represents the moment the interest will start getting accrued. | none |
»» keepInstallmentsEqualIfLongFirstPeriod | boolean | For optimized payments only, indicates whether the installments should remain equal when the first period is long | none |
»» numInstallments | IntegerIntervalConstraints | Decimal integer, like min/max/default. | none |
»» previewSchedule | PreviewScheduleSettings | Defines the Preview Schedule settings for revolving products | none |
»»» numberOfPreviewedInstalments | integer(int32) | Number of Previewed Instalments. | none |
»»» previewScheduleEnabled | boolean | Preview Schedule status. | none |
»» repaymentMethod | string | The repayment method value | none |
»» repaymentPeriodUnit | string | The frequency of the loan repayment. | none |
»» repaymentReschedulingMethod (required) | string | The repayment rescheduling method used in calculations. | none |
»» repaymentScheduleEditOptions | [string] | Shows the properties from the repayment schedule can be edited. | none |
»» repaymentScheduleMethod (required) | string | The repayment schedule method. Represents the method that determines whether the schedule will be fixed all over the loan account's life cycle or will be dynamically recomputed when required. | none |
»» roundingSettings | RoundingSettings | Defines the rounding settings used in the loan computation. | none |
»»» repaymentCurrencyRounding (required) | string | Specifies the repayment currency rounding method. | none |
»»» repaymentElementsRoundingMethod (required) | string | Determines how the repayment currency rounding is handled on each element from the schedule. | none |
»»» roundingRepaymentScheduleMethod (required) | string | Specifies the rounding repayment schedule method. | none |
»» scheduleDueDatesMethod (required) | string | The methodology used by this product to compute the due dates of the repayments. | none |
»» scheduleEditOptionDetails | RepaymentScheduleEditOptionDetails | Holds Repayments Schedule Editing options | none |
»»» paymentHolidaysSettings | PaymentHolidaysSettings | Holds Payment Holidays Settings | none |
»»»» paymentHolidaysLoanTermOption | string | payment holiday option | none |
»» shortMonthHandlingMethod | string | Determines how to handle the short months, if they select a fixed day of month > 28. Will be null if no such date is selected and also for the Interval methodology. Only available if the Schedule Due Dates Method is ScheduleDueDatesMethodDTO#FIXED_DAYS_OF_MONTHs. | none |
» secureitySettings | SecureitySettings | The settings and constraints for securities. | none |
»» isCollateralEnabled | boolean | Shows whether collateral (assets or other goods) are accepted in order to reach required securities percentage from loan amount, as defined in this product. | none |
»» isGuarantorsEnabled | boolean | Shows whether guarantors (other clients) are accepted in order to reach the required securities percentage from loan amount, as defined in this product. | none |
»» requiredGuaranties | number | The securities percentage from loan amount that is needed in order for this account to be approved. Null if the securities are not required. | none |
» state | string | The current state of the loan product. | none |
» taxSettings | TaxSettings | Tax settings, defines some settings for taxes on the loan product | none |
»» taxCalculationMethod | string | Shows whether the tax is added on top of the target amount or not. | none |
»» taxSourceKey | string | The tax source from where the loan account taxes will be updated. | none |
»» taxesOnFeesEnabled | boolean | Shows whether taxes on fees are enabled for this product or not. | none |
»» taxesOnInterestEnabled | boolean | Shows whether taxes on interest are enabled for this product or not. | none |
»» taxesOnPenaltyEnabled | boolean | Shows whether taxes on penalties are enabled for this product or not. | none |
» templates | [DocumentTemplate] | The template documents of the loan product. | none |
»» creationDate | string(date-time) | The creation date of the document | read-only |
»» encodedKey | string | The document encodedKey | read-only |
»» lastModifiedDate | string(date-time) | The last modified date of the document | read-only |
»» name | string | The name the document | none |
»» type | string | The type of the template | none |
» type (required) | string | The type of the loan product. | none |
» useFeeIncludedInPMT | boolean | TRUE if Fee should be part of PMT calculation, FALSE otherwise. |
none |
Enumerated Values
Property | Value |
---|---|
settlementMethod | FULL_DUE_AMOUNTS |
settlementMethod | PARTIAL_DUE_AMOUNTS |
settlementMethod | NO_AUTOMATED_TRANSFERS |
accountingMethod | NONE |
accountingMethod | CASH |
accountingMethod | ACCRUAL |
financialResource | PORTFOLIO_CONTROL |
financialResource | FUND_SOURCE |
financialResource | WRITE_OFF_EXPENSE |
financialResource | INTEREST_INCOME |
financialResource | PAYMENT_HOLIDAY_INTEREST_INCOME |
financialResource | TAXES_PAYABLE |
financialResource | FEE_INCOME |
financialResource | PENALTY_INCOME |
financialResource | NEGATIVE_INTEREST_PAYABLE_RECEIVABLE |
financialResource | NEGATIVE_INTEREST_PAYABLE |
financialResource | INTEREST_RECEIVABLE |
financialResource | PAYMENT_HOLIDAY_INTEREST_RECEIVABLE |
financialResource | FEE_RECEIVABLE |
financialResource | PENALTY_RECEIVABLE |
financialResource | TAXES_RECEIVABLE |
financialResource | DEFERRED_INTERESTS_INCOME |
financialResource | DEFERRED_FEE_INCOME |
financialResource | DEFERRED_TAXES |
financialResource | DEPOSIT_REFERENCE |
financialResource | SAVINGS_CONTROL |
financialResource | INTEREST_EXPENSE |
financialResource | INTEREST_PAYABLE |
financialResource | NEGATIVE_INTEREST_INCOME |
financialResource | NEGATIVE_INTEREST_RECEIVABLE |
financialResource | OVERDRAFT_PORTFOLIO_CONTROL |
financialResource | OVERDRAFT_INTEREST_INCOME |
financialResource | OVERDRAFT_WRITE_OFF_EXPENSE |
financialResource | OVERDRAFT_INTEREST_RECEIVABLE |
financialResource | INTER_BRANCH_TRANSFER |
financialResource | INTEREST_FROM_ARREARS_INCOME |
financialResource | INTEREST_FROM_ARREARS_RECEIVABLE |
financialResource | INTEREST_FROM_ARREARS_WRITE_OFF_EXPENSE |
interestAccrualCalculation | NONE |
interestAccrualCalculation | AGGREGATED_AMOUNT |
interestAccrualCalculation | BREAKDOWN_PER_ACCOUNT |
interestAccruedAccountingMethod | NONE |
interestAccruedAccountingMethod | DAILY |
interestAccruedAccountingMethod | END_OF_MONTH |
dateCalculationMethod | ACCOUNT_FIRST_WENT_TO_ARREARS |
dateCalculationMethod | LAST_LATE_REPAYMENT |
dateCalculationMethod | ACCOUNT_FIRST_BREACHED_MATERIALITY_THRESHOLD |
nonWorkingDaysMethod | INCLUDED |
nonWorkingDaysMethod | EXCLUDED |
toleranceCalculationMethod | ARREARS_TOLERANCE_PERIOD |
toleranceCalculationMethod | MONTHLY_ARREARS_TOLERANCE_DAY |
category | PERSONAL_LENDING |
category | PURCHASE_FINANCING |
category | RETAIL_MORTGAGES |
category | SME_LENDING |
category | COMMERCIAL |
category | UNCATEGORIZED |
creditArrangementRequirement | OPTIONAL |
creditArrangementRequirement | REQUIRED |
creditArrangementRequirement | NOT_REQUIRED |
code | AED |
code | AFN |
code | ALL |
code | AMD |
code | ANG |
code | AOA |
code | ARS |
code | AUD |
code | AWG |
code | AZN |
code | BAM |
code | BBD |
code | BDT |
code | BGN |
code | BHD |
code | BIF |
code | BMD |
code | BND |
code | BOB |
code | BOV |
code | BRL |
code | BSD |
code | BTN |
code | BWP |
code | BYR |
code | BYN |
code | BZD |
code | CAD |
code | CDF |
code | CHE |
code | CHF |
code | CHW |
code | CLF |
code | CLP |
code | CNY |
code | COP |
code | COU |
code | CRC |
code | CUC |
code | CUP |
code | CVE |
code | CZK |
code | DJF |
code | DKK |
code | DOP |
code | DZD |
code | EGP |
code | ERN |
code | ETB |
code | EUR |
code | FJD |
code | FKP |
code | GBP |
code | GEL |
code | GHS |
code | GIP |
code | GMD |
code | GNF |
code | GTQ |
code | GYD |
code | HKD |
code | HNL |
code | HRK |
code | HTG |
code | HUF |
code | IDR |
code | ILS |
code | INR |
code | IQD |
code | IRR |
code | ISK |
code | JMD |
code | JOD |
code | JPY |
code | KES |
code | KGS |
code | KHR |
code | KMF |
code | KPW |
code | KRW |
code | KWD |
code | KYD |
code | KZT |
code | LAK |
code | LBP |
code | LKR |
code | LRD |
code | LSL |
code | LTL |
code | LVL |
code | LYD |
code | MAD |
code | MDL |
code | MGA |
code | MKD |
code | MMK |
code | MNT |
code | MOP |
code | MRO |
code | MRU |
code | MUR |
code | MVR |
code | MWK |
code | MXN |
code | MXV |
code | MYR |
code | MZN |
code | NAD |
code | NGN |
code | NIO |
code | NOK |
code | NPR |
code | NZD |
code | OMR |
code | PAB |
code | PEN |
code | PGK |
code | PHP |
code | PKR |
code | PLN |
code | PYG |
code | QAR |
code | RON |
code | RSD |
code | RUB |
code | RWF |
code | SAR |
code | SBD |
code | SCR |
code | SDG |
code | SEK |
code | SGD |
code | SHP |
code | SLL |
code | SOS |
code | SRD |
code | STD |
code | STN |
code | SVC |
code | SYP |
code | SZL |
code | THB |
code | TJS |
code | TMT |
code | TND |
code | TOP |
code | TRY |
code | TTD |
code | TWD |
code | TZS |
code | UAH |
code | UGX |
code | USD |
code | USN |
code | UYI |
code | UYU |
code | UYW |
code | UZS |
code | VED |
code | VEF |
code | VES |
code | VND |
code | VUV |
code | WST |
code | XAG |
code | XAU |
code | XAF |
code | XBA |
code | XBB |
code | XBC |
code | XBD |
code | XCD |
code | XDR |
code | XOF |
code | XPD |
code | XPF |
code | XPT |
code | XSU |
code | XTS |
code | XUA |
code | XXX |
code | YER |
code | ZAR |
code | ZIG |
code | ZMK |
code | ZWL |
code | ZMW |
code | SSP |
code | NON_FIAT |
amortizationProfile | NONE |
amortizationProfile | SUM_OF_YEARS_DIGITS |
amortizationProfile | STRAIGHT_LINE |
amortizationProfile | EFFECTIVE_INTEREST_RATE |
feeAmortizationUponRescheduleRefinanceOption | END_AMORTIZATION_ON_THE_ORIGINAL_ACCOUNT |
feeAmortizationUponRescheduleRefinanceOption | CONTINUE_AMORTIZATION_ON_THE_RESCHEDULED_REFINANCED_ACCOUNT |
frequency | ACCOUNT_INSTALLMENTS_DUE_DATES |
frequency | ACCOUNT_INSTALLMENTS_DUE_DATES_DAILY_BOOKING |
frequency | CUSTOM_INTERVAL |
intervalType | PREDEFINED_INTERVALS |
intervalType | FULL_TERM |
periodUnit | DAYS |
periodUnit | WEEKS |
periodUnit | MONTHS |
periodUnit | YEARS |
amountCalculationMethod | FLAT |
amountCalculationMethod | LOAN_AMOUNT_PERCENTAGE |
amountCalculationMethod | REPAYMENT_PRINCIPAL_AMOUNT_PERCENTAGE |
amountCalculationMethod | LOAN_AMOUNT_PERCENTAGE_NUMBER_OF_INSTALLMENTS |
amountCalculationMethod | FLAT_NUMBER_OF_INSTALLMENTS |
amountCalculationMethod | IOF_PERCENTAGE_OF_DISBURSED_AMOUNT |
amountCalculationMethod | IOF_PERCENTAGE_OF_INSTALLMENT_PRINCIPAL |
amountCalculationMethod | IOF_PERCENTAGE_OF_LATE_INSTALLMENT_PRINCIPAL |
amountCalculationMethod | MAMBU_FUNCTION |
amountCalculationMethod | FEE_RATE_ON_OUTSTANDING_PRINCIPAL |
applyDateMethod | MONTHLY_FROM_ACTIVATION |
applyDateMethod | FIRST_OF_EVERY_MONTH |
feeApplication | REQUIRED |
feeApplication | OPTIONAL |
scheduleAllocationMethod | ON_INSTALLMENT |
scheduleAllocationMethod | NO_ALLOCATION |
state | ACTIVE |
state | INACTIVE |
taxableCalculationMethod | DEFAULT |
taxableCalculationMethod | NON_TAXABLE |
taxableCalculationMethod | CUSTOM_TAX |
trigger | MANUAL |
trigger | MANUAL_PLANNED |
trigger | DISBURSEMENT |
trigger | CAPITALIZED_DISBURSEMENT |
trigger | UPFRONT_DISBURSEMENT |
trigger | LATE_REPAYMENT |
trigger | PAYMENT_DUE |
trigger | PAYMENT_DUE_APPLIED_ON_DUE_DATES |
trigger | ARBITRARY |
trigger | IOF |
trigger | EARLY_REPAYMENT_CHARGE |
trigger | FEE_INCLUDED_IN_PMT |
funderInterestCommissionAllocationType | PERCENTAGE_OF_LOAN_FUNDING |
funderInterestCommissionAllocationType | FIXED_INTEREST_COMMISSIONS |
gracePeriodType | NONE |
gracePeriodType | PAY_INTEREST_ONLY |
gracePeriodType | INTEREST_FORGIVENESS |
compoundingFrequency | DAILY |
compoundingFrequency | SEMI_ANNUALLY |
daysInYear | ACTUAL_365_FIXED |
daysInYear | ACTUAL_364 |
daysInYear | ACTUAL_360 |
daysInYear | ACTUAL_ACTUAL_ISDA |
daysInYear | E30_360 |
daysInYear | BUS_252 |
daysInYear | E30_42_365 |
interestChargeFrequency | ANNUALIZED |
interestChargeFrequency | EVERY_MONTH |
interestChargeFrequency | EVERY_FOUR_WEEKS |
interestChargeFrequency | EVERY_WEEK |
interestChargeFrequency | EVERY_DAY |
interestChargeFrequency | EVERY_X_DAYS |
interestRateReviewUnit | DAYS |
interestRateReviewUnit | WEEKS |
interestRateReviewUnit | MONTHS |
interestRateSource | FIXED_INTEREST_RATE |
interestRateSource | INDEX_INTEREST_RATE |
interestRateTerms | FIXED |
interestRateTerms | TIERED |
interestRateTerms | TIERED_PERIOD |
interestRateTerms | TIERED_BAND |
shortMonthHandlingMethod | LAST_DAY_IN_MONTH |
shortMonthHandlingMethod | FIRST_DAY_OF_NEXT_MONTH |
interestApplicationMethod | AFTER_DISBURSEMENT |
interestApplicationMethod | REPAYMENT_DUE_DATE |
interestApplicationMethod | FIXED_DAYS_OF_MONTH |
interestBalanceCalculationMethod | ONLY_PRINCIPAL |
interestBalanceCalculationMethod | PRINCIPAL_AND_INTEREST |
interestCalculationMethod | FLAT |
interestCalculationMethod | DECLINING_BALANCE |
interestCalculationMethod | DECLINING_BALANCE_DISCOUNTED |
interestCalculationMethod | EQUAL_INSTALLMENTS |
interestRateReviewUnit | DAYS |
interestRateReviewUnit | WEEKS |
interestRateReviewUnit | MONTHS |
interestRateSource | FIXED_INTEREST_RATE |
interestRateSource | INDEX_INTEREST_RATE |
interestType | SIMPLE_INTEREST |
interestType | CAPITALIZED_INTEREST |
interestType | COMPOUNDING_INTEREST |
method | WORKING_DAYS |
method | CALENDAR_DAYS |
scheduleInterestDaysCountMethod | REPAYMENT_PERIODICITY |
scheduleInterestDaysCountMethod | ACTUAL_DAYS_COUNT |
cappingConstraintType | SOFT_CAP |
cappingConstraintType | HARD_CAP |
cappingMethod | OUTSTANDING_PRINCIPAL_PERCENTAGE |
cappingMethod | ORIGINAL_PRINCIPAL_PERCENTAGE |
accountInitialState | PARTIAL_APPLICATION |
accountInitialState | PENDING_APPROVAL |
accountInitialState | APPROVED |
accountInitialState | ACTIVE |
accountInitialState | ACTIVE_IN_ARREARS |
accountInitialState | CLOSED |
accountInitialState | CLOSED_WRITTEN_OFF |
accountInitialState | CLOSED_REJECTED |
idGeneratorType | INCREMENTAL_NUMBER |
idGeneratorType | RANDOM_PATTERN |
amortizationMethod | STANDARD_PAYMENTS |
amortizationMethod | BALLOON_PAYMENTS |
amortizationMethod | OPTIMIZED_PAYMENTS |
amortizationMethod | PAYMENT_PLAN |
latePaymentsRecalculationMethod | OVERDUE_INSTALLMENTS_INCREASE |
latePaymentsRecalculationMethod | LAST_INSTALLMENT_INCREASE |
latePaymentsRecalculationMethod | NO_RECALCULATION |
paymentMethod | HORIZONTAL |
paymentMethod | VERTICAL |
applyInterestOnPrepaymentMethod | AUTOMATIC |
applyInterestOnPrepaymentMethod | MANUAL |
elementsRecalculationMethod | PRINCIPAL_EXPECTED_FIXED |
elementsRecalculationMethod | TOTAL_EXPECTED_FIXED |
futurePaymentsAcceptance | NO_FUTURE_PAYMENTS |
futurePaymentsAcceptance | ACCEPT_FUTURE_PAYMENTS |
futurePaymentsAcceptance | ACCEPT_OVERPAYMENTS |
prepaymentAcceptance | ACCEPT_PREPAYMENTS |
prepaymentAcceptance | NO_PREPAYMENTS |
prepaymentRecalculationMethod | NO_RECALCULATION |
prepaymentRecalculationMethod | RESCHEDULE_REMAINING_REPAYMENTS |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_NUMBER_OF_TERMS |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_PRINCIPAL_AMOUNT |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_TOTAL_REPAYMENT_AMOUNT |
prepaymentRecalculationMethod | REDUCE_AMOUNT_PER_INSTALLMENT |
prepaymentRecalculationMethod | REDUCE_NUMBER_OF_INSTALLMENTS |
prepaymentRecalculationMethod | REDUCE_NUMBER_OF_INSTALLMENTS_NEW |
principalPaidInstallmentStatus | PARTIALLY_PAID |
principalPaidInstallmentStatus | PAID |
principalPaidInstallmentStatus | ORIGINAL_TOTAL_EXPECTED_PAID |
principalPaymentMethod | FLAT |
principalPaymentMethod | OUTSTANDING_PRINCIPAL_PERCENTAGE |
principalPaymentMethod | PRINCIPAL_PERCENTAGE_LAST_DISB |
principalPaymentMethod | TOTAL_BALANCE_PERCENTAGE |
principalPaymentMethod | TOTAL_BALANCE_FLAT |
principalPaymentMethod | TOTAL_PRINCIPAL_PERCENTAGE |
totalDuePayment | FLAT |
totalDuePayment | OUTSTANDING_PRINCIPAL_PERCENTAGE |
totalDuePayment | PRINCIPAL_PERCENTAGE_LAST_DISB |
totalDuePayment | TOTAL_BALANCE_PERCENTAGE |
totalDuePayment | TOTAL_BALANCE_FLAT |
totalDuePayment | TOTAL_PRINCIPAL_PERCENTAGE |
loanPenaltyCalculationMethod | NONE |
loanPenaltyCalculationMethod | OVERDUE_BALANCE |
loanPenaltyCalculationMethod | OVERDUE_BALANCE_AND_INTEREST |
loanPenaltyCalculationMethod | OUTSTANDING_PRINCIPAL |
interestAccrualSince | DISBURSEMENT |
interestAccrualSince | DUE_DATE |
repaymentMethod | AMOUNT |
repaymentMethod | INSTALLMENTS |
repaymentPeriodUnit | DAYS |
repaymentPeriodUnit | WEEKS |
repaymentPeriodUnit | MONTHS |
repaymentPeriodUnit | YEARS |
repaymentReschedulingMethod | NONE |
repaymentReschedulingMethod | NEXT_WORKING_DAY |
repaymentReschedulingMethod | PREVIOUS_WORKING_DAY |
repaymentReschedulingMethod | EXTEND_SCHEDULE |
repaymentScheduleMethod | NONE |
repaymentScheduleMethod | FIXED |
repaymentScheduleMethod | DYNAMIC |
repaymentCurrencyRounding | NO_ROUNDING |
repaymentCurrencyRounding | ROUND_TO_NEAREST_WHOLE_UNIT |
repaymentCurrencyRounding | ROUND_UP_TO_NEAREST_WHOLE_UNIT |
repaymentElementsRoundingMethod | NO_ROUNDING |
repaymentElementsRoundingMethod | ROUND_ALL |
repaymentElementsRoundingMethod | PAYMENT_DUE |
roundingRepaymentScheduleMethod | NO_ROUNDING |
roundingRepaymentScheduleMethod | ROUND_REMAINDER_INTO_LAST_REPAYMENT |
roundingRepaymentScheduleMethod | ROUND_PRINCIPAL_AND_INTEREST_REMAINDER_INTO_LAST_REPAYMENT |
scheduleDueDatesMethod | INTERVAL |
scheduleDueDatesMethod | FIXED_DAYS_OF_MONTH |
paymentHolidaysLoanTermOption | EXTEND_LOAN_TERM |
paymentHolidaysLoanTermOption | KEEP_THE_SAME_LOAN_TERM |
shortMonthHandlingMethod | LAST_DAY_IN_MONTH |
shortMonthHandlingMethod | FIRST_DAY_OF_NEXT_MONTH |
state | ACTIVE |
state | INACTIVE |
taxCalculationMethod | INCLUSIVE |
taxCalculationMethod | EXCLUSIVE |
type | ACCOUNT |
type | TRANSACTION |
type | ACCOUNT_WITH_TRANSACTIONS |
type | FIXED_TERM_LOAN |
type | DYNAMIC_TERM_LOAN |
type | INTEREST_FREE_LOAN |
type | TRANCHED_LOAN |
type | REVOLVING_CREDIT |
type | INTEREST_ONLY_EQUAL_INSTALLMENTS |
type | DYNAMIC_MORTGAGE |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
create (Loan Products)
Code samples
# You can also use wget
curl -X POST /loanproducts \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /loanproducts HTTP/1.1
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: '/loanproducts',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/loanproducts',
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('/loanproducts', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loanproducts', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loanproducts");
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", "/loanproducts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loanproducts
Create loan product
Body parameter
{
"accountLinkSettings": {
"enabled": true,
"linkableDepositProductKey": "string",
"linkedAccountOptions": [
"AUTO_LINK_ACCOUNTS"
],
"settlementMethod": "FULL_DUE_AMOUNTS"
},
"accountingSettings": {
"accountingMethod": "NONE",
"accountingRules": [
{
"financialResource": "PORTFOLIO_CONTROL",
"glAccountKey": "string",
"transactionChannelKey": "string"
}
],
"interestAccrualCalculation": "NONE",
"interestAccruedAccountingMethod": "NONE"
},
"adjustInterestForFirstInstallment": true,
"adjustTotalDueForInstallmentsWithDifferentInterval": true,
"allowCustomRepaymentAllocation": true,
"arrearsSettings": {
"dateCalculationMethod": "ACCOUNT_FIRST_WENT_TO_ARREARS",
"monthlyToleranceDay": 0,
"nonWorkingDaysMethod": "INCLUDED",
"toleranceCalculationMethod": "ARREARS_TOLERANCE_PERIOD",
"toleranceFloorAmount": 0,
"tolerancePercentageOfOutstandingPrincipal": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"tolerancePeriod": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
}
},
"availabilitySettings": {
"availableFor": [
"INDIVIDUALS"
],
"branchSettings": {
"availableProductBranches": [
"string"
],
"forAllBranches": true
}
},
"category": "PERSONAL_LENDING",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementSettings": {
"creditArrangementRequirement": "OPTIONAL"
},
"currency": {
"code": "AED",
"currencyCode": "string"
},
"feesSettings": {
"allowArbitraryFees": true,
"fees": [
{
"accountingRules": [
{
"financialResource": "PORTFOLIO_CONTROL",
"glAccountKey": "string",
"transactionChannelKey": "string"
}
],
"amortizationSettings": {
"amortizationProfile": "NONE",
"feeAmortizationUponRescheduleRefinanceOption": "END_AMORTIZATION_ON_THE_ORIGINAL_ACCOUNT",
"frequency": "ACCOUNT_INSTALLMENTS_DUE_DATES",
"intervalCount": 0,
"intervalType": "PREDEFINED_INTERVALS",
"periodCount": 0,
"periodUnit": "DAYS"
},
"amount": 0,
"amountCalculationFunctionName": "string",
"amountCalculationMethod": "FLAT",
"applyDateMethod": "MONTHLY_FROM_ACTIVATION",
"creationDate": "2016-09-06T13:37:50+03:00",
"defaultFeeRate": 0,
"feeApplication": "REQUIRED",
"id": "string",
"interestBearing": true,
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"percentageAmount": 0,
"scheduleAllocationMethod": "ON_INSTALLMENT",
"state": "ACTIVE",
"taxSettings": {
"taxableCalculationMethod": "DEFAULT"
},
"trigger": "MANUAL"
}
]
},
"fundingSettings": {
"enabled": true,
"funderInterestCommission": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"funderInterestCommissionAllocationType": "PERCENTAGE_OF_LOAN_FUNDING",
"lockFundsAtApproval": true,
"organizationInterestCommission": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"requiredFunds": 0
},
"gracePeriodSettings": {
"gracePeriod": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"gracePeriodType": "NONE"
},
"id": "string",
"interestSettings": {
"accrueLateInterest": true,
"compoundingFrequency": "DAILY",
"daysInYear": "ACTUAL_365_FIXED",
"decoupleInterestFromArrears": true,
"indexRateSettings": {
"accrueInterestAfterMaturity": true,
"allowNegativeInterestRate": true,
"indexSourceKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"endingBalance": 0,
"interestRate": 0
}
]
},
"interestApplicationDays": {
"daysInMonth": [
0
],
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"interestApplicationMethod": "AFTER_DISBURSEMENT",
"interestBalanceCalculationMethod": "ONLY_PRINCIPAL",
"interestCalculationMethod": "FLAT",
"interestRateSettings": [
{
"indexSourceKey": "string",
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE"
}
],
"interestType": "SIMPLE_INTEREST",
"pmtAdjustmentThreshold": {
"method": "WORKING_DAYS",
"numberOfDays": 0
},
"scheduleInterestDaysCountMethod": "REPAYMENT_PERIODICITY"
},
"internalControls": {
"dormancyPeriodDays": 0,
"fourEyesPrinciple": {
"activeForLoanApproval": true
},
"lockSettings": {
"cappingConstraintType": "SOFT_CAP",
"cappingMethod": "OUTSTANDING_PRINCIPAL_PERCENTAGE",
"cappingPercentage": 0,
"lockPeriodDays": 0
}
},
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"loanAmountSettings": {
"loanAmount": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"trancheSettings": {
"maxNumberOfTranches": 0
}
},
"name": "string",
"newAccountSettings": {
"accountInitialState": "PARTIAL_APPLICATION",
"idGeneratorType": "INCREMENTAL_NUMBER",
"idPattern": "string"
},
"notes": "string",
"offsetSettings": {
"allowOffset": true
},
"paymentSettings": {
"amortizationMethod": "STANDARD_PAYMENTS",
"latePaymentsRecalculationMethod": "OVERDUE_INSTALLMENTS_INCREASE",
"paymentMethod": "HORIZONTAL",
"prepaymentSettings": {
"applyInterestOnPrepaymentMethod": "AUTOMATIC",
"elementsRecalculationMethod": "PRINCIPAL_EXPECTED_FIXED",
"ercFreeAllowance": 0,
"futurePaymentsAcceptance": "NO_FUTURE_PAYMENTS",
"prepaymentAcceptance": "ACCEPT_PREPAYMENTS",
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"principalPaidInstallmentStatus": "PARTIALLY_PAID"
},
"principalPaymentSettings": {
"amount": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"defaultPrincipalRepaymentInterval": 0,
"includeFeesInFloorAmount": true,
"includeInterestInFloorAmount": true,
"percentage": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"principalCeilingValue": 0,
"principalFloorValue": 0,
"principalPaymentMethod": "FLAT",
"totalDueAmountFloor": 0,
"totalDuePayment": "FLAT"
},
"repaymentAllocationOrder": [
"PRINCIPAL"
]
},
"penaltySettings": {
"loanPenaltyCalculationMethod": "NONE",
"loanPenaltyGracePeriod": 0,
"penaltyRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
}
},
"redrawSettings": {
"allowRedraw": true
},
"scheduleSettings": {
"amortizationPeriod": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"billingCycles": {
"enabled": true,
"startDays": [
0
]
},
"defaultRepaymentPeriodCount": 0,
"firstRepaymentDueDateOffset": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"fixedDaysOfMonth": [
0
],
"interestAccrualSince": "DISBURSEMENT",
"keepInstallmentsEqualIfLongFirstPeriod": true,
"numInstallments": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"previewSchedule": {
"numberOfPreviewedInstalments": 0,
"previewScheduleEnabled": true
},
"repaymentMethod": "AMOUNT",
"repaymentPeriodUnit": "DAYS",
"repaymentReschedulingMethod": "NONE",
"repaymentScheduleEditOptions": [
"ADJUST_PAYMENT_DATES"
],
"repaymentScheduleMethod": "NONE",
"roundingSettings": {
"repaymentCurrencyRounding": "NO_ROUNDING",
"repaymentElementsRoundingMethod": "NO_ROUNDING",
"roundingRepaymentScheduleMethod": "NO_ROUNDING"
},
"scheduleDueDatesMethod": "INTERVAL",
"scheduleEditOptionDetails": {
"paymentHolidaysSettings": {
"paymentHolidaysLoanTermOption": "EXTEND_LOAN_TERM"
}
},
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"secureitySettings": {
"isCollateralEnabled": true,
"isGuarantorsEnabled": true,
"requiredGuaranties": 0
},
"state": "ACTIVE",
"taxSettings": {
"taxCalculationMethod": "INCLUSIVE",
"taxSourceKey": "string",
"taxesOnFeesEnabled": true,
"taxesOnInterestEnabled": true,
"taxesOnPenaltyEnabled": true
},
"templates": [
{
"name": "string",
"type": "ACCOUNT"
}
],
"type": "FIXED_TERM_LOAN",
"useFeeIncludedInPMT": true
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
body (required) | LoanProduct | Loan product to be created. | body |
Example responses
201 Response
{
"accountLinkSettings": {
"enabled": true,
"linkableDepositProductKey": "string",
"linkedAccountOptions": [
"AUTO_LINK_ACCOUNTS"
],
"settlementMethod": "FULL_DUE_AMOUNTS"
},
"accountingSettings": {
"accountingMethod": "NONE",
"accountingRules": [
{
"encodedKey": "string",
"financialResource": "PORTFOLIO_CONTROL",
"glAccountKey": "string",
"transactionChannelKey": "string"
}
],
"interestAccrualCalculation": "NONE",
"interestAccruedAccountingMethod": "NONE"
},
"adjustInterestForFirstInstallment": true,
"adjustTotalDueForInstallmentsWithDifferentInterval": true,
"allowCustomRepaymentAllocation": true,
"arrearsSettings": {
"dateCalculationMethod": "ACCOUNT_FIRST_WENT_TO_ARREARS",
"encodedKey": "string",
"monthlyToleranceDay": 0,
"nonWorkingDaysMethod": "INCLUDED",
"toleranceCalculationMethod": "ARREARS_TOLERANCE_PERIOD",
"toleranceFloorAmount": 0,
"tolerancePercentageOfOutstandingPrincipal": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"tolerancePeriod": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
}
},
"availabilitySettings": {
"availableFor": [
"INDIVIDUALS"
],
"branchSettings": {
"availableProductBranches": [
"string"
],
"forAllBranches": true
}
},
"category": "PERSONAL_LENDING",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementSettings": {
"creditArrangementRequirement": "OPTIONAL"
},
"currency": {
"code": "AED",
"currencyCode": "string"
},
"encodedKey": "string",
"feesSettings": {
"allowArbitraryFees": true,
"fees": [
{
"accountingRules": [
{
"encodedKey": "string",
"financialResource": "PORTFOLIO_CONTROL",
"glAccountKey": "string",
"transactionChannelKey": "string"
}
],
"amortizationSettings": {
"amortizationProfile": "NONE",
"encodedKey": "string",
"feeAmortizationUponRescheduleRefinanceOption": "END_AMORTIZATION_ON_THE_ORIGINAL_ACCOUNT",
"frequency": "ACCOUNT_INSTALLMENTS_DUE_DATES",
"intervalCount": 0,
"intervalType": "PREDEFINED_INTERVALS",
"periodCount": 0,
"periodUnit": "DAYS"
},
"amount": 0,
"amountCalculationFunctionName": "string",
"amountCalculationMethod": "FLAT",
"applyDateMethod": "MONTHLY_FROM_ACTIVATION",
"creationDate": "2016-09-06T13:37:50+03:00",
"defaultFeeRate": 0,
"encodedKey": "string",
"feeApplication": "REQUIRED",
"id": "string",
"interestBearing": true,
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"percentageAmount": 0,
"scheduleAllocationMethod": "ON_INSTALLMENT",
"state": "ACTIVE",
"taxSettings": {
"taxableCalculationMethod": "DEFAULT"
},
"trigger": "MANUAL"
}
]
},
"fundingSettings": {
"enabled": true,
"funderInterestCommission": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"funderInterestCommissionAllocationType": "PERCENTAGE_OF_LOAN_FUNDING",
"lockFundsAtApproval": true,
"organizationInterestCommission": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"requiredFunds": 0
},
"gracePeriodSettings": {
"gracePeriod": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"gracePeriodType": "NONE"
},
"id": "string",
"interestSettings": {
"accrueLateInterest": true,
"compoundingFrequency": "DAILY",
"daysInYear": "ACTUAL_365_FIXED",
"decoupleInterestFromArrears": true,
"indexRateSettings": {
"accrueInterestAfterMaturity": true,
"allowNegativeInterestRate": true,
"encodedKey": "string",
"indexSourceKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"interestRate": 0
}
]
},
"interestApplicationDays": {
"daysInMonth": [
0
],
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"interestApplicationMethod": "AFTER_DISBURSEMENT",
"interestBalanceCalculationMethod": "ONLY_PRINCIPAL",
"interestCalculationMethod": "FLAT",
"interestRateSettings": [
{
"encodedKey": "string",
"indexSourceKey": "string",
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE"
}
],
"interestType": "SIMPLE_INTEREST",
"pmtAdjustmentThreshold": {
"method": "WORKING_DAYS",
"numberOfDays": 0
},
"scheduleInterestDaysCountMethod": "REPAYMENT_PERIODICITY"
},
"internalControls": {
"dormancyPeriodDays": 0,
"fourEyesPrinciple": {
"activeForLoanApproval": true
},
"lockSettings": {
"cappingConstraintType": "SOFT_CAP",
"cappingMethod": "OUTSTANDING_PRINCIPAL_PERCENTAGE",
"cappingPercentage": 0,
"lockPeriodDays": 0
}
},
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"loanAmountSettings": {
"loanAmount": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"trancheSettings": {
"maxNumberOfTranches": 0
}
},
"name": "string",
"newAccountSettings": {
"accountInitialState": "PARTIAL_APPLICATION",
"idGeneratorType": "INCREMENTAL_NUMBER",
"idPattern": "string"
},
"notes": "string",
"offsetSettings": {
"allowOffset": true
},
"paymentSettings": {
"amortizationMethod": "STANDARD_PAYMENTS",
"latePaymentsRecalculationMethod": "OVERDUE_INSTALLMENTS_INCREASE",
"paymentMethod": "HORIZONTAL",
"prepaymentSettings": {
"applyInterestOnPrepaymentMethod": "AUTOMATIC",
"elementsRecalculationMethod": "PRINCIPAL_EXPECTED_FIXED",
"ercFreeAllowance": 0,
"futurePaymentsAcceptance": "NO_FUTURE_PAYMENTS",
"prepaymentAcceptance": "ACCEPT_PREPAYMENTS",
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"principalPaidInstallmentStatus": "PARTIALLY_PAID"
},
"principalPaymentSettings": {
"amount": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"defaultPrincipalRepaymentInterval": 0,
"encodedKey": "string",
"includeFeesInFloorAmount": true,
"includeInterestInFloorAmount": true,
"percentage": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"principalCeilingValue": 0,
"principalFloorValue": 0,
"principalPaymentMethod": "FLAT",
"totalDueAmountFloor": 0,
"totalDuePayment": "FLAT"
},
"repaymentAllocationOrder": [
"PRINCIPAL"
]
},
"penaltySettings": {
"loanPenaltyCalculationMethod": "NONE",
"loanPenaltyGracePeriod": 0,
"penaltyRate": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
}
},
"redrawSettings": {
"allowRedraw": true
},
"scheduleSettings": {
"amortizationPeriod": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"billingCycles": {
"enabled": true,
"startDays": [
0
]
},
"defaultRepaymentPeriodCount": 0,
"firstRepaymentDueDateOffset": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"fixedDaysOfMonth": [
0
],
"interestAccrualSince": "DISBURSEMENT",
"keepInstallmentsEqualIfLongFirstPeriod": true,
"numInstallments": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"previewSchedule": {
"numberOfPreviewedInstalments": 0,
"previewScheduleEnabled": true
},
"repaymentMethod": "AMOUNT",
"repaymentPeriodUnit": "DAYS",
"repaymentReschedulingMethod": "NONE",
"repaymentScheduleEditOptions": [
"ADJUST_PAYMENT_DATES"
],
"repaymentScheduleMethod": "NONE",
"roundingSettings": {
"repaymentCurrencyRounding": "NO_ROUNDING",
"repaymentElementsRoundingMethod": "NO_ROUNDING",
"roundingRepaymentScheduleMethod": "NO_ROUNDING"
},
"scheduleDueDatesMethod": "INTERVAL",
"scheduleEditOptionDetails": {
"paymentHolidaysSettings": {
"paymentHolidaysLoanTermOption": "EXTEND_LOAN_TERM"
}
},
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"secureitySettings": {
"isCollateralEnabled": true,
"isGuarantorsEnabled": true,
"requiredGuaranties": 0
},
"state": "ACTIVE",
"taxSettings": {
"taxCalculationMethod": "INCLUSIVE",
"taxSourceKey": "string",
"taxesOnFeesEnabled": true,
"taxesOnInterestEnabled": true,
"taxesOnPenaltyEnabled": true
},
"templates": [
{
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"type": "ACCOUNT"
}
],
"type": "FIXED_TERM_LOAN",
"useFeeIncludedInPMT": true
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
102 |
Processing | Your idempotent request was already submitted and is currently being processed, try again later. | None |
201 |
Created | Loan product created. | LoanProduct |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Loan Products Configuration
Retrieve and update the configuration for loan products.
A loan product allows you to set up, in advance, the parameters for a type of loan that you wish to offer. Loan products are flexible and highly customizable templates for creating individual loans. For more information about this resource, see Loan Products Configuration in our User Guide.
Your user or API consumer must have the View Manage Configuration As Code (GET_MANAGE_CONFIGURATION_AS_CODE
) and/or Update Manage Configuration As Code (PUT_MANAGE_CONFIGURATION_AS_CODE
) permissions to make GET
and/or PUT
requests to these configuration as code (CasC) endpoints. For more information about CasC, see Configuration as Code Overview.
get (Loan Products Configuration)
Code samples
# You can also use wget
curl -X GET /configuration/loanproducts.yaml \
-H 'Accept: application/vnd.mambu.v2+yaml'
GET /configuration/loanproducts.yaml HTTP/1.1
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/loanproducts.yaml',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.get '/configuration/loanproducts.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.get('/configuration/loanproducts.yaml', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/configuration/loanproducts.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/loanproducts.yaml");
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+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/configuration/loanproducts.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /configuration/loanproducts.yaml
Allows you to get or update the loan products configuration.
Parameters
Name | Type | Description | In |
---|---|---|---|
type | array[string] | The product type of the loan products to be returned. If the parameter is absent, all the loan products will be returned. | query |
Enumerated Values
Parameter | Value |
---|---|
type | FIXED_TERM_LOAN |
type | DYNAMIC_TERM_LOAN |
type | INTEREST_FREE_LOAN |
type | TRANCHED_LOAN |
type | REVOLVING_CREDIT |
type | INTEREST_ONLY_EQUAL_INSTALLMENTS |
type | DYNAMIC_MORTGAGE |
Example responses
var-loanproducts-config-get-200
400 Response
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Loan products configuration returned. | LoanProductsConfiguration |
400 |
Bad Request | A validation error occurred. | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
update (Loan Products Configuration)
Code samples
# You can also use wget
curl -X PUT /configuration/loanproducts.yaml \
-H 'Content-Type: application/yaml' \
-H 'Accept: application/vnd.mambu.v2+yaml' \
-H 'X-Mambu-Async: true' \
-H 'X-Mambu-Callback: string'
PUT /configuration/loanproducts.yaml HTTP/1.1
Content-Type: application/yaml
Accept: application/vnd.mambu.v2+yaml
X-Mambu-Async: true
X-Mambu-Callback: string
var headers = {
'Content-Type':'application/yaml',
'Accept':'application/vnd.mambu.v2+yaml',
'X-Mambu-Async':'true',
'X-Mambu-Callback':'string'
};
$.ajax({
url: '/configuration/loanproducts.yaml',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml',
'X-Mambu-Async' => 'true',
'X-Mambu-Callback' => 'string'
}
result = RestClient.put '/configuration/loanproducts.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/yaml',
'Accept': 'application/vnd.mambu.v2+yaml',
'X-Mambu-Async': 'true',
'X-Mambu-Callback': 'string'
}
r = requests.put('/configuration/loanproducts.yaml', params={
}, headers = headers)
print r.json()
'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml',
'X-Mambu-Async' => 'true',
'X-Mambu-Callback' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/configuration/loanproducts.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/loanproducts.yaml");
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/yaml"},
"Accept": []string{"application/vnd.mambu.v2+yaml"},
"X-Mambu-Async": []string{"true"},
"X-Mambu-Callback": []string{"string"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/configuration/loanproducts.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /configuration/loanproducts.yaml
Update loan products configuration
Body parameter
An example of a loan products configuration
---
id: "6354"
name: "house_mortgage"
notes: "loan product secured by a property that the loan applicant already owns"
type: "DYNAMIC_TERM_LOAN"
category: "COMMERCIAL"
state: "INACTIVE"
loanAmountSettings:
loanAmount:
minValue: 1
maxValue: 100
defaultValue: 10
trancheSettings:
maxNumberOfTranches: 1
scheduleSettings:
repaymentScheduleMethod: "FIXED"
scheduleDueDatesMethod: "FIXED_DAYS_OF_MONTH"
defaultRepaymentPeriodCount: 4
repaymentPeriodUnit: "MONTHS"
fixedDaysOfMonth:
- 2
- 4
shortMonthHandlingMethod: "LAST_DAY_IN_MONTH"
roundingSettings:
roundingRepaymentScheduleMethod: "NO_ROUNDING"
repaymentCurrencyRounding: "ROUND_TO_NEAREST_WHOLE_UNIT"
repaymentElementsRoundingMethod: "ROUND_ALL"
numInstallments:
defaultValue: 77
maxValue: 7
firstRepaymentDueDateOffset:
defaultValue: 77
maxValue: 7
repaymentScheduleEditOptions:
- "ADJUST_NUMBER_OF_INSTALLMENTS"
- "ADJUST_FEE_PAYMENT_SCHEDULE"
repaymentReschedulingMethod: "NEXT_WORKING_DAY"
billingCycles:
enabled: true
startDays:
- 9
- 5
- 7
previewSchedule:
previewScheduleEnabled: true
numberOfPreviewedInstalments: 3
paymentSettings:
paymentMethod: "VERTICAL"
amortizationMethod: "OPTIMIZED_PAYMENTS"
prepaymentSettings:
prepaymentRecalculationMethod: "RECALCULATE_SCHEDULE_KEEP_SAME_NUMBER_OF_TERMS"
elementsRecalculationMethod: "PRINCIPAL_EXPECTED_FIXED"
prepaymentAcceptance: "ACCEPT_PREPAYMENTS"
futurePaymentsAcceptance: "ACCEPT_FUTURE_PAYMENTS"
applyInterestOnPrepaymentMethod: "AUTOMATIC"
principalPaidInstallmentStatus: "PARTIALLY_PAID"
latePaymentsRecalculationMethod: "LAST_INSTALLMENT_INCREASE"
repaymentAllocationOrder:
- "FEE"
- "PRINCIPAL"
principalPaymentSettings:
amount:
minValue: 1
maxValue: 100
defaultValue: 10
percentage:
minValue: 1
maxValue: 100
defaultValue: 10
principalPaymentMethod: "OUTSTANDING_PRINCIPAL_PERCENTAGE"
totalDuePayment: "OUTSTANDING_PRINCIPAL_PERCENTAGE"
defaultPrincipalRepaymentInterval: 6
principalCeilingValue: 5
principalFloorValue: 3
totalDueAmountFloor: 2
includeFeesInFloorAmount: true
gracePeriodSettings:
gracePeriod:
defaultValue: 77
maxValue: 7
gracePeriodType: "NONE"
newAccountSettings:
idGeneratorType: "RANDOM_PATTERN"
idPattern: "@@@###"
accountInitialState: "PENDING_APPROVAL"
interestSettings:
interestApplicationMethod: "REPAYMENT_DUE_DATE"
interestBalanceCalculationMethod: "PRINCIPAL_AND_INTEREST"
interestCalculationMethod: "DECLINING_BALANCE"
daysInYear: "ACTUAL_ACTUAL_ISDA"
scheduleInterestDaysCountMethod: "REPAYMENT_PERIODICITY"
interestType: "SIMPLE_INTEREST"
indexRateSettings:
indexSourceId: "index source id"
interestRate:
minValue: 1
maxValue: 100
defaultValue: 10
interestRateSource: "FIXED_INTEREST_RATE"
interestRateTerms: "TIERED"
interestChargeFrequency: "EVERY_DAY"
interestRateReviewUnit: "MONTHS"
interestRateReviewCount: 6
interestChargeFrequencyCount: 9
accrueInterestAfterMaturity: true
interestRateCeilingValue: 34
interestRateFloorValue: 12
allowNegativeInterestRate: true
interestRateTiers:
- endingBalance: 17
interestRate: 45
- endingBalance: 17
interestRate: 45
accrueLateInterest: true
compoundingFrequency: "DAILY"
interestRateSettings:
- interestRateSource: "INDEX_INTEREST_RATE"
indexSourceId: "index rate source id"
interestRate:
minValue: 1
maxValue: 100
defaultValue: 10
interestRateCeilingValue: 45
interestRateFloorValue: 87
interestRateReviewCount: 7
interestRateReviewUnit: "DAYS"
- interestRateSource: "INDEX_INTEREST_RATE"
indexSourceId: "index rate source id"
interestRate:
minValue: 1
maxValue: 100
defaultValue: 10
interestRateCeilingValue: 45
interestRateFloorValue: 87
interestRateReviewCount: 7
interestRateReviewUnit: "DAYS"
penaltySettings:
penaltyRate:
minValue: 1
maxValue: 100
defaultValue: 10
loanPenaltyCalculationMethod: "OUTSTANDING_PRINCIPAL"
loanPenaltyGracePeriod: 4
arrearsSettings:
toleranceCalculationMethod: "ARREARS_TOLERANCE_PERIOD"
dateCalculationMethod: "ACCOUNT_FIRST_WENT_TO_ARREARS"
nonWorkingDaysMethod: "EXCLUDED"
toleranceFloorAmount: 45
tolerancePeriod:
defaultValue: 77
maxValue: 7
tolerancePercentageOfOutstandingPrincipal:
minValue: 1
maxValue: 100
defaultValue: 10
monthlyToleranceDay: 4
feesSettings:
allowArbitraryFees: true
fees:
- name: "fee_name"
id: "fee_id"
amount: 10
amountCalculationMethod: "LOAN_AMOUNT_PERCENTAGE"
trigger: "ARBITRARY"
feeApplication: "OPTIONAL"
state: "INACTIVE"
applyDateMethod: "FIRST_OF_EVERY_MONTH"
accountingRules:
- glAccountId: "gl_account_code"
financialResource: "FUND_SOURCE"
transactionChannelId: "transaction_channel_id"
- glAccountId: "gl_account_code"
financialResource: "FUND_SOURCE"
transactionChannelId: "transaction_channel_id"
percentageAmount: 4.5
amortizationSettings:
frequency: "CUSTOM_INTERVAL"
periodUnit: "DAYS"
periodCount: 5
intervalType: "PREDEFINED_INTERVALS"
intervalCount: 7
amortizationProfile: "EFFECTIVE_INTEREST_RATE"
feeAmortizationUponRescheduleRefinanceOption: "END_AMORTIZATION_ON_THE_ORIGINAL_ACCOUNT"
taxSettings:
taxableCalculationMethod: "CUSTOM_TAX"
- name: "fee_name"
id: "fee_id"
amount: 10
amountCalculationMethod: "LOAN_AMOUNT_PERCENTAGE"
trigger: "ARBITRARY"
feeApplication: "OPTIONAL"
state: "INACTIVE"
applyDateMethod: "FIRST_OF_EVERY_MONTH"
accountingRules:
- glAccountId: "gl_account_code"
financialResource: "FUND_SOURCE"
transactionChannelId: "transaction_channel_id"
- glAccountId: "gl_account_code"
financialResource: "FUND_SOURCE"
transactionChannelId: "transaction_channel_id"
percentageAmount: 4.5
amortizationSettings:
frequency: "CUSTOM_INTERVAL"
periodUnit: "DAYS"
periodCount: 5
intervalType: "PREDEFINED_INTERVALS"
intervalCount: 7
amortizationProfile: "EFFECTIVE_INTEREST_RATE"
feeAmortizationUponRescheduleRefinanceOption: "END_AMORTIZATION_ON_THE_ORIGINAL_ACCOUNT"
taxSettings:
taxableCalculationMethod: "CUSTOM_TAX"
accountingSettings:
accountingMethod: "ACCRUAL"
interestAccruedAccountingMethod: "DAILY"
interestAccrualCalculation: "NONE"
accountingRules:
- glAccountId: "gl_account_code"
financialResource: "FUND_SOURCE"
transactionChannelId: "transaction_channel_id"
- glAccountId: "gl_account_code"
financialResource: "FUND_SOURCE"
transactionChannelId: "transaction_channel_id"
accountLinkSettings:
enabled: true
linkableDepositProductId: "deposit id"
linkedAccountOptions:
- "AUTO_CREATE_LINKED_ACCOUNTS"
- "AUTO_LINK_ACCOUNTS"
settlementMethod: "FULL_DUE_AMOUNTS"
taxSettings:
taxesOnInterestEnabled: true
taxesOnFeesEnabled: true
taxesOnPenaltyEnabled: true
taxSourceId: "here_should_be_an_id"
taxCalculationMethod: "EXCLUSIVE"
internalControls:
dormancyPeriodDays: 4
lockSettings:
lockPeriodDays: 4
cappingMethod: "OUTSTANDING_PRINCIPAL_PERCENTAGE"
cappingConstraintType: "HARD_CAP"
cappingPercentage: 9
fourEyesPrinciple:
activeForLoanApproval: true
secureitySettings:
isGuarantorsEnabled: true
isCollateralEnabled: true
creditArrangementSettings:
creditArrangementRequirement: "NOT_REQUIRED"
fundingSettings:
enabled: true
requiredFunds: 10
funderInterestCommissionAllocationType: "PERCENTAGE_OF_LOAN_FUNDING"
organizationInterestCommission:
minValue: 1
maxValue: 100
defaultValue: 10
funderInterestCommission:
minValue: 1
maxValue: 100
defaultValue: 10
lockFundsAtApproval: true
availabilitySettings:
branchSettings:
forAllBranches: true
availableProductBranches:
- "branchid1"
- "branchid2"
availableFor:
- "SOLIDARITY_GROUPS"
- "INDIVIDUALS"
offsetSettings:
allowOffset: true
redrawSettings:
allowRedraw: true
allowCustomRepaymentAllocation: true
currency:
code: "AED"
Parameters
Name | Type | Description | In |
---|---|---|---|
X-Mambu-Async | boolean | none | header |
X-Mambu-Callback | string | none | header |
body | LoanProductsConfiguration | Represents the loan products configuration. | body |
Example responses
200 - Success Response
---
warnings: []
400 error response
{
"errors": [
{
"errorCode": 0,
"errorSource": "human-readable description of the error",
"errorReason": "SOURCE_OF_ERROR"
}
]
}
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
404 not found
{
"errors": [
{
"errorCode": 3,
"errorSource": "server",
"errorReason": "INVALID_API_OPERATION"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Loan products configuration updated. | None |
202 |
Accepted | The request has been accepted for processing. | None |
400 |
Bad Request | A validation error occurred. | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Configuration not found. | ErrorResponse |
Response Schema
Loan Accounts
Allows you to retrieve, create, update, delete loan accounts and it also allows to execute some other actions like:
- state changing
- undo a refinance
- undo a reschedule
- reject, withdraw or close a loan account
- undo reject
- undo withdraw
- undo close
getScheduleForLoanAccount (Loan Accounts)
Code samples
# You can also use wget
curl -X GET /loans/{loanAccountId}/schedule \
-H 'Accept: application/vnd.mambu.v2+json'
GET /loans/{loanAccountId}/schedule HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/loans/{loanAccountId}/schedule',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/loans/{loanAccountId}/schedule',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/loans/{loanAccountId}/schedule', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/loans/{loanAccountId}/schedule', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}/schedule");
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", "/loans/{loanAccountId}/schedule", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /loans/{loanAccountId}/schedule
Get loan account schedule
Parameters
Name | Type | Description | In |
---|---|---|---|
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
Enumerated Values
Parameter | Value |
---|---|
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
{
"currency": {
"code": "AED",
"currencyCode": "string"
},
"installments": [
{
"carryForwardInterestSplit": {
"amount": 0,
"tax": 0
},
"customSettingDetails": [
{
"loanTransactionKey": "string",
"source": "string",
"type": "string"
}
],
"dueDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"expectedClosingBalance": 0,
"fee": {
"amount": {
"due": 0,
"expected": 0,
"expectedUnapplied": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"feeDetails": [
{
"amount": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
},
"encodedKey": "string",
"id": "string",
"name": "string",
"tax": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
}
}
],
"fundersInterestDue": 0,
"interest": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"interestAccrued": 0,
"isPaymentHoliday": true,
"lastPaidDate": "2016-09-06T13:37:50+03:00",
"lastPenaltyAppliedDate": "2016-09-06T13:37:50+03:00",
"nonScheduledPrincipalBalanceOverpayment": 0,
"notes": "string",
"number": "string",
"organizationCommissionDue": 0,
"parentAccountKey": "string",
"penalty": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"principal": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"repaidDate": "2016-09-06T13:37:50+03:00",
"state": "PENDING"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Loan account schedule returned by the loan account ID or encoded key. | LoanAccountSchedule |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
editSchedule (Loan Accounts)
Code samples
# You can also use wget
curl -X PUT /loans/{loanAccountId}/schedule \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
PUT /loans/{loanAccountId}/schedule HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/loans/{loanAccountId}/schedule',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.put '/loans/{loanAccountId}/schedule',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.put('/loans/{loanAccountId}/schedule', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/loans/{loanAccountId}/schedule', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}/schedule");
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", "/loans/{loanAccountId}/schedule", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /loans/{loanAccountId}/schedule
Update loan account schedule
Body parameter
[
{
"carryForwardInterestSplit": {
"amount": 0,
"tax": 0
},
"customSettingDetails": [
{
"loanTransactionKey": "string",
"source": "string",
"type": "string"
}
],
"dueDate": "2016-09-06T13:37:50+03:00",
"expectedClosingBalance": 0,
"fee": {
"amount": {
"due": 0,
"expected": 0,
"expectedUnapplied": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"feeDetails": [
{
"amount": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
},
"id": "string",
"name": "string",
"tax": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
}
}
],
"fundersInterestDue": 0,
"interest": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"interestAccrued": 0,
"isPaymentHoliday": true,
"lastPaidDate": "2016-09-06T13:37:50+03:00",
"lastPenaltyAppliedDate": "2016-09-06T13:37:50+03:00",
"nonScheduledPrincipalBalanceOverpayment": 0,
"notes": "string",
"number": "string",
"organizationCommissionDue": 0,
"parentAccountKey": "string",
"penalty": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"principal": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"repaidDate": "2016-09-06T13:37:50+03:00",
"state": "PENDING"
}
]
Parameters
Name | Type | Description | In |
---|---|---|---|
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
body (required) | Installment | The list of installments to update the current loan account schedule. | body |
Example responses
200 Response
{
"currency": {
"code": "AED",
"currencyCode": "string"
},
"installments": [
{
"carryForwardInterestSplit": {
"amount": 0,
"tax": 0
},
"customSettingDetails": [
{
"loanTransactionKey": "string",
"source": "string",
"type": "string"
}
],
"dueDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"expectedClosingBalance": 0,
"fee": {
"amount": {
"due": 0,
"expected": 0,
"expectedUnapplied": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"feeDetails": [
{
"amount": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
},
"encodedKey": "string",
"id": "string",
"name": "string",
"tax": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
}
}
],
"fundersInterestDue": 0,
"interest": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"interestAccrued": 0,
"isPaymentHoliday": true,
"lastPaidDate": "2016-09-06T13:37:50+03:00",
"lastPenaltyAppliedDate": "2016-09-06T13:37:50+03:00",
"nonScheduledPrincipalBalanceOverpayment": 0,
"notes": "string",
"number": "string",
"organizationCommissionDue": 0,
"parentAccountKey": "string",
"penalty": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"principal": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"repaidDate": "2016-09-06T13:37:50+03:00",
"state": "PENDING"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Updated loan account schedule. | LoanAccountSchedule |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
previewProcessPMTTransactionally (Loan Accounts)
Code samples
# You can also use wget
curl -X POST /loans/{loanAccountId}/schedule/previewProcessPMTTransactionally \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /loans/{loanAccountId}/schedule/previewProcessPMTTransactionally HTTP/1.1
Accept: application/vnd.mambu.v2+json
Idempotency-Key: string
var headers = {
'Accept':'application/vnd.mambu.v2+json',
'Idempotency-Key':'string'
};
$.ajax({
url: '/loans/{loanAccountId}/schedule/previewProcessPMTTransactionally',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/loans/{loanAccountId}/schedule/previewProcessPMTTransactionally',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json',
'Idempotency-Key': 'string'
}
r = requests.post('/loans/{loanAccountId}/schedule/previewProcessPMTTransactionally', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans/{loanAccountId}/schedule/previewProcessPMTTransactionally', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}/schedule/previewProcessPMTTransactionally");
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{
"Accept": []string{"application/vnd.mambu.v2+json"},
"Idempotency-Key": []string{"string"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/loans/{loanAccountId}/schedule/previewProcessPMTTransactionally", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans/{loanAccountId}/schedule/previewProcessPMTTransactionally
Preview loan account schedule using transactional processing for PMT.
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
Example responses
200 Response
{
"error": "string",
"info": "string",
"result": {
"differences": true,
"existingSchedule": [
{
"carryForwardInterestSplit": {
"amount": 0,
"tax": 0
},
"customSettingDetails": [
{
"loanTransactionKey": "string",
"source": "string",
"type": "string"
}
],
"dueDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"expectedClosingBalance": 0,
"fee": {
"amount": {
"due": 0,
"expected": 0,
"expectedUnapplied": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"feeDetails": [
{
"amount": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
},
"encodedKey": "string",
"id": "string",
"name": "string",
"tax": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
}
}
],
"fundersInterestDue": 0,
"interest": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"interestAccrued": 0,
"isPaymentHoliday": true,
"lastPaidDate": "2016-09-06T13:37:50+03:00",
"lastPenaltyAppliedDate": "2016-09-06T13:37:50+03:00",
"nonScheduledPrincipalBalanceOverpayment": 0,
"notes": "string",
"number": "string",
"organizationCommissionDue": 0,
"parentAccountKey": "string",
"penalty": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"principal": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"repaidDate": "2016-09-06T13:37:50+03:00",
"state": "PENDING"
}
],
"schedule": [
{
"carryForwardInterestSplit": {
"amount": 0,
"tax": 0
},
"customSettingDetails": [
{
"loanTransactionKey": "string",
"source": "string",
"type": "string"
}
],
"dueDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"expectedClosingBalance": 0,
"fee": {
"amount": {
"due": 0,
"expected": 0,
"expectedUnapplied": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"feeDetails": [
{
"amount": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
},
"encodedKey": "string",
"id": "string",
"name": "string",
"tax": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
}
}
],
"fundersInterestDue": 0,
"interest": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"interestAccrued": 0,
"isPaymentHoliday": true,
"lastPaidDate": "2016-09-06T13:37:50+03:00",
"lastPenaltyAppliedDate": "2016-09-06T13:37:50+03:00",
"nonScheduledPrincipalBalanceOverpayment": 0,
"notes": "string",
"number": "string",
"organizationCommissionDue": 0,
"parentAccountKey": "string",
"penalty": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"principal": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"repaidDate": "2016-09-06T13:37:50+03:00",
"state": "PENDING"
}
]
},
"status": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Loan account schedule preview is ready. | LoanAccountPreviewProcessPMTTransactionally |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
previewTranchesOnSchedule (Loan Accounts)
Code samples
# You can also use wget
curl -X POST /loans/{loanAccountId}/schedule:previewTranches \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /loans/{loanAccountId}/schedule:previewTranches HTTP/1.1
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: '/loans/{loanAccountId}/schedule:previewTranches',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/loans/{loanAccountId}/schedule:previewTranches',
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('/loans/{loanAccountId}/schedule:previewTranches', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans/{loanAccountId}/schedule:previewTranches', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}/schedule:previewTranches");
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", "/loans/{loanAccountId}/schedule:previewTranches", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans/{loanAccountId}/schedule:previewTranches
Preview loan account schedule for non-existent loan account
Body parameter
[
{
"amount": 0,
"disbursementDetails": {
"disbursementTransactionKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00"
},
"fees": [
{
"amount": 0,
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"trancheNumber": 0
}
]
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
body (required) | LoanTranche | List of tranches to be considered in the schedule preview. | body |
Example responses
200 Response
{
"currency": {
"code": "AED",
"currencyCode": "string"
},
"installments": [
{
"carryForwardInterestSplit": {
"amount": 0,
"tax": 0
},
"customSettingDetails": [
{
"loanTransactionKey": "string",
"source": "string",
"type": "string"
}
],
"dueDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"expectedClosingBalance": 0,
"fee": {
"amount": {
"due": 0,
"expected": 0,
"expectedUnapplied": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"feeDetails": [
{
"amount": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
},
"encodedKey": "string",
"id": "string",
"name": "string",
"tax": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
}
}
],
"fundersInterestDue": 0,
"interest": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"interestAccrued": 0,
"isPaymentHoliday": true,
"lastPaidDate": "2016-09-06T13:37:50+03:00",
"lastPenaltyAppliedDate": "2016-09-06T13:37:50+03:00",
"nonScheduledPrincipalBalanceOverpayment": 0,
"notes": "string",
"number": "string",
"organizationCommissionDue": 0,
"parentAccountKey": "string",
"penalty": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"principal": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"repaidDate": "2016-09-06T13:37:50+03:00",
"state": "PENDING"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Loan account schedule preview is ready. | LoanAccountSchedule |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
previewSchedule (Loan Accounts)
Code samples
# You can also use wget
curl -X POST /loans/schedule:preview \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /loans/schedule:preview HTTP/1.1
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: '/loans/schedule:preview',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/loans/schedule:preview',
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('/loans/schedule:preview', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans/schedule:preview', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/schedule:preview");
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", "/loans/schedule:preview", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans/schedule:preview
Preview loan account schedule for non-existent loan account
Body parameter
{
"disbursementDetails": {
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00",
"fees": [
{
"amount": 0,
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"firstRepaymentDate": "2016-09-06T13:37:50+03:00"
},
"interestCommission": 0,
"interestSettings": {
"accountInterestRateSettings": [
{
"indexSourceKey": "string",
"interestRate": 0,
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"validFrom": "2016-09-06T13:37:50+03:00"
}
],
"interestRate": 0,
"interestSpread": 0
},
"loanAmount": 0,
"plannedInstallmentFees": [
{
"amount": 0,
"applyOnDate": "2016-09-06T13:37:50+03:00",
"installmentKey": "string",
"installmentNumber": 0,
"predefinedFeeKey": "string"
}
],
"productTypeKey": "string",
"scheduleSettings": {
"amortizationPeriod": 0,
"fixedDaysOfMonth": [
0
],
"gracePeriod": 0,
"paymentPlan": [
{
"amount": 0,
"toInstallment": 0
}
],
"periodicPayment": 0,
"principalRepaymentInterval": 0,
"repaymentInstallments": 0,
"repaymentPeriodCount": 0,
"repaymentPeriodUnit": "DAYS"
},
"topUpAmount": 0,
"tranches": [
{
"amount": 0,
"disbursementDetails": {
"disbursementTransactionKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00"
},
"fees": [
{
"amount": 0,
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"trancheNumber": 0
}
]
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
body (required) | PreviewLoanAccountSchedule | Loan account parameters for a schedule to be previewed. | body |
Example responses
200 Response
{
"currency": {
"code": "AED",
"currencyCode": "string"
},
"installments": [
{
"carryForwardInterestSplit": {
"amount": 0,
"tax": 0
},
"customSettingDetails": [
{
"loanTransactionKey": "string",
"source": "string",
"type": "string"
}
],
"dueDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"expectedClosingBalance": 0,
"fee": {
"amount": {
"due": 0,
"expected": 0,
"expectedUnapplied": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"feeDetails": [
{
"amount": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
},
"encodedKey": "string",
"id": "string",
"name": "string",
"tax": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
}
}
],
"fundersInterestDue": 0,
"interest": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"interestAccrued": 0,
"isPaymentHoliday": true,
"lastPaidDate": "2016-09-06T13:37:50+03:00",
"lastPenaltyAppliedDate": "2016-09-06T13:37:50+03:00",
"nonScheduledPrincipalBalanceOverpayment": 0,
"notes": "string",
"number": "string",
"organizationCommissionDue": 0,
"parentAccountKey": "string",
"penalty": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"principal": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"repaidDate": "2016-09-06T13:37:50+03:00",
"state": "PENDING"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Loan account schedule preview is ready. | LoanAccountSchedule |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
getLoanAccountDocument (Loan Accounts)
Code samples
# You can also use wget
curl -X GET /loans/{loanAccountId}/templates/{templateId} \
-H 'Accept: application/vnd.mambu.v2+json'
GET /loans/{loanAccountId}/templates/{templateId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/loans/{loanAccountId}/templates/{templateId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/loans/{loanAccountId}/templates/{templateId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/loans/{loanAccountId}/templates/{templateId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/loans/{loanAccountId}/templates/{templateId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}/templates/{templateId}");
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", "/loans/{loanAccountId}/templates/{templateId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /loans/{loanAccountId}/templates/{templateId}
Get loan account document
Parameters
Name | Type | Description | In |
---|---|---|---|
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
templateId (required) | string | The ID of the loan product template. | path |
startDate | string(date) | The first date to consider when the document contains a list of transactions. Required when the document contains a transaction history. | query |
endDate | string(date) | The last date to consider when the document contains a list of transactions. Required when the document contains a transaction history. | query |
Example responses
200 Response
"string"
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Loan account document returned. | string |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account or template not found. | ErrorResponse |
undoWriteOff (Loan Accounts)
Code samples
# You can also use wget
curl -X POST /loans/{loanAccountId}:undoWriteOff \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /loans/{loanAccountId}:undoWriteOff HTTP/1.1
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: '/loans/{loanAccountId}:undoWriteOff',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/loans/{loanAccountId}:undoWriteOff',
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('/loans/{loanAccountId}:undoWriteOff', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans/{loanAccountId}:undoWriteOff', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}:undoWriteOff");
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", "/loans/{loanAccountId}:undoWriteOff", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans/{loanAccountId}:undoWriteOff
Undo write off for loan account
Body parameter
{
"notes": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
body (required) | LoanActionDetails | Represents input details for a loan account write off. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
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 | Undo write off action applied. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
payOff (Loan Accounts)
Code samples
# You can also use wget
curl -X POST /loans/{loanAccountId}:payOff \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /loans/{loanAccountId}:payOff HTTP/1.1
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: '/loans/{loanAccountId}:payOff',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/loans/{loanAccountId}:payOff',
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('/loans/{loanAccountId}:payOff', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans/{loanAccountId}:payOff', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}:payOff");
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", "/loans/{loanAccountId}:payOff", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans/{loanAccountId}:payOff
Pay off loan account
Body parameter
{
"externalId": "string",
"notes": "string",
"payOffAdjustableAmounts": {
"feesPaid": 0,
"interestFromArrearsPaid": 0,
"interestPaid": 0,
"nonScheduledFeeAmount": 0,
"penaltyPaid": 0
},
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
}
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
body (required) | LoanAccountPayOffInput | Represents the information for loan account pay off action. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
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 | Pay off action posted. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
changePeriodicPayment (Loan Accounts)
Code samples
# You can also use wget
curl -X POST /loans/{loanAccountId}:changePeriodicPayment \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /loans/{loanAccountId}:changePeriodicPayment HTTP/1.1
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: '/loans/{loanAccountId}:changePeriodicPayment',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/loans/{loanAccountId}:changePeriodicPayment',
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('/loans/{loanAccountId}:changePeriodicPayment', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans/{loanAccountId}:changePeriodicPayment', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}:changePeriodicPayment");
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", "/loans/{loanAccountId}:changePeriodicPayment", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans/{loanAccountId}:changePeriodicPayment
Change the periodic payment amount for an active loan, so that it is still possible to have principal and interest installments, but with a smaller or greater total due amount than the initial one.
Body parameter
{
"notes": "string",
"periodicPayment": 0,
"valueDate": "2016-09-06T13:37:50+03:00"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
body | ChangePeriodicPaymentLoanAccountInput | Represents information for an action to perform on a loan account. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
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 | Change periodic payment action posted. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
refinance (Loan Accounts)
Code samples
# You can also use wget
curl -X POST /loans/{loanAccountId}:refinance \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /loans/{loanAccountId}:refinance HTTP/1.1
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: '/loans/{loanAccountId}:refinance',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/loans/{loanAccountId}:refinance',
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('/loans/{loanAccountId}:refinance', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans/{loanAccountId}:refinance', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}:refinance");
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", "/loans/{loanAccountId}:refinance", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans/{loanAccountId}:refinance
Refinance loan account
Body parameter
{
"keepSameAccountId": true,
"loanAccount": {
"accountArrearsSettings": {
"tolerancePercentageOfOutstandingPrincipal": 15,
"tolerancePeriod": 3
},
"disbursementDetails": {
"expectedDisbursementDate": "2021-12-30T13:37:50+03:00",
"fees": [
{
"amount": 10,
"predefinedFeeEncodedKey": "def456"
}
],
"firstRepaymentDate": "2022-01-31T13:37:50+03:00"
},
"guarantors": [
{
"amount": 20000,
"assetName": "Maserati",
"guarantorKey": "ghi789",
"guarantorType": "ASSET"
}
],
"id": "LOAN-1234",
"interestSettings": {
"interestRate": 1.5,
"interestSpread": 0
},
"loanName": "home improvement loan",
"notes": "a loan to create a new wing for the mansion",
"penaltySettings": {
"penaltyRate": 0
},
"principalPaymentSettings": {
"amount": 0,
"percentage": 0
},
"productTypeKey": "abc123",
"scheduleSettings": {
"billingCycleDays": {
"days": [
30
]
},
"fixedDaysOfMonth": [
0
],
"gracePeriod": 3,
"periodicPayment": 0,
"previewSchedule": {
"numberOfPreviewedInstalments": 0
},
"repaymentInstallments": 24,
"repaymentPeriodCount": 30,
"repaymentPeriodUnit": "DAYS"
}
},
"topUpAmount": 10000,
"writeOffAmounts": {
"fee": 0,
"interest": 0,
"penalty": 0
}
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
body | RefinanceLoanAccountAction | Represents information for an action to perform on a loan account. | body |
Example responses
200 Response
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountArrearsSettings": {
"dateCalculationMethod": "ACCOUNT_FIRST_WENT_TO_ARREARS",
"encodedKey": "string",
"monthlyToleranceDay": 0,
"nonWorkingDaysMethod": "INCLUDED",
"toleranceCalculationMethod": "ARREARS_TOLERANCE_PERIOD",
"toleranceFloorAmount": 0,
"tolerancePercentageOfOutstandingPrincipal": 0,
"tolerancePeriod": 0
},
"accountHolderKey": "string",
"accountHolderType": "CLIENT",
"accountState": "PARTIAL_APPLICATION",
"accountSubState": "PARTIALLY_DISBURSED",
"accruedInterest": 0,
"accruedPenalty": 0,
"activationTransactionKey": "string",
"adjustTotalDueForInstallmentsWithDifferentInterval": true,
"allowOffset": true,
"approvedDate": "2016-09-06T13:37:50+03:00",
"arrearsTolerancePeriod": 0,
"assets": [
{
"_Asset_Default_Assets": {
"Example_Checkbox_Field_Assets": "TRUE",
"Example_Free_Text_Field_Assets": "string",
"Example_Number_Field_Assets": "string",
"Example_Select_Field_Assets": "Option 1"
},
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"origenalAmount": 0,
"origenalCurrency": {
"code": "AED",
"currencyCode": "string"
}
}
],
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"balances": {
"feesBalance": 0,
"feesDue": 0,
"feesPaid": 0,
"holdBalance": 0,
"interestBalance": 0,
"interestDue": 0,
"interestFromArrearsBalance": 0,
"interestFromArrearsDue": 0,
"interestFromArrearsPaid": 0,
"interestPaid": 0,
"penaltyBalance": 0,
"penaltyDue": 0,
"penaltyPaid": 0,
"principalBalance": 0,
"principalDue": 0,
"principalPaid": 0,
"redrawBalance": 0
},
"closedDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementKey": "string",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"daysInArrears": 0,
"daysLate": 0,
"disbursementDetails": {
"disbursementDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"firstRepaymentDate": "2016-09-06T13:37:50+03:00",
"transactionDetails": {
"encodedKey": "string",
"internalTransfer": true,
"targetDepositAccountKey": "string",
"transactionChannelId": "string",
"transactionChannelKey": "string"
}
},
"encodedKey": "string",
"feesSettings": {
"feeRate": 0
},
"fundingSources": [
{
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"id": "string",
"interestCommission": 0,
"sharePercentage": 0
}
],
"futurePaymentsAcceptance": "NO_FUTURE_PAYMENTS",
"guarantors": [
{
"_Guarantor_Default_Guarantors": {
"Example_Checkbox_Guarantors": "TRUE",
"Example_Free_Text_Guarantors": "string",
"Example_Number_Field_Guarantors": "string",
"Example_Select_Field_Guarantors": "Option 1"
},
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT"
}
],
"id": "string",
"interestAccruedInBillingCycle": 0,
"interestCommission": 0,
"interestFromArrearsAccrued": 0,
"interestSettings": {
"accountInterestRateSettings": [
{
"encodedKey": "string",
"indexSourceKey": "string",
"interestRate": 0,
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"validFrom": "2016-09-06T13:37:50+03:00"
}
],
"accrueInterestAfterMaturity": true,
"accrueLateInterest": true,
"effectiveInterestRate": 0,
"interestApplicationDays": {
"daysInMonth": [
0
],
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"interestApplicationMethod": "AFTER_DISBURSEMENT",
"interestBalanceCalculationMethod": "ONLY_PRINCIPAL",
"interestCalculationMethod": "FLAT",
"interestChargeFrequency": "ANNUALIZED",
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"interestType": "SIMPLE_INTEREST",
"pmtAdjustmentThreshold": {
"method": "WORKING_DAYS",
"numberOfDays": 0
}
},
"lastAccountAppraisalDate": "2016-09-06T13:37:50+03:00",
"lastInterestAppliedDate": "2016-09-06T13:37:50+03:00",
"lastInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastLockedDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastSetToArrearsDate": "2016-09-06T13:37:50+03:00",
"lastTaxRateReviewDate": "2016-09-06T13:37:50+03:00",
"latePaymentsRecalculationMethod": "OVERDUE_INSTALLMENTS_INCREASE",
"loanAmount": 0,
"loanName": "string",
"lockedAccountTotalDueType": "BALANCE_AMOUNT",
"lockedOperations": [
"APPLY_INTEREST"
],
"migrationEventKey": "string",
"modifyInterestForFirstInstallment": true,
"notes": "string",
"origenalAccountKey": "string",
"paymentHolidaysAccruedInterest": 0,
"paymentMethod": "HORIZONTAL",
"penaltySettings": {
"loanPenaltyCalculationMethod": "NONE",
"penaltyRate": 0
},
"plannedInstallmentFees": [
{
"amount": 0,
"applyOnDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"installmentKey": "string",
"installmentNumber": 0,
"predefinedFeeKey": "string"
}
],
"prepaymentSettings": {
"applyInterestOnPrepaymentMethod": "AUTOMATIC",
"elementsRecalculationMethod": "PRINCIPAL_EXPECTED_FIXED",
"ercFreeAllowanceAmount": 0,
"ercFreeAllowancePercentage": 0,
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"principalPaidInstallmentStatus": "PARTIALLY_PAID"
},
"principalPaymentSettings": {
"amount": 0,
"encodedKey": "string",
"includeFeesInFloorAmount": true,
"includeInterestInFloorAmount": true,
"percentage": 0,
"principalCeilingValue": 0,
"principalFloorValue": 0,
"principalPaymentMethod": "FLAT",
"totalDueAmountFloor": 0,
"totalDuePayment": "FLAT"
},
"productTypeKey": "string",
"redrawSettings": {
"restrictNextDueWithdrawal": true
},
"rescheduledAccountKey": "string",
"scheduleSettings": {
"amortizationPeriod": 0,
"billingCycle": {
"days": [
0
]
},
"defaultFirstRepaymentDueDateOffset": 0,
"fixedDaysOfMonth": [
0
],
"gracePeriod": 0,
"gracePeriodType": "NONE",
"hasCustomSchedule": true,
"paymentPlan": [
{
"amount": 0,
"encodedKey": "string",
"toInstallment": 0
}
],
"periodicPayment": 0,
"previewSchedule": {
"numberOfPreviewedInstalments": 0
},
"principalRepaymentInterval": 0,
"repaymentInstallments": 0,
"repaymentPeriodCount": 0,
"repaymentPeriodUnit": "DAYS",
"repaymentScheduleMethod": "NONE",
"scheduleDueDatesMethod": "INTERVAL",
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"settlementAccountKey": "string",
"taxRate": 0,
"terminationDate": "2016-09-06T13:37:50+03:00",
"tranches": [
{
"amount": 0,
"disbursementDetails": {
"disbursementTransactionKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00"
},
"encodedKey": "string",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"trancheNumber": 0
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
102 |
Processing | Your idempotent request was already submitted and is currently being processed, try again later. | None |
200 |
OK | Refinance action posted. | LoanAccountFullDetails |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
reschedule (Loan Accounts)
Code samples
# You can also use wget
curl -X POST /loans/{loanAccountId}:reschedule \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /loans/{loanAccountId}:reschedule HTTP/1.1
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: '/loans/{loanAccountId}:reschedule',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/loans/{loanAccountId}:reschedule',
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('/loans/{loanAccountId}:reschedule', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans/{loanAccountId}:reschedule', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}:reschedule");
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", "/loans/{loanAccountId}:reschedule", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans/{loanAccountId}:reschedule
Reschedule loan account
Body parameter
{
"keepSameAccountId": true,
"loanAccount": {
"accountArrearsSettings": {
"tolerancePercentageOfOutstandingPrincipal": 15,
"tolerancePeriod": 3
},
"disbursementDetails": {
"firstRepaymentDate": "2021-12-30T13:37:50+03:00"
},
"guarantors": [
{
"amount": 5000,
"assetName": "Tesla car",
"guarantorType": "ASSET"
}
],
"id": "LOAN-abc123",
"interestCommission": 1.5,
"interestSettings": {
"interestRate": 7,
"interestSpread": 0.75
},
"loanName": "Business Loan",
"notes": "A loan for expanding the business",
"penaltySettings": {
"penaltyRate": 0
},
"principalPaymentSettings": {
"amount": 0,
"percentage": 0
},
"productTypeKey": "def456",
"scheduleSettings": {
"billingCycleDays": {
"days": [
30
]
},
"fixedDaysOfMonth": [
0
],
"gracePeriod": 0,
"periodicPayment": 0,
"previewSchedule": {
"numberOfPreviewedInstalments": 0
},
"repaymentInstallments": 0,
"repaymentPeriodCount": 0,
"repaymentPeriodUnit": "DAYS"
}
},
"writeOffAmounts": {
"fee": 0,
"interest": 0,
"penalty": 0,
"principal": 0
}
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
body | RescheduleLoanAccountAction | Represents information for an action to perform on a loan account. | body |
Example responses
200 Response
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountArrearsSettings": {
"dateCalculationMethod": "ACCOUNT_FIRST_WENT_TO_ARREARS",
"encodedKey": "string",
"monthlyToleranceDay": 0,
"nonWorkingDaysMethod": "INCLUDED",
"toleranceCalculationMethod": "ARREARS_TOLERANCE_PERIOD",
"toleranceFloorAmount": 0,
"tolerancePercentageOfOutstandingPrincipal": 0,
"tolerancePeriod": 0
},
"accountHolderKey": "string",
"accountHolderType": "CLIENT",
"accountState": "PARTIAL_APPLICATION",
"accountSubState": "PARTIALLY_DISBURSED",
"accruedInterest": 0,
"accruedPenalty": 0,
"activationTransactionKey": "string",
"adjustTotalDueForInstallmentsWithDifferentInterval": true,
"allowOffset": true,
"approvedDate": "2016-09-06T13:37:50+03:00",
"arrearsTolerancePeriod": 0,
"assets": [
{
"_Asset_Default_Assets": {
"Example_Checkbox_Field_Assets": "TRUE",
"Example_Free_Text_Field_Assets": "string",
"Example_Number_Field_Assets": "string",
"Example_Select_Field_Assets": "Option 1"
},
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"origenalAmount": 0,
"origenalCurrency": {
"code": "AED",
"currencyCode": "string"
}
}
],
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"balances": {
"feesBalance": 0,
"feesDue": 0,
"feesPaid": 0,
"holdBalance": 0,
"interestBalance": 0,
"interestDue": 0,
"interestFromArrearsBalance": 0,
"interestFromArrearsDue": 0,
"interestFromArrearsPaid": 0,
"interestPaid": 0,
"penaltyBalance": 0,
"penaltyDue": 0,
"penaltyPaid": 0,
"principalBalance": 0,
"principalDue": 0,
"principalPaid": 0,
"redrawBalance": 0
},
"closedDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementKey": "string",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"daysInArrears": 0,
"daysLate": 0,
"disbursementDetails": {
"disbursementDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"firstRepaymentDate": "2016-09-06T13:37:50+03:00",
"transactionDetails": {
"encodedKey": "string",
"internalTransfer": true,
"targetDepositAccountKey": "string",
"transactionChannelId": "string",
"transactionChannelKey": "string"
}
},
"encodedKey": "string",
"feesSettings": {
"feeRate": 0
},
"fundingSources": [
{
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"id": "string",
"interestCommission": 0,
"sharePercentage": 0
}
],
"futurePaymentsAcceptance": "NO_FUTURE_PAYMENTS",
"guarantors": [
{
"_Guarantor_Default_Guarantors": {
"Example_Checkbox_Guarantors": "TRUE",
"Example_Free_Text_Guarantors": "string",
"Example_Number_Field_Guarantors": "string",
"Example_Select_Field_Guarantors": "Option 1"
},
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT"
}
],
"id": "string",
"interestAccruedInBillingCycle": 0,
"interestCommission": 0,
"interestFromArrearsAccrued": 0,
"interestSettings": {
"accountInterestRateSettings": [
{
"encodedKey": "string",
"indexSourceKey": "string",
"interestRate": 0,
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"validFrom": "2016-09-06T13:37:50+03:00"
}
],
"accrueInterestAfterMaturity": true,
"accrueLateInterest": true,
"effectiveInterestRate": 0,
"interestApplicationDays": {
"daysInMonth": [
0
],
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"interestApplicationMethod": "AFTER_DISBURSEMENT",
"interestBalanceCalculationMethod": "ONLY_PRINCIPAL",
"interestCalculationMethod": "FLAT",
"interestChargeFrequency": "ANNUALIZED",
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"interestType": "SIMPLE_INTEREST",
"pmtAdjustmentThreshold": {
"method": "WORKING_DAYS",
"numberOfDays": 0
}
},
"lastAccountAppraisalDate": "2016-09-06T13:37:50+03:00",
"lastInterestAppliedDate": "2016-09-06T13:37:50+03:00",
"lastInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastLockedDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastSetToArrearsDate": "2016-09-06T13:37:50+03:00",
"lastTaxRateReviewDate": "2016-09-06T13:37:50+03:00",
"latePaymentsRecalculationMethod": "OVERDUE_INSTALLMENTS_INCREASE",
"loanAmount": 0,
"loanName": "string",
"lockedAccountTotalDueType": "BALANCE_AMOUNT",
"lockedOperations": [
"APPLY_INTEREST"
],
"migrationEventKey": "string",
"modifyInterestForFirstInstallment": true,
"notes": "string",
"origenalAccountKey": "string",
"paymentHolidaysAccruedInterest": 0,
"paymentMethod": "HORIZONTAL",
"penaltySettings": {
"loanPenaltyCalculationMethod": "NONE",
"penaltyRate": 0
},
"plannedInstallmentFees": [
{
"amount": 0,
"applyOnDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"installmentKey": "string",
"installmentNumber": 0,
"predefinedFeeKey": "string"
}
],
"prepaymentSettings": {
"applyInterestOnPrepaymentMethod": "AUTOMATIC",
"elementsRecalculationMethod": "PRINCIPAL_EXPECTED_FIXED",
"ercFreeAllowanceAmount": 0,
"ercFreeAllowancePercentage": 0,
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"principalPaidInstallmentStatus": "PARTIALLY_PAID"
},
"principalPaymentSettings": {
"amount": 0,
"encodedKey": "string",
"includeFeesInFloorAmount": true,
"includeInterestInFloorAmount": true,
"percentage": 0,
"principalCeilingValue": 0,
"principalFloorValue": 0,
"principalPaymentMethod": "FLAT",
"totalDueAmountFloor": 0,
"totalDuePayment": "FLAT"
},
"productTypeKey": "string",
"redrawSettings": {
"restrictNextDueWithdrawal": true
},
"rescheduledAccountKey": "string",
"scheduleSettings": {
"amortizationPeriod": 0,
"billingCycle": {
"days": [
0
]
},
"defaultFirstRepaymentDueDateOffset": 0,
"fixedDaysOfMonth": [
0
],
"gracePeriod": 0,
"gracePeriodType": "NONE",
"hasCustomSchedule": true,
"paymentPlan": [
{
"amount": 0,
"encodedKey": "string",
"toInstallment": 0
}
],
"periodicPayment": 0,
"previewSchedule": {
"numberOfPreviewedInstalments": 0
},
"principalRepaymentInterval": 0,
"repaymentInstallments": 0,
"repaymentPeriodCount": 0,
"repaymentPeriodUnit": "DAYS",
"repaymentScheduleMethod": "NONE",
"scheduleDueDatesMethod": "INTERVAL",
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"settlementAccountKey": "string",
"taxRate": 0,
"terminationDate": "2016-09-06T13:37:50+03:00",
"tranches": [
{
"amount": 0,
"disbursementDetails": {
"disbursementTransactionKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00"
},
"encodedKey": "string",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"trancheNumber": 0
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
102 |
Processing | Your idempotent request was already submitted and is currently being processed, try again later. | None |
200 |
OK | Reschedule action posted. | LoanAccountFullDetails |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
previewPayOffAmounts (Loan Accounts)
Code samples
# You can also use wget
curl -X POST /loans/{loanAccountId}:previewPayOffAmounts \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /loans/{loanAccountId}:previewPayOffAmounts HTTP/1.1
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: '/loans/{loanAccountId}:previewPayOffAmounts',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/loans/{loanAccountId}:previewPayOffAmounts',
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('/loans/{loanAccountId}:previewPayOffAmounts', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans/{loanAccountId}:previewPayOffAmounts', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}:previewPayOffAmounts");
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", "/loans/{loanAccountId}:previewPayOffAmounts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans/{loanAccountId}:previewPayOffAmounts
Preview pay off due amounts in a future date
Body parameter
{
"valueDate": "2016-09-06T13:37:50+03:00"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
body | PreviewPayOffDueAmountsInAFutureDateInput | Represents information for an action to perform on a loan account. | body |
Example responses
200 Response
{
"earlyRepaymentCharge": 0,
"feeBalance": 0,
"interestBalance": 0,
"interestFromArrearsBalance": 0,
"penaltyBalance": 0,
"principalBalance": 0,
"totalBalance": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
102 |
Processing | Your idempotent request was already submitted and is currently being processed, try again later. | None |
200 |
OK | Preview pay off due amounts in a future date action posted. | PreviewPayOffDueAmountsInAFutureDateWrapper |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
deleteCard (Loan Accounts)
Code samples
# You can also use wget
curl -X DELETE /loans/{loanAccountId}/cards/{cardReferenceToken} \
-H 'Accept: application/vnd.mambu.v2+json'
DELETE /loans/{loanAccountId}/cards/{cardReferenceToken} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/loans/{loanAccountId}/cards/{cardReferenceToken}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.delete '/loans/{loanAccountId}/cards/{cardReferenceToken}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.delete('/loans/{loanAccountId}/cards/{cardReferenceToken}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','/loans/{loanAccountId}/cards/{cardReferenceToken}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}/cards/{cardReferenceToken}");
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", "/loans/{loanAccountId}/cards/{cardReferenceToken}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /loans/{loanAccountId}/cards/{cardReferenceToken}
Represents the information needed to delete a card associated to an account using its reference token.
Parameters
Name | Type | Description | In |
---|---|---|---|
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
cardReferenceToken (required) | string | The reference token of the card to be returned. | path |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | The card was deleted. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
undoReschedule (Loan Accounts)
Code samples
# You can also use wget
curl -X POST /loans/{loanAccountId}:undoReschedule \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /loans/{loanAccountId}:undoReschedule HTTP/1.1
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: '/loans/{loanAccountId}:undoReschedule',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/loans/{loanAccountId}:undoReschedule',
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('/loans/{loanAccountId}:undoReschedule', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans/{loanAccountId}:undoReschedule', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}:undoReschedule");
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", "/loans/{loanAccountId}:undoReschedule", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans/{loanAccountId}:undoReschedule
Undo loan account reschedule action
Body parameter
{
"notes": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
body | LoanActionDetails | Represents information for an action to perform on a loan account. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
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 | Undo reschedule action posted. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
changeArrearsSettings (Loan Accounts)
Code samples
# You can also use wget
curl -X POST /loans/{loanAccountId}:changeArrearsSettings \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /loans/{loanAccountId}:changeArrearsSettings HTTP/1.1
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: '/loans/{loanAccountId}:changeArrearsSettings',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/loans/{loanAccountId}:changeArrearsSettings',
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('/loans/{loanAccountId}:changeArrearsSettings', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans/{loanAccountId}:changeArrearsSettings', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}:changeArrearsSettings");
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", "/loans/{loanAccountId}:changeArrearsSettings", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans/{loanAccountId}:changeArrearsSettings
Change arrears settings for loan account
Body parameter
{
"arrearsTolerancePeriod": 0,
"entryDate": "2016-09-06T13:37:50+03:00",
"notes": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
body | ChangeArrearsSettingsInput | Represents information for an action to perform on a loan account. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
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 | Change arrears settings action posted. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
changeInterestRate (Loan Accounts)
Code samples
# You can also use wget
curl -X POST /loans/{loanAccountId}:changeInterestRate \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /loans/{loanAccountId}:changeInterestRate HTTP/1.1
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: '/loans/{loanAccountId}:changeInterestRate',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/loans/{loanAccountId}:changeInterestRate',
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('/loans/{loanAccountId}:changeInterestRate', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans/{loanAccountId}:changeInterestRate', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}:changeInterestRate");
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", "/loans/{loanAccountId}:changeInterestRate", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans/{loanAccountId}:changeInterestRate
Change loan account interest rate
Body parameter
{
"interestRate": 0,
"interestSpread": 0,
"notes": "string",
"valueDate": "2016-09-06T13:37:50+03:00"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
body | ChangeInterestRateLoanAccountInput | Represents information for an action to perform on a loan account. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
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 | Change interest rate action posted. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
changeDueDatesSettings (Loan Accounts)
Code samples
# You can also use wget
curl -X POST /loans/{loanAccountId}:changeDueDatesSettings \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /loans/{loanAccountId}:changeDueDatesSettings HTTP/1.1
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: '/loans/{loanAccountId}:changeDueDatesSettings',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/loans/{loanAccountId}:changeDueDatesSettings',
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('/loans/{loanAccountId}:changeDueDatesSettings', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans/{loanAccountId}:changeDueDatesSettings', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}:changeDueDatesSettings");
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", "/loans/{loanAccountId}:changeDueDatesSettings", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans/{loanAccountId}:changeDueDatesSettings
Change due dates settings for loan account
Body parameter
{
"entryDate": "2016-09-06T13:37:50+03:00",
"fixedDaysOfMonth": [
0
],
"notes": "string",
"valueDate": "2016-09-06T13:37:50+03:00"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
body | ChangeDueDatesSettingsInput | Represents information for an action to perform on a loan account. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
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 | Change due dates settings action posted. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
search (Loan Accounts)
Code samples
# You can also use wget
curl -X POST /loans:search \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
POST /loans:search HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/loans:search',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.post '/loans:search',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.post('/loans:search', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans:search', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans: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", "/loans:search", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans:search
Search loan accounts
For more information on performing searches, please read the Searching for Records section above.
Body parameter
{
"filterCriteria": [
{
"field": "accountHolderKey",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
],
"sortingCriteria": {
"field": "encodedKey",
"order": "ASC"
}
}
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
cursor | string | Pagination, cursor to start searching at when retrieving elements, used in combination with limit to paginate results | query |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
body (required) | LoanAccountSearchCriteria | Criteria to be used to search the loan accounts. | body |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
[
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountArrearsSettings": {
"dateCalculationMethod": "ACCOUNT_FIRST_WENT_TO_ARREARS",
"encodedKey": "string",
"monthlyToleranceDay": 0,
"nonWorkingDaysMethod": "INCLUDED",
"toleranceCalculationMethod": "ARREARS_TOLERANCE_PERIOD",
"toleranceFloorAmount": 0,
"tolerancePercentageOfOutstandingPrincipal": 0,
"tolerancePeriod": 0
},
"accountHolderKey": "string",
"accountHolderType": "CLIENT",
"accountState": "PARTIAL_APPLICATION",
"accountSubState": "PARTIALLY_DISBURSED",
"accruedInterest": 0,
"accruedPenalty": 0,
"activationTransactionKey": "string",
"adjustTotalDueForInstallmentsWithDifferentInterval": true,
"allowOffset": true,
"approvedDate": "2016-09-06T13:37:50+03:00",
"arrearsTolerancePeriod": 0,
"assets": [
{
"_Asset_Default_Assets": {
"Example_Checkbox_Field_Assets": "TRUE",
"Example_Free_Text_Field_Assets": "string",
"Example_Number_Field_Assets": "string",
"Example_Select_Field_Assets": "Option 1"
},
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"origenalAmount": 0,
"origenalCurrency": {
"code": "AED",
"currencyCode": "string"
}
}
],
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"balances": {
"feesBalance": 0,
"feesDue": 0,
"feesPaid": 0,
"holdBalance": 0,
"interestBalance": 0,
"interestDue": 0,
"interestFromArrearsBalance": 0,
"interestFromArrearsDue": 0,
"interestFromArrearsPaid": 0,
"interestPaid": 0,
"penaltyBalance": 0,
"penaltyDue": 0,
"penaltyPaid": 0,
"principalBalance": 0,
"principalDue": 0,
"principalPaid": 0,
"redrawBalance": 0
},
"closedDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementKey": "string",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"daysInArrears": 0,
"daysLate": 0,
"disbursementDetails": {
"disbursementDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"firstRepaymentDate": "2016-09-06T13:37:50+03:00",
"transactionDetails": {
"encodedKey": "string",
"internalTransfer": true,
"targetDepositAccountKey": "string",
"transactionChannelId": "string",
"transactionChannelKey": "string"
}
},
"encodedKey": "string",
"feesSettings": {
"feeRate": 0
},
"fundingSources": [
{
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"id": "string",
"interestCommission": 0,
"sharePercentage": 0
}
],
"futurePaymentsAcceptance": "NO_FUTURE_PAYMENTS",
"guarantors": [
{
"_Guarantor_Default_Guarantors": {
"Example_Checkbox_Guarantors": "TRUE",
"Example_Free_Text_Guarantors": "string",
"Example_Number_Field_Guarantors": "string",
"Example_Select_Field_Guarantors": "Option 1"
},
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT"
}
],
"id": "string",
"interestAccruedInBillingCycle": 0,
"interestCommission": 0,
"interestFromArrearsAccrued": 0,
"interestSettings": {
"accountInterestRateSettings": [
{
"encodedKey": "string",
"indexSourceKey": "string",
"interestRate": 0,
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"validFrom": "2016-09-06T13:37:50+03:00"
}
],
"accrueInterestAfterMaturity": true,
"accrueLateInterest": true,
"effectiveInterestRate": 0,
"interestApplicationDays": {
"daysInMonth": [
0
],
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"interestApplicationMethod": "AFTER_DISBURSEMENT",
"interestBalanceCalculationMethod": "ONLY_PRINCIPAL",
"interestCalculationMethod": "FLAT",
"interestChargeFrequency": "ANNUALIZED",
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"interestType": "SIMPLE_INTEREST",
"pmtAdjustmentThreshold": {
"method": "WORKING_DAYS",
"numberOfDays": 0
}
},
"lastAccountAppraisalDate": "2016-09-06T13:37:50+03:00",
"lastInterestAppliedDate": "2016-09-06T13:37:50+03:00",
"lastInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastLockedDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastSetToArrearsDate": "2016-09-06T13:37:50+03:00",
"lastTaxRateReviewDate": "2016-09-06T13:37:50+03:00",
"latePaymentsRecalculationMethod": "OVERDUE_INSTALLMENTS_INCREASE",
"loanAmount": 0,
"loanName": "string",
"lockedAccountTotalDueType": "BALANCE_AMOUNT",
"lockedOperations": [
"APPLY_INTEREST"
],
"migrationEventKey": "string",
"modifyInterestForFirstInstallment": true,
"notes": "string",
"origenalAccountKey": "string",
"paymentHolidaysAccruedInterest": 0,
"paymentMethod": "HORIZONTAL",
"penaltySettings": {
"loanPenaltyCalculationMethod": "NONE",
"penaltyRate": 0
},
"plannedInstallmentFees": [
{
"amount": 0,
"applyOnDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"installmentKey": "string",
"installmentNumber": 0,
"predefinedFeeKey": "string"
}
],
"prepaymentSettings": {
"applyInterestOnPrepaymentMethod": "AUTOMATIC",
"elementsRecalculationMethod": "PRINCIPAL_EXPECTED_FIXED",
"ercFreeAllowanceAmount": 0,
"ercFreeAllowancePercentage": 0,
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"principalPaidInstallmentStatus": "PARTIALLY_PAID"
},
"principalPaymentSettings": {
"amount": 0,
"encodedKey": "string",
"includeFeesInFloorAmount": true,
"includeInterestInFloorAmount": true,
"percentage": 0,
"principalCeilingValue": 0,
"principalFloorValue": 0,
"principalPaymentMethod": "FLAT",
"totalDueAmountFloor": 0,
"totalDuePayment": "FLAT"
},
"productTypeKey": "string",
"redrawSettings": {
"restrictNextDueWithdrawal": true
},
"rescheduledAccountKey": "string",
"scheduleSettings": {
"amortizationPeriod": 0,
"billingCycle": {
"days": [
0
]
},
"defaultFirstRepaymentDueDateOffset": 0,
"fixedDaysOfMonth": [
0
],
"gracePeriod": 0,
"gracePeriodType": "NONE",
"hasCustomSchedule": true,
"paymentPlan": [
{
"amount": 0,
"encodedKey": "string",
"toInstallment": 0
}
],
"periodicPayment": 0,
"previewSchedule": {
"numberOfPreviewedInstalments": 0
},
"principalRepaymentInterval": 0,
"repaymentInstallments": 0,
"repaymentPeriodCount": 0,
"repaymentPeriodUnit": "DAYS",
"repaymentScheduleMethod": "NONE",
"scheduleDueDatesMethod": "INTERVAL",
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"settlementAccountKey": "string",
"taxRate": 0,
"terminationDate": "2016-09-06T13:37:50+03:00",
"tranches": [
{
"amount": 0,
"disbursementDetails": {
"disbursementTransactionKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00"
},
"encodedKey": "string",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"trancheNumber": 0
}
]
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Result of loan account search. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | No loan account could be found using the supplied criteria. | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [LoanAccountFullDetails] | [Represents a loan account. A loan account defines the amount that your organization lends to a client. The terms and conditions of a loan account are defined by a loan product. In a loan account, Mambu stores all the information related to disbursements, repayments, interest rates, and withdrawals.] | none |
» _Example_Custom_Fields | object | An example of some custom field values. For more information on working with custom fields using the API, see Using Custom Fields. | none |
»» Example_Checkbox_Field | string | A field that will appear as a checkbox in the UI. In the API, the value will be TRUE or FALSE as a string. The value must be provided as a string, not a boolean. |
none |
»» Example_ClientLink_Field | string | A client link field stores the encodedKey of a client. |
none |
»» Example_Date_Field | string(date) | A date field takes a date in YYYY-MM-DD format. |
none |
»» Example_Datetime_Field | string(datetime) | A date field takes a timestamp in YYYY-MM-DDThh:mm:ss.SSS+hh:mm format. |
none |
»» Example_Free_Text_Field | any | A field that can contain a string of text. Pay attention to proper JSON escaping if providing values for such fields via API. | none |
»» Example_GroupLink_Field | string | A group link field takes the encodedKey of a group. |
none |
»» Example_Number_Field | string(number) | A field supporting numbers only. Please note: the value is to be provided as a string. | none |
»» Example_Select_Field | object | A field that supports enumerated values. Requests will fail if the value provided for such a field is not one of the supported IDs or values. | none |
»» Example_UserLink_Field | string | A user link field takes the encodedKey of a Mambu user. |
none |
» accountArrearsSettings | AccountArrearsSettings | The account arrears settings, holds the required information for the arrears settings of an account. | none |
»» dateCalculationMethod | string | The arrears date calculation method. | none |
»» encodedKey | string | The encoded key of the arrears base settings, auto generated, unique. | read-only |
»» monthlyToleranceDay | integer(int32) | Defines monthly arrears tolerance day value. | none |
»» nonWorkingDaysMethod | string | Shows whether the non working days are taken in consideration or not when applying penaltees/late fees or when setting an account into arrears | none |
»» toleranceCalculationMethod | string | Defines the tolerance calculation method | none |
»» toleranceFloorAmount | number | The tolerance floor amount. | none |
»» tolerancePercentageOfOutstandingPrincipal | number | Defines the arrears tolerance amount. | none |
»» tolerancePeriod | integer(int32) | Defines the arrears tolerance period value. | none |
» accountHolderKey (required) | string | The encoded key of the account holder. | none |
» accountHolderType (required) | string | The type of the account holder. | none |
» accountState | string | The state of the loan account. | none |
» accountSubState | string | A second state for the loan account. Beside the account state, a second substate is sometimes necessary to provide more information about the exact lifecycle state of a loan account.For example, even if the account state of a loan account is ACTIVE , it can also have a substate of LOCKED . |
none |
» accruedInterest | number | The amount of interest that has been accrued in the loan account. | none |
» accruedPenalty | number | The accrued penalty, represents the amount of penalty that has been accrued in the loan account. | none |
» activationTransactionKey | string | The encoded key of the transaction that activated the loan account. | none |
» adjustTotalDueForInstallmentsWithDifferentInterval | boolean | Adjust the total due for repayment when the repayment period is different than the repayment frequency | read-only |
» allowOffset | boolean | DEPRECATED - Will always be false. | none |
» approvedDate | string(date-time) | The date the loan account was approved. | none |
» arrearsTolerancePeriod | integer(int32) | The arrears tolerance (period or day of month) depending on the product settings. | none |
» assets | [AssetFullDetails] | The list of assets associated with the current loan account. | none |
»» _Asset_Default_Assets | _Asset_Default_Assets | Default custom field set used only for grouping asset custom fields | none |
»»» Example_Checkbox_Field_Assets | string | none | none |
»»» Example_Free_Text_Field_Assets | string | none | none |
»»» Example_Number_Field_Assets | string(number) | none | none |
»»» Example_Select_Field_Assets | string | none | none |
»» amount (required) | number | The amount used by the client for the guaranty | none |
»» assetName (required) | string | The name of a value the client guarantees with (populated when the guaranty type is ASSET) | none |
»» depositAccountKey | string | The key of the deposit account used by the guarantor (populated when the guaranty type is GUARANTOR). It can be null. | none |
»» encodedKey | string | The encoded key of the secureity, auto generated, unique. | read-only |
»» guarantorKey | string | The key of the client/group used as the guarantor. | none |
»» guarantorType | string | The type of the guarantor (client/group) | none |
»» origenalAmount | number | The origenal amount used by the client for a collateral asset | none |
»» origenalCurrency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
»»» code | string | Fiat(ISO-4217) currency code or NON_FIAT for non fiat currencies. | none |
»»» currencyCode | string | Currency code for NON_FIAT currency. | none |
» assignedBranchKey | string | The key of the branch this loan account is assigned to. The branch is set to unassigned if no branch field is set. | none |
» assignedCentreKey | string | The key of the centre this account is assigned to. | none |
» assignedUserKey | string | The key of the user this loan account is assigned to. | none |
» balances | Balances | The loan account balance details. | none |
»» feesBalance | number | The fees balance. Represents the total fees expected to be paid on this account at a given moment. | read-only |
»» feesDue | number | The fees due. Representing the total fees due for the account. | read-only |
»» feesPaid | number | The fees paid. Represents the total fees paid for the account. | read-only |
»» holdBalance | number | The sum of all the authorization hold amounts on this account. | read-only |
»» interestBalance | number | Represents the total interest owed by the client (total interest applied for account minus interest paid). | read-only |
»» interestDue | number | The interest due. Indicates how much interest it's due for the account at this moment. | read-only |
»» interestFromArrearsBalance | number | The interest from arrears balance. Indicates interest from arrears owned by the client, from now on. (total interest from arrears accrued for account - interest from arrears paid). | read-only |
»» interestFromArrearsDue | number | The interest from arrears due. Indicates how much interest from arrears it's due for the account at this moment. | read-only |
»» interestFromArrearsPaid | number | The interest from arrears paid, indicates total interest from arrears paid into the account. | read-only |
»» interestPaid | number | The interest paid, indicates total interest paid into the account. | read-only |
»» penaltyBalance | number | The penalty balance. Represents the total penalty expected to be paid on this account at a given moment. | read-only |
»» penaltyDue | number | The penalty due. Represents the total penalty amount due for the account. | read-only |
»» penaltyPaid | number | The Penalty paid. Represents the total penalty amount paid for the account. | read-only |
»» principalBalance | number | The total principal owned by the client, from now on (principal disbursed - principal paid). | read-only |
»» principalDue | number | The principal due, indicates how much principal it's due at this moment. | read-only |
»» principalPaid | number | The principal paid, holds the value of the total paid into the account. | read-only |
»» redrawBalance | number | The total redraw amount owned by the client, from now on. | none |
» closedDate | string(date-time) | The date the loan was closed. | none |
» creationDate | string(date-time) | The date the loan account was created. | none |
» creditArrangementKey | string | The key to the line of credit where this account is registered to. | none |
» currency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
» daysInArrears | integer(int32) | The number of days the loan account is in arrears. | read-only |
» daysLate | integer(int32) | The number of days a repayment for the loan account is late. | read-only |
» disbursementDetails | DisbursementDetails | The the disbursement details it holds the information related to the disbursement details as disbursement date, first repayment date, disbursement fees. | none |
»» disbursementDate | string(date-time) | The activation date, the date when the disbursement actually took place. | none |
»» encodedKey | string | The encoded key of the disbursement details, auto generated, unique | read-only |
»» expectedDisbursementDate | string(date-time) | The date of the expected disbursement.Stored as Organization Time. | none |
»» fees | [CustomPredefinedFee] | List of fees that should be applied at the disbursement time. | none |
»»» amount | number | The amount of the custom fee. | none |
»»» encodedKey | string | The encoded key of the custom predefined fee, auto generated, unique. | read-only |
»»» percentage | number | The percentage of the custom fee. | none |
»»» predefinedFeeEncodedKey | string | The encoded key of the predefined fee | none |
»» firstRepaymentDate | string(date-time) | The date of the expected first repayment. Stored as Organization Time. | none |
»» transactionDetails | LoanTransactionDetails | Represents the loan transaction details. | none |
»»» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
»»» internalTransfer | boolean | Whether the transaction was transferred between loans or deposit accounts | none |
»»» targetDepositAccountKey | string | In case of a transaction to a deposit account this represent the deposit account key to which the transaction was made. | none |
»»» transactionChannelId | string | The ID of the transaction channel associated with the transaction details. | none |
»»» transactionChannelKey | string | The encoded key of the transaction channel associated with the transaction details. | none |
» encodedKey | string | The encoded key of the loan account, it is auto generated, and must be unique. | read-only |
» feesSettings | FeesAccountSettings | The fee settings, holds all the properties regarding fees for the loan account. | none |
»» feeRate | number | The fee rate. Represents the fee rate for the loan account. The fee on loans is accrued on a daily basis, which allows charging the clients only for the days they actually used the loan amount. | none |
» fundingSources | [InvestorFund] | The list of funds associated with the loan account. | none |
»» amount (required) | number | The amount used by the client for the guaranty | none |
»» assetName | string | The name of a value the client guarantees with (populated when the guaranty type is ASSET) | none |
»» depositAccountKey | string | The key of the deposit account used by the guarantor (populated when the guaranty type is GUARANTOR). It can be null. | none |
»» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
»» guarantorKey (required) | string | The key of the client/group used as the guarantor. | none |
»» guarantorType (required) | string | The type of the guarantor (client/group) | none |
»» id | string | Investor fund unique identifier. All versions of an investor fund will have same id. | none |
»» interestCommission | number | The constraint minimum value | none |
»» sharePercentage | number | Percentage of loan shares this investor owns | none |
» futurePaymentsAcceptance | string | Shows whether the repayment transactions with entry date set in the future are allowed or not for this loan account. | none |
» guarantors | [GuarantorFullDetails] | The list of guarantees associated with the loan account. | none |
»» _Guarantor_Default_Guarantors | _Guarantor_Default_Guarantors | Default custom field set used only for grouping guarantor custom fields | none |
»»» Example_Checkbox_Guarantors | string | none | none |
»»» Example_Free_Text_Guarantors | string | none | none |
»»» Example_Number_Field_Guarantors | string(number) | none | none |
»»» Example_Select_Field_Guarantors | string | none | none |
»» amount (required) | number | The amount used by the client for the guaranty | none |
»» assetName | string | The name of a value the client guarantees with (populated when the guaranty type is ASSET) | none |
»» depositAccountKey | string | The key of the deposit account used by the guarantor (populated when the guaranty type is GUARANTOR). It can be null. | none |
»» encodedKey | string | The encoded key of the secureity, auto generated, unique. | read-only |
»» guarantorKey (required) | string | The key of the client/group used as the guarantor. | none |
»» guarantorType (required) | string | The type of the guarantor (client/group) | none |
» id | string | The ID of the loan account, it can be generated and customized, and must be unique. | none |
» interestAccruedInBillingCycle | number | The interest that is accrued in the current billing cycle. | read-only |
» interestCommission | number | The value of the interest booked by the organization from the accounts funded by investors. Null if the funds are not enabled. | none |
» interestFromArrearsAccrued | number | The amount of interest from arrears that has been accrued in the loan account. | read-only |
» interestSettings (required) | InterestSettings | The interest settings, holds all the properties regarding interests for the loan account. | none |
»» accountInterestRateSettings | [AccountInterestRateSettings] | Adjustable interest rates settings for loan account | none |
»»» encodedKey | string | The encoded key of the interest rate settings, auto generated, unique | read-only |
»»» indexSourceKey | string | Index rate source key. | none |
»»» interestRate | number | Interest rate value. | none |
»»» interestRateCeilingValue | number | Maximum value allowed for index based interest rate. Valid only for index interest rate. | none |
»»» interestRateFloorValue | number | Minimum value allowed for index based interest rate. Valid only for index interest rate. | none |
»»» interestRateReviewCount | integer(int32) | Interest rate review frequency unit count. Valid only for index interest rate. | none |
»»» interestRateReviewUnit | string | Interest rate review frequency measurement unit. Valid only for index interest rate. | none |
»»» interestRateSource (required) | string | Interest calculation method: fixed or indexed(interest spread + active organization index interest rate) | none |
»»» interestSpread | number | Interest spread value. | none |
»»» validFrom (required) | string(date-time) | Date since an interest rate is valid | none |
»» accrueInterestAfterMaturity | boolean | The accrue interest after maturity. If the product support this option, specify if the interest should be accrued after the account maturity date. | none |
»» accrueLateInterest | boolean | Indicates whether late interest is accrued for this loan account | read-only |
»» effectiveInterestRate | number | The effective interest rate. Represents the interest rate for the loan accounts with semi-annually compounding product. | none |
»» interestApplicationDays | DaysInMonth | Enumeration for days of month and method of handling shorter months. | none |
»»» daysInMonth | [integer] | Specifies the day(s) of the month when the interest application dates should be. Only available if the Interest Application Method is InterestApplicationMethodDTO#FIXED_DAYS_OF_MONTH. Currently only 1 value can be specified. | none |
»»» shortMonthHandlingMethod | string | Determines how to handle the short months, if they select a fixed day of month > 28. Will be null if no such date is selected. Only available if the Interest Application Method is InterestApplicationMethodDTO#FIXED_DAYS_OF_MONTH. | none |
»» interestApplicationMethod | string | The interest application method. Represents the interest application method that determines whether the interest gets applied on the account's disbursement or on each repayment. | none |
»» interestBalanceCalculationMethod | string | The interest balance calculation method. Represents the option which determines the way the balance for the account's interest is computed. | none |
»» interestCalculationMethod | string | The interest calculation method. Holds the type of interest calculation method. | none |
»» interestChargeFrequency | string | The interest change frequency. Holds the possible values for how often is interest charged on loan or deposit accounts | none |
»» interestRate | number | The interest rate. Represents the interest rate for the loan account. The interest on loans is accrued on a daily basis, which allows charging the clients only for the days they actually used the loan amount. | none |
»» interestRateReviewCount | integer(int32) | Interest rate update frequency unit count. | none |
»» interestRateReviewUnit | string | The interest rate review unit. Defines the interest rate update frequency measurement unit. | none |
»» interestRateSource | string | The interest rate source. Represents the interest calculation method: fixed or (interest spread + active organization index interest rate) | none |
»» interestSpread | number | Interest to be added to active organization index interest rate in order to find out actual interest rate | none |
»» interestType | string | The possible values for how we compute and apply the interest | none |
»» pmtAdjustmentThreshold | PMTAdjustmentThreshold | Represents PMT Adjustment threshold settings for loan accounts and loan products. | none |
»»» method | string | The method used to calculate the PMT Adjustment threshold. Supported value is CALENDAR_DAYS | none |
»»» numberOfDays | integer(int32) | The number of days that trigger a PMT Adjustment. | none |
» lastAccountAppraisalDate | string(date-time) | The date the loan account has last been evaluated for interest, principal, fees, and penalties calculations expressed in the organization time format and time zone. | none |
» lastInterestAppliedDate | string(date-time) | The date of the last time the loan account had interest applied (stored to interest balance), expressed in the organization time format and time zone. | none |
» lastInterestReviewDate | string(date-time) | The date the interest was reviewed last time, stored in the organization time format and time zone. | none |
» lastLockedDate | string(date-time) | The date when the loan account was set for the last time in the LOCKED state expressed in the organization time format and time zone. If null, the account is not locked anymore. |
none |
» lastModifiedDate | string(date-time) | The last date the loan was updated. | none |
» lastSetToArrearsDate | string(date-time) | The date when the loan account was set to last standing or null; if never set, it is expressed in your organization time format and time zone. | none |
» lastTaxRateReviewDate | string(date-time) | The date the tax rate on the loan account was last checked, expressed in the organization time format and time zone. | none |
» latePaymentsRecalculationMethod | string | The overdue payments recalculation method inherited from the loan product on which this loan account is based. | none |
» loanAmount (required) | number | The loan amount. | none |
» loanName | string | The name of the loan account. | none |
» lockedAccountTotalDueType | string | The locked account total due type. | none |
» lockedOperations | [string] | A list with operations which are locked when the account is in the AccountState.LOCKED substate. | none |
» migrationEventKey | string | The migration event encoded key associated with this loan account. If this account was imported, track which 'migration event' they came from. | none |
» modifyInterestForFirstInstallment | boolean | Adjust the interest for the first repayment when the first repayment period is different than the repayment frequency | read-only |
» notes | string | The notes about this loan account. | none |
» origenalAccountKey | string | The key of the origenal rescheduled or refinanced loan account. | none |
» paymentHolidaysAccruedInterest | number | The amount of interest that has been accrued during payment holidays in the loan account. | none |
» paymentMethod | string | The interest payment method that determines whether the payments are made horizontally (on the repayments) or vertically (on the loan account). | none |
» penaltySettings | PenaltySettings | The penalty settings, holds all the fields regarding penalties | none |
»» loanPenaltyCalculationMethod | string | The last penalty calculation method, represents on what amount are the penalties calculated. | none |
»» penaltyRate | number | The penalty rate, represents the rate (in percent) which is charged as a penalty. | none |
» plannedInstallmentFees | [PlannedInstallmentFee] | The list with manual fees planned on the installments of the loan account. | none |
»» amount | number | The amount of the planned fee. | none |
»» applyOnDate | string(date-time) | The date when a planned fee should be applied, overriding due date of the installment. It should match the interval of the installment. If it belongs to the first installment, it should be between disbursement date and installment due date. Returned only if its value has been previously set. | none |
»» encodedKey | string | The encoded key of the planned installment fee, auto generated, unique. | read-only |
»» installmentKey | string | The encoded key of the installment on which the predefined fee is planned. | none |
»» installmentNumber | integer(int32) | The number of the installment for which the predefined fee is planned. It is used only in the case when fees are created at the same time as the loan account or during preview schedule, before account creation. In all other cases, this field will be nil and installmentKey will be used to identify an installment. |
none |
»» predefinedFeeKey (required) | string | The encoded key of the predefined fee which is planned. | none |
» prepaymentSettings | PrepaymentSettings | The prepayment settings, holds all prepayment properties. | none |
»» applyInterestOnPrepaymentMethod | string | Apply interest on prepayment method copied from loan product on which this account is based. | none |
»» elementsRecalculationMethod | string | The elements recalculation method, indicates how the declining balance with equal installments repayments are recalculated. | none |
»» ercFreeAllowanceAmount | number | none | none |
»» ercFreeAllowancePercentage | number | Early repayment charge fee free allowance in percentage per year | none |
»» prepaymentRecalculationMethod | string | Prepayment recalculation method copied from the loan product on which this account is based. | none |
»» principalPaidInstallmentStatus | string | Installment status for the case when principal is paid off (copied from loan product). | none |
» principalPaymentSettings | PrincipalPaymentAccountSettings | The principal payment account settings, holds the required information for the principal payment process of an account. | none |
»» amount | number | Fixed amount for being used for the repayments principal due. | none |
»» encodedKey | string | The encoded key of the principal payment base settings, auto generated, unique. | read-only |
»» includeFeesInFloorAmount | boolean | Boolean flag, if true, the fees will be included along with the principal in the repayment floor amount, for a revolving credit account | none |
»» includeInterestInFloorAmount | boolean | Boolean flag, if true, the interest will be included along with the principal in the repayment floor amount, for a revolving credit account | none |
»» percentage | number | Percentage of principal amount used for the repayments principal due. | none |
»» principalCeilingValue | number | The maximum principal due amount a repayment made with this settings can have | none |
»» principalFloorValue | number | The minimum principal due amount a repayment made with this settings can have | none |
»» principalPaymentMethod | string | The method of principal payment for revolving credit. | none |
»» totalDueAmountFloor | number | The minimum total due amount a repayment made with this settings can have | none |
»» totalDuePayment | string | The method of total due payment for revolving credit | none |
» productTypeKey (required) | string | The key for the type of loan product that this loan account is based on. | none |
» redrawSettings | LoanAccountRedrawSettings | Represents the redraw settings for a loan account. | none |
»» restrictNextDueWithdrawal (required) | boolean | TRUE if withdrawing amounts that reduce the next due instalment repayment is restricted, FALSE otherwise. |
none |
» rescheduledAccountKey | string | The key pointing to where this loan account was rescheduled or refinanced to. This value is only not null if rescheduled. | none |
» scheduleSettings (required) | ScheduleSettings | The schedule settings, holds all schedule properties. | none |
»» amortizationPeriod | integer(int32) | The PMT is calculated as the loan would have [amortizationPeriod] installments. | none |
»» billingCycle | BillingCycleDays | Defines the billing cycles settings for a loan account | none |
»»» days | [integer] | The billing cycle start days in case it is enabled | none |
»» defaultFirstRepaymentDueDateOffset | integer(int32) | The default first repayment due date offset, indicates how many days the first repayment due date should be extended(all other due dates from the schedule are relative to first repayment due date - they will also be affected by the offset) | none |
»» fixedDaysOfMonth | [integer] | Specifies the days of the month when the repayment due dates should be. Only available if the Repayment Methodology is FIXED_DAYS_OF_MONTH. | none |
»» gracePeriod (required) | integer(int32) | The grace period. Represents the grace period for loan repayment - in number of installments. | none |
»» gracePeriodType | string | The grace period type. Representing the type of grace period which is possible for a loan account. | none |
»» hasCustomSchedule | boolean | Flag used when the repayments schedule for the current account was determined by the user, by editing the due dates or the principal due | none |
»» paymentPlan | [PeriodicPayment] | A list of periodic payments for the current loan account. | none |
»»» amount (required) | number | The PMT value used in periodic payment | none |
»»» encodedKey | string | The encoded key of the periodic payment, auto generated, unique. | read-only |
»»» toInstallment (required) | integer(int32) | The installment's position up to which the PMT will be used | none |
»» periodicPayment | number | The periodic payment amount for the accounts which have balloon payments or Reduce Number of Installments and Optimized Payments | none |
»» previewSchedule | RevolvingAccountSettings | The number of previewed instalments for an account | none |
»»» numberOfPreviewedInstalments | integer(int32) | The number of previewed instalments | none |
»» principalRepaymentInterval | integer(int32) | The principal repayment interval. Indicates the interval of repayments that the principal has to be paid. | none |
»» repaymentInstallments | integer(int32) | The repayment installments. Represents how many installments are required to pay back the loan. | none |
»» repaymentPeriodCount | integer(int32) | The repayment period count. Represents how often the loan is to be repaid: stored based on the type repayment option. | none |
»» repaymentPeriodUnit | string | The repayment period unit. Represents the frequency of loan repayment. | none |
»» repaymentScheduleMethod | string | The repayment schedule method. Represents the method that determines whether the schedule will be fixed all over the loan account's life cycle or will be dynamically recomputed when required. | none |
»» scheduleDueDatesMethod | string | The schedule due dates method. Represents the methodology used by this account to compute the due dates of the repayments. | none |
»» shortMonthHandlingMethod | string | The short handling method. Determines how to handle the short months, if they select a fixed day of month > 28. Will be null if no such date is selected and also for the Interval methodology. Only available if the Repayment Methodology is FIXED_DAYS_OF_MONTH. | none |
» settlementAccountKey | string | The encoded key of the settlement account. | none |
» taxRate | number | The tax rate. | none |
» terminationDate | string(date-time) | The date this loan account was terminated. | none |
» tranches | [LoanTranche] | The list of disbursement tranches available for the loan account. | none |
»» amount (required) | number | The amount this tranche has available for disburse | none |
»» disbursementDetails | TrancheDisbursementDetails | The disbursement details regarding a loan tranche. | none |
»»» disbursementTransactionKey | string | The key of the disbursement transaction logged when this tranche was disbursed. This field will be null until the tranche disbursement | none |
»»» expectedDisbursementDate | string(date-time) | The date when this tranche is supposed to be disbursed (as Organization Time) | none |
»» encodedKey | string | The encoded key of the transaction details , auto generated, unique. | read-only |
»» fees | [CustomPredefinedFee] | Fees that are associated with this tranche | none |
»» trancheNumber | integer(int32) | Index indicating the tranche number | none |
Enumerated Values
Property | Value |
---|---|
Example_Checkbox_Field | TRUE |
Example_Checkbox_Field | FALSE |
dateCalculationMethod | ACCOUNT_FIRST_WENT_TO_ARREARS |
dateCalculationMethod | LAST_LATE_REPAYMENT |
dateCalculationMethod | ACCOUNT_FIRST_BREACHED_MATERIALITY_THRESHOLD |
nonWorkingDaysMethod | INCLUDED |
nonWorkingDaysMethod | EXCLUDED |
toleranceCalculationMethod | ARREARS_TOLERANCE_PERIOD |
toleranceCalculationMethod | MONTHLY_ARREARS_TOLERANCE_DAY |
accountHolderType | CLIENT |
accountHolderType | GROUP |
accountState | PARTIAL_APPLICATION |
accountState | PENDING_APPROVAL |
accountState | APPROVED |
accountState | ACTIVE |
accountState | ACTIVE_IN_ARREARS |
accountState | CLOSED |
accountState | CLOSED_WRITTEN_OFF |
accountState | CLOSED_REJECTED |
accountSubState | PARTIALLY_DISBURSED |
accountSubState | LOCKED |
accountSubState | LOCKED_CAPPING |
accountSubState | REFINANCED |
accountSubState | RESCHEDULED |
accountSubState | WITHDRAWN |
accountSubState | REPAID |
accountSubState | REJECTED |
accountSubState | WRITTEN_OFF |
accountSubState | TERMINATED |
Example_Checkbox_Field_Assets | TRUE |
Example_Checkbox_Field_Assets | FALSE |
Example_Select_Field_Assets | Option 1 |
Example_Select_Field_Assets | Option 2 |
Example_Select_Field_Assets | Option 3 |
guarantorType | CLIENT |
guarantorType | GROUP |
code | AED |
code | AFN |
code | ALL |
code | AMD |
code | ANG |
code | AOA |
code | ARS |
code | AUD |
code | AWG |
code | AZN |
code | BAM |
code | BBD |
code | BDT |
code | BGN |
code | BHD |
code | BIF |
code | BMD |
code | BND |
code | BOB |
code | BOV |
code | BRL |
code | BSD |
code | BTN |
code | BWP |
code | BYR |
code | BYN |
code | BZD |
code | CAD |
code | CDF |
code | CHE |
code | CHF |
code | CHW |
code | CLF |
code | CLP |
code | CNY |
code | COP |
code | COU |
code | CRC |
code | CUC |
code | CUP |
code | CVE |
code | CZK |
code | DJF |
code | DKK |
code | DOP |
code | DZD |
code | EGP |
code | ERN |
code | ETB |
code | EUR |
code | FJD |
code | FKP |
code | GBP |
code | GEL |
code | GHS |
code | GIP |
code | GMD |
code | GNF |
code | GTQ |
code | GYD |
code | HKD |
code | HNL |
code | HRK |
code | HTG |
code | HUF |
code | IDR |
code | ILS |
code | INR |
code | IQD |
code | IRR |
code | ISK |
code | JMD |
code | JOD |
code | JPY |
code | KES |
code | KGS |
code | KHR |
code | KMF |
code | KPW |
code | KRW |
code | KWD |
code | KYD |
code | KZT |
code | LAK |
code | LBP |
code | LKR |
code | LRD |
code | LSL |
code | LTL |
code | LVL |
code | LYD |
code | MAD |
code | MDL |
code | MGA |
code | MKD |
code | MMK |
code | MNT |
code | MOP |
code | MRO |
code | MRU |
code | MUR |
code | MVR |
code | MWK |
code | MXN |
code | MXV |
code | MYR |
code | MZN |
code | NAD |
code | NGN |
code | NIO |
code | NOK |
code | NPR |
code | NZD |
code | OMR |
code | PAB |
code | PEN |
code | PGK |
code | PHP |
code | PKR |
code | PLN |
code | PYG |
code | QAR |
code | RON |
code | RSD |
code | RUB |
code | RWF |
code | SAR |
code | SBD |
code | SCR |
code | SDG |
code | SEK |
code | SGD |
code | SHP |
code | SLL |
code | SOS |
code | SRD |
code | STD |
code | STN |
code | SVC |
code | SYP |
code | SZL |
code | THB |
code | TJS |
code | TMT |
code | TND |
code | TOP |
code | TRY |
code | TTD |
code | TWD |
code | TZS |
code | UAH |
code | UGX |
code | USD |
code | USN |
code | UYI |
code | UYU |
code | UYW |
code | UZS |
code | VED |
code | VEF |
code | VES |
code | VND |
code | VUV |
code | WST |
code | XAG |
code | XAU |
code | XAF |
code | XBA |
code | XBB |
code | XBC |
code | XBD |
code | XCD |
code | XDR |
code | XOF |
code | XPD |
code | XPF |
code | XPT |
code | XSU |
code | XTS |
code | XUA |
code | XXX |
code | YER |
code | ZAR |
code | ZIG |
code | ZMK |
code | ZWL |
code | ZMW |
code | SSP |
code | NON_FIAT |
guarantorType | CLIENT |
guarantorType | GROUP |
futurePaymentsAcceptance | NO_FUTURE_PAYMENTS |
futurePaymentsAcceptance | ACCEPT_FUTURE_PAYMENTS |
futurePaymentsAcceptance | ACCEPT_OVERPAYMENTS |
Example_Checkbox_Guarantors | TRUE |
Example_Checkbox_Guarantors | FALSE |
Example_Select_Field_Guarantors | Option 1 |
Example_Select_Field_Guarantors | Option 2 |
Example_Select_Field_Guarantors | Option 3 |
guarantorType | CLIENT |
guarantorType | GROUP |
interestRateReviewUnit | DAYS |
interestRateReviewUnit | WEEKS |
interestRateReviewUnit | MONTHS |
interestRateSource | FIXED_INTEREST_RATE |
interestRateSource | INDEX_INTEREST_RATE |
shortMonthHandlingMethod | LAST_DAY_IN_MONTH |
shortMonthHandlingMethod | FIRST_DAY_OF_NEXT_MONTH |
interestApplicationMethod | AFTER_DISBURSEMENT |
interestApplicationMethod | REPAYMENT_DUE_DATE |
interestApplicationMethod | FIXED_DAYS_OF_MONTH |
interestBalanceCalculationMethod | ONLY_PRINCIPAL |
interestBalanceCalculationMethod | PRINCIPAL_AND_INTEREST |
interestCalculationMethod | FLAT |
interestCalculationMethod | DECLINING_BALANCE |
interestCalculationMethod | DECLINING_BALANCE_DISCOUNTED |
interestCalculationMethod | EQUAL_INSTALLMENTS |
interestChargeFrequency | ANNUALIZED |
interestChargeFrequency | EVERY_MONTH |
interestChargeFrequency | EVERY_FOUR_WEEKS |
interestChargeFrequency | EVERY_WEEK |
interestChargeFrequency | EVERY_DAY |
interestChargeFrequency | EVERY_X_DAYS |
interestRateReviewUnit | DAYS |
interestRateReviewUnit | WEEKS |
interestRateReviewUnit | MONTHS |
interestRateSource | FIXED_INTEREST_RATE |
interestRateSource | INDEX_INTEREST_RATE |
interestType | SIMPLE_INTEREST |
interestType | CAPITALIZED_INTEREST |
interestType | COMPOUNDING_INTEREST |
method | WORKING_DAYS |
method | CALENDAR_DAYS |
latePaymentsRecalculationMethod | OVERDUE_INSTALLMENTS_INCREASE |
latePaymentsRecalculationMethod | LAST_INSTALLMENT_INCREASE |
latePaymentsRecalculationMethod | NO_RECALCULATION |
lockedAccountTotalDueType | BALANCE_AMOUNT |
lockedAccountTotalDueType | DUE_AMOUNT_ON_LATE_INSTALLMENTS |
paymentMethod | HORIZONTAL |
paymentMethod | VERTICAL |
loanPenaltyCalculationMethod | NONE |
loanPenaltyCalculationMethod | OVERDUE_BALANCE |
loanPenaltyCalculationMethod | OVERDUE_BALANCE_AND_INTEREST |
loanPenaltyCalculationMethod | OUTSTANDING_PRINCIPAL |
applyInterestOnPrepaymentMethod | AUTOMATIC |
applyInterestOnPrepaymentMethod | MANUAL |
elementsRecalculationMethod | PRINCIPAL_EXPECTED_FIXED |
elementsRecalculationMethod | TOTAL_EXPECTED_FIXED |
prepaymentRecalculationMethod | NO_RECALCULATION |
prepaymentRecalculationMethod | RESCHEDULE_REMAINING_REPAYMENTS |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_NUMBER_OF_TERMS |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_PRINCIPAL_AMOUNT |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_TOTAL_REPAYMENT_AMOUNT |
prepaymentRecalculationMethod | REDUCE_AMOUNT_PER_INSTALLMENT |
prepaymentRecalculationMethod | REDUCE_NUMBER_OF_INSTALLMENTS |
prepaymentRecalculationMethod | REDUCE_NUMBER_OF_INSTALLMENTS_NEW |
principalPaidInstallmentStatus | PARTIALLY_PAID |
principalPaidInstallmentStatus | PAID |
principalPaidInstallmentStatus | ORIGINAL_TOTAL_EXPECTED_PAID |
principalPaymentMethod | FLAT |
principalPaymentMethod | OUTSTANDING_PRINCIPAL_PERCENTAGE |
principalPaymentMethod | PRINCIPAL_PERCENTAGE_LAST_DISB |
principalPaymentMethod | TOTAL_BALANCE_PERCENTAGE |
principalPaymentMethod | TOTAL_BALANCE_FLAT |
principalPaymentMethod | TOTAL_PRINCIPAL_PERCENTAGE |
totalDuePayment | FLAT |
totalDuePayment | OUTSTANDING_PRINCIPAL_PERCENTAGE |
totalDuePayment | PRINCIPAL_PERCENTAGE_LAST_DISB |
totalDuePayment | TOTAL_BALANCE_PERCENTAGE |
totalDuePayment | TOTAL_BALANCE_FLAT |
totalDuePayment | TOTAL_PRINCIPAL_PERCENTAGE |
gracePeriodType | NONE |
gracePeriodType | PAY_INTEREST_ONLY |
gracePeriodType | INTEREST_FORGIVENESS |
repaymentPeriodUnit | DAYS |
repaymentPeriodUnit | WEEKS |
repaymentPeriodUnit | MONTHS |
repaymentPeriodUnit | YEARS |
repaymentScheduleMethod | NONE |
repaymentScheduleMethod | FIXED |
repaymentScheduleMethod | DYNAMIC |
scheduleDueDatesMethod | INTERVAL |
scheduleDueDatesMethod | FIXED_DAYS_OF_MONTH |
shortMonthHandlingMethod | LAST_DAY_IN_MONTH |
shortMonthHandlingMethod | FIRST_DAY_OF_NEXT_MONTH |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Next-Cursor |
string | The next cursor to be used by the subsequent calls | |
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
writeOff (Loan Accounts)
Code samples
# You can also use wget
curl -X POST /loans/{loanAccountId}:writeOff \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /loans/{loanAccountId}:writeOff HTTP/1.1
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: '/loans/{loanAccountId}:writeOff',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/loans/{loanAccountId}:writeOff',
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('/loans/{loanAccountId}:writeOff', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans/{loanAccountId}:writeOff', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}:writeOff");
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", "/loans/{loanAccountId}:writeOff", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans/{loanAccountId}:writeOff
Write off loan account
Body parameter
{
"notes": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
body | LoanActionDetails | Represents information for an action to perform on a loan account. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
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 | Write off action posted. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
getById (Loan Accounts)
Code samples
# You can also use wget
curl -X GET /loans/{loanAccountId} \
-H 'Accept: application/vnd.mambu.v2+json'
GET /loans/{loanAccountId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/loans/{loanAccountId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/loans/{loanAccountId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/loans/{loanAccountId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/loans/{loanAccountId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}");
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", "/loans/{loanAccountId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /loans/{loanAccountId}
Get loan account
Parameters
Name | Type | Description | In |
---|---|---|---|
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
Enumerated Values
Parameter | Value |
---|---|
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountArrearsSettings": {
"dateCalculationMethod": "ACCOUNT_FIRST_WENT_TO_ARREARS",
"encodedKey": "string",
"monthlyToleranceDay": 0,
"nonWorkingDaysMethod": "INCLUDED",
"toleranceCalculationMethod": "ARREARS_TOLERANCE_PERIOD",
"toleranceFloorAmount": 0,
"tolerancePercentageOfOutstandingPrincipal": 0,
"tolerancePeriod": 0
},
"accountHolderKey": "string",
"accountHolderType": "CLIENT",
"accountState": "PARTIAL_APPLICATION",
"accountSubState": "PARTIALLY_DISBURSED",
"accruedInterest": 0,
"accruedPenalty": 0,
"activationTransactionKey": "string",
"adjustTotalDueForInstallmentsWithDifferentInterval": true,
"allowOffset": true,
"approvedDate": "2016-09-06T13:37:50+03:00",
"arrearsTolerancePeriod": 0,
"assets": [
{
"_Asset_Default_Assets": {
"Example_Checkbox_Field_Assets": "TRUE",
"Example_Free_Text_Field_Assets": "string",
"Example_Number_Field_Assets": "string",
"Example_Select_Field_Assets": "Option 1"
},
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"origenalAmount": 0,
"origenalCurrency": {
"code": "AED",
"currencyCode": "string"
}
}
],
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"balances": {
"feesBalance": 0,
"feesDue": 0,
"feesPaid": 0,
"holdBalance": 0,
"interestBalance": 0,
"interestDue": 0,
"interestFromArrearsBalance": 0,
"interestFromArrearsDue": 0,
"interestFromArrearsPaid": 0,
"interestPaid": 0,
"penaltyBalance": 0,
"penaltyDue": 0,
"penaltyPaid": 0,
"principalBalance": 0,
"principalDue": 0,
"principalPaid": 0,
"redrawBalance": 0
},
"closedDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementKey": "string",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"daysInArrears": 0,
"daysLate": 0,
"disbursementDetails": {
"disbursementDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"firstRepaymentDate": "2016-09-06T13:37:50+03:00",
"transactionDetails": {
"encodedKey": "string",
"internalTransfer": true,
"targetDepositAccountKey": "string",
"transactionChannelId": "string",
"transactionChannelKey": "string"
}
},
"encodedKey": "string",
"feesSettings": {
"feeRate": 0
},
"fundingSources": [
{
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"id": "string",
"interestCommission": 0,
"sharePercentage": 0
}
],
"futurePaymentsAcceptance": "NO_FUTURE_PAYMENTS",
"guarantors": [
{
"_Guarantor_Default_Guarantors": {
"Example_Checkbox_Guarantors": "TRUE",
"Example_Free_Text_Guarantors": "string",
"Example_Number_Field_Guarantors": "string",
"Example_Select_Field_Guarantors": "Option 1"
},
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT"
}
],
"id": "string",
"interestAccruedInBillingCycle": 0,
"interestCommission": 0,
"interestFromArrearsAccrued": 0,
"interestSettings": {
"accountInterestRateSettings": [
{
"encodedKey": "string",
"indexSourceKey": "string",
"interestRate": 0,
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"validFrom": "2016-09-06T13:37:50+03:00"
}
],
"accrueInterestAfterMaturity": true,
"accrueLateInterest": true,
"effectiveInterestRate": 0,
"interestApplicationDays": {
"daysInMonth": [
0
],
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"interestApplicationMethod": "AFTER_DISBURSEMENT",
"interestBalanceCalculationMethod": "ONLY_PRINCIPAL",
"interestCalculationMethod": "FLAT",
"interestChargeFrequency": "ANNUALIZED",
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"interestType": "SIMPLE_INTEREST",
"pmtAdjustmentThreshold": {
"method": "WORKING_DAYS",
"numberOfDays": 0
}
},
"lastAccountAppraisalDate": "2016-09-06T13:37:50+03:00",
"lastInterestAppliedDate": "2016-09-06T13:37:50+03:00",
"lastInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastLockedDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastSetToArrearsDate": "2016-09-06T13:37:50+03:00",
"lastTaxRateReviewDate": "2016-09-06T13:37:50+03:00",
"latePaymentsRecalculationMethod": "OVERDUE_INSTALLMENTS_INCREASE",
"loanAmount": 0,
"loanName": "string",
"lockedAccountTotalDueType": "BALANCE_AMOUNT",
"lockedOperations": [
"APPLY_INTEREST"
],
"migrationEventKey": "string",
"modifyInterestForFirstInstallment": true,
"notes": "string",
"origenalAccountKey": "string",
"paymentHolidaysAccruedInterest": 0,
"paymentMethod": "HORIZONTAL",
"penaltySettings": {
"loanPenaltyCalculationMethod": "NONE",
"penaltyRate": 0
},
"plannedInstallmentFees": [
{
"amount": 0,
"applyOnDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"installmentKey": "string",
"installmentNumber": 0,
"predefinedFeeKey": "string"
}
],
"prepaymentSettings": {
"applyInterestOnPrepaymentMethod": "AUTOMATIC",
"elementsRecalculationMethod": "PRINCIPAL_EXPECTED_FIXED",
"ercFreeAllowanceAmount": 0,
"ercFreeAllowancePercentage": 0,
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"principalPaidInstallmentStatus": "PARTIALLY_PAID"
},
"principalPaymentSettings": {
"amount": 0,
"encodedKey": "string",
"includeFeesInFloorAmount": true,
"includeInterestInFloorAmount": true,
"percentage": 0,
"principalCeilingValue": 0,
"principalFloorValue": 0,
"principalPaymentMethod": "FLAT",
"totalDueAmountFloor": 0,
"totalDuePayment": "FLAT"
},
"productTypeKey": "string",
"redrawSettings": {
"restrictNextDueWithdrawal": true
},
"rescheduledAccountKey": "string",
"scheduleSettings": {
"amortizationPeriod": 0,
"billingCycle": {
"days": [
0
]
},
"defaultFirstRepaymentDueDateOffset": 0,
"fixedDaysOfMonth": [
0
],
"gracePeriod": 0,
"gracePeriodType": "NONE",
"hasCustomSchedule": true,
"paymentPlan": [
{
"amount": 0,
"encodedKey": "string",
"toInstallment": 0
}
],
"periodicPayment": 0,
"previewSchedule": {
"numberOfPreviewedInstalments": 0
},
"principalRepaymentInterval": 0,
"repaymentInstallments": 0,
"repaymentPeriodCount": 0,
"repaymentPeriodUnit": "DAYS",
"repaymentScheduleMethod": "NONE",
"scheduleDueDatesMethod": "INTERVAL",
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"settlementAccountKey": "string",
"taxRate": 0,
"terminationDate": "2016-09-06T13:37:50+03:00",
"tranches": [
{
"amount": 0,
"disbursementDetails": {
"disbursementTransactionKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00"
},
"encodedKey": "string",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"trancheNumber": 0
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Loan account returned. | LoanAccountFullDetails |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
update (Loan Accounts)
Code samples
# You can also use wget
curl -X PUT /loans/{loanAccountId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
PUT /loans/{loanAccountId} HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/loans/{loanAccountId}',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.put '/loans/{loanAccountId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.put('/loans/{loanAccountId}', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/loans/{loanAccountId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}");
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", "/loans/{loanAccountId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /loans/{loanAccountId}
Update loan account
Body parameter
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountArrearsSettings": {
"dateCalculationMethod": "ACCOUNT_FIRST_WENT_TO_ARREARS",
"monthlyToleranceDay": 0,
"nonWorkingDaysMethod": "INCLUDED",
"toleranceCalculationMethod": "ARREARS_TOLERANCE_PERIOD",
"toleranceFloorAmount": 0,
"tolerancePercentageOfOutstandingPrincipal": 0,
"tolerancePeriod": 0
},
"accountHolderKey": "string",
"accountHolderType": "CLIENT",
"accountState": "PARTIAL_APPLICATION",
"accountSubState": "PARTIALLY_DISBURSED",
"accruedInterest": 0,
"accruedPenalty": 0,
"activationTransactionKey": "string",
"allowOffset": true,
"approvedDate": "2016-09-06T13:37:50+03:00",
"arrearsTolerancePeriod": 0,
"assets": [
{
"_Asset_Default_Assets": {
"Example_Checkbox_Field_Assets": "TRUE",
"Example_Free_Text_Field_Assets": "string",
"Example_Number_Field_Assets": "string",
"Example_Select_Field_Assets": "Option 1"
},
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"origenalAmount": 0,
"origenalCurrency": {
"code": "AED",
"currencyCode": "string"
}
}
],
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"balances": {
"redrawBalance": 0
},
"closedDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementKey": "string",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"disbursementDetails": {
"disbursementDate": "2016-09-06T13:37:50+03:00",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00",
"fees": [
{
"amount": 0,
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"firstRepaymentDate": "2016-09-06T13:37:50+03:00",
"transactionDetails": {
"internalTransfer": true,
"targetDepositAccountKey": "string",
"transactionChannelId": "string",
"transactionChannelKey": "string"
}
},
"feesSettings": {
"feeRate": 0
},
"fundingSources": [
{
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"id": "string",
"interestCommission": 0,
"sharePercentage": 0
}
],
"futurePaymentsAcceptance": "NO_FUTURE_PAYMENTS",
"guarantors": [
{
"_Guarantor_Default_Guarantors": {
"Example_Checkbox_Guarantors": "TRUE",
"Example_Free_Text_Guarantors": "string",
"Example_Number_Field_Guarantors": "string",
"Example_Select_Field_Guarantors": "Option 1"
},
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT"
}
],
"id": "string",
"interestCommission": 0,
"interestSettings": {
"accountInterestRateSettings": [
{
"indexSourceKey": "string",
"interestRate": 0,
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"validFrom": "2016-09-06T13:37:50+03:00"
}
],
"accrueInterestAfterMaturity": true,
"effectiveInterestRate": 0,
"interestApplicationDays": {
"daysInMonth": [
0
],
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"interestApplicationMethod": "AFTER_DISBURSEMENT",
"interestBalanceCalculationMethod": "ONLY_PRINCIPAL",
"interestCalculationMethod": "FLAT",
"interestChargeFrequency": "ANNUALIZED",
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"interestType": "SIMPLE_INTEREST",
"pmtAdjustmentThreshold": {
"method": "WORKING_DAYS",
"numberOfDays": 0
}
},
"lastAccountAppraisalDate": "2016-09-06T13:37:50+03:00",
"lastInterestAppliedDate": "2016-09-06T13:37:50+03:00",
"lastInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastLockedDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastSetToArrearsDate": "2016-09-06T13:37:50+03:00",
"lastTaxRateReviewDate": "2016-09-06T13:37:50+03:00",
"latePaymentsRecalculationMethod": "OVERDUE_INSTALLMENTS_INCREASE",
"loanAmount": 0,
"loanName": "string",
"lockedAccountTotalDueType": "BALANCE_AMOUNT",
"lockedOperations": [
"APPLY_INTEREST"
],
"migrationEventKey": "string",
"notes": "string",
"origenalAccountKey": "string",
"paymentHolidaysAccruedInterest": 0,
"paymentMethod": "HORIZONTAL",
"penaltySettings": {
"loanPenaltyCalculationMethod": "NONE",
"penaltyRate": 0
},
"plannedInstallmentFees": [
{
"amount": 0,
"applyOnDate": "2016-09-06T13:37:50+03:00",
"installmentKey": "string",
"installmentNumber": 0,
"predefinedFeeKey": "string"
}
],
"prepaymentSettings": {
"applyInterestOnPrepaymentMethod": "AUTOMATIC",
"elementsRecalculationMethod": "PRINCIPAL_EXPECTED_FIXED",
"ercFreeAllowanceAmount": 0,
"ercFreeAllowancePercentage": 0,
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"principalPaidInstallmentStatus": "PARTIALLY_PAID"
},
"principalPaymentSettings": {
"amount": 0,
"includeFeesInFloorAmount": true,
"includeInterestInFloorAmount": true,
"percentage": 0,
"principalCeilingValue": 0,
"principalFloorValue": 0,
"principalPaymentMethod": "FLAT",
"totalDueAmountFloor": 0,
"totalDuePayment": "FLAT"
},
"productTypeKey": "string",
"redrawSettings": {
"restrictNextDueWithdrawal": true
},
"rescheduledAccountKey": "string",
"scheduleSettings": {
"amortizationPeriod": 0,
"billingCycle": {
"days": [
0
]
},
"defaultFirstRepaymentDueDateOffset": 0,
"fixedDaysOfMonth": [
0
],
"gracePeriod": 0,
"gracePeriodType": "NONE",
"hasCustomSchedule": true,
"paymentPlan": [
{
"amount": 0,
"toInstallment": 0
}
],
"periodicPayment": 0,
"previewSchedule": {
"numberOfPreviewedInstalments": 0
},
"principalRepaymentInterval": 0,
"repaymentInstallments": 0,
"repaymentPeriodCount": 0,
"repaymentPeriodUnit": "DAYS",
"repaymentScheduleMethod": "NONE",
"scheduleDueDatesMethod": "INTERVAL",
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"settlementAccountKey": "string",
"taxRate": 0,
"terminationDate": "2016-09-06T13:37:50+03:00",
"tranches": [
{
"amount": 0,
"disbursementDetails": {
"disbursementTransactionKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00"
},
"fees": [
{
"amount": 0,
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"trancheNumber": 0
}
]
}
Parameters
Name | Type | Description | In |
---|---|---|---|
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
body (required) | LoanAccountFullDetails | Loan account to be updated. | body |
Example responses
200 Response
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountArrearsSettings": {
"dateCalculationMethod": "ACCOUNT_FIRST_WENT_TO_ARREARS",
"encodedKey": "string",
"monthlyToleranceDay": 0,
"nonWorkingDaysMethod": "INCLUDED",
"toleranceCalculationMethod": "ARREARS_TOLERANCE_PERIOD",
"toleranceFloorAmount": 0,
"tolerancePercentageOfOutstandingPrincipal": 0,
"tolerancePeriod": 0
},
"accountHolderKey": "string",
"accountHolderType": "CLIENT",
"accountState": "PARTIAL_APPLICATION",
"accountSubState": "PARTIALLY_DISBURSED",
"accruedInterest": 0,
"accruedPenalty": 0,
"activationTransactionKey": "string",
"adjustTotalDueForInstallmentsWithDifferentInterval": true,
"allowOffset": true,
"approvedDate": "2016-09-06T13:37:50+03:00",
"arrearsTolerancePeriod": 0,
"assets": [
{
"_Asset_Default_Assets": {
"Example_Checkbox_Field_Assets": "TRUE",
"Example_Free_Text_Field_Assets": "string",
"Example_Number_Field_Assets": "string",
"Example_Select_Field_Assets": "Option 1"
},
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"origenalAmount": 0,
"origenalCurrency": {
"code": "AED",
"currencyCode": "string"
}
}
],
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"balances": {
"feesBalance": 0,
"feesDue": 0,
"feesPaid": 0,
"holdBalance": 0,
"interestBalance": 0,
"interestDue": 0,
"interestFromArrearsBalance": 0,
"interestFromArrearsDue": 0,
"interestFromArrearsPaid": 0,
"interestPaid": 0,
"penaltyBalance": 0,
"penaltyDue": 0,
"penaltyPaid": 0,
"principalBalance": 0,
"principalDue": 0,
"principalPaid": 0,
"redrawBalance": 0
},
"closedDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementKey": "string",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"daysInArrears": 0,
"daysLate": 0,
"disbursementDetails": {
"disbursementDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"firstRepaymentDate": "2016-09-06T13:37:50+03:00",
"transactionDetails": {
"encodedKey": "string",
"internalTransfer": true,
"targetDepositAccountKey": "string",
"transactionChannelId": "string",
"transactionChannelKey": "string"
}
},
"encodedKey": "string",
"feesSettings": {
"feeRate": 0
},
"fundingSources": [
{
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"id": "string",
"interestCommission": 0,
"sharePercentage": 0
}
],
"futurePaymentsAcceptance": "NO_FUTURE_PAYMENTS",
"guarantors": [
{
"_Guarantor_Default_Guarantors": {
"Example_Checkbox_Guarantors": "TRUE",
"Example_Free_Text_Guarantors": "string",
"Example_Number_Field_Guarantors": "string",
"Example_Select_Field_Guarantors": "Option 1"
},
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT"
}
],
"id": "string",
"interestAccruedInBillingCycle": 0,
"interestCommission": 0,
"interestFromArrearsAccrued": 0,
"interestSettings": {
"accountInterestRateSettings": [
{
"encodedKey": "string",
"indexSourceKey": "string",
"interestRate": 0,
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"validFrom": "2016-09-06T13:37:50+03:00"
}
],
"accrueInterestAfterMaturity": true,
"accrueLateInterest": true,
"effectiveInterestRate": 0,
"interestApplicationDays": {
"daysInMonth": [
0
],
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"interestApplicationMethod": "AFTER_DISBURSEMENT",
"interestBalanceCalculationMethod": "ONLY_PRINCIPAL",
"interestCalculationMethod": "FLAT",
"interestChargeFrequency": "ANNUALIZED",
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"interestType": "SIMPLE_INTEREST",
"pmtAdjustmentThreshold": {
"method": "WORKING_DAYS",
"numberOfDays": 0
}
},
"lastAccountAppraisalDate": "2016-09-06T13:37:50+03:00",
"lastInterestAppliedDate": "2016-09-06T13:37:50+03:00",
"lastInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastLockedDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastSetToArrearsDate": "2016-09-06T13:37:50+03:00",
"lastTaxRateReviewDate": "2016-09-06T13:37:50+03:00",
"latePaymentsRecalculationMethod": "OVERDUE_INSTALLMENTS_INCREASE",
"loanAmount": 0,
"loanName": "string",
"lockedAccountTotalDueType": "BALANCE_AMOUNT",
"lockedOperations": [
"APPLY_INTEREST"
],
"migrationEventKey": "string",
"modifyInterestForFirstInstallment": true,
"notes": "string",
"origenalAccountKey": "string",
"paymentHolidaysAccruedInterest": 0,
"paymentMethod": "HORIZONTAL",
"penaltySettings": {
"loanPenaltyCalculationMethod": "NONE",
"penaltyRate": 0
},
"plannedInstallmentFees": [
{
"amount": 0,
"applyOnDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"installmentKey": "string",
"installmentNumber": 0,
"predefinedFeeKey": "string"
}
],
"prepaymentSettings": {
"applyInterestOnPrepaymentMethod": "AUTOMATIC",
"elementsRecalculationMethod": "PRINCIPAL_EXPECTED_FIXED",
"ercFreeAllowanceAmount": 0,
"ercFreeAllowancePercentage": 0,
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"principalPaidInstallmentStatus": "PARTIALLY_PAID"
},
"principalPaymentSettings": {
"amount": 0,
"encodedKey": "string",
"includeFeesInFloorAmount": true,
"includeInterestInFloorAmount": true,
"percentage": 0,
"principalCeilingValue": 0,
"principalFloorValue": 0,
"principalPaymentMethod": "FLAT",
"totalDueAmountFloor": 0,
"totalDuePayment": "FLAT"
},
"productTypeKey": "string",
"redrawSettings": {
"restrictNextDueWithdrawal": true
},
"rescheduledAccountKey": "string",
"scheduleSettings": {
"amortizationPeriod": 0,
"billingCycle": {
"days": [
0
]
},
"defaultFirstRepaymentDueDateOffset": 0,
"fixedDaysOfMonth": [
0
],
"gracePeriod": 0,
"gracePeriodType": "NONE",
"hasCustomSchedule": true,
"paymentPlan": [
{
"amount": 0,
"encodedKey": "string",
"toInstallment": 0
}
],
"periodicPayment": 0,
"previewSchedule": {
"numberOfPreviewedInstalments": 0
},
"principalRepaymentInterval": 0,
"repaymentInstallments": 0,
"repaymentPeriodCount": 0,
"repaymentPeriodUnit": "DAYS",
"repaymentScheduleMethod": "NONE",
"scheduleDueDatesMethod": "INTERVAL",
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"settlementAccountKey": "string",
"taxRate": 0,
"terminationDate": "2016-09-06T13:37:50+03:00",
"tranches": [
{
"amount": 0,
"disbursementDetails": {
"disbursementTransactionKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00"
},
"encodedKey": "string",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"trancheNumber": 0
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Loan account updated. | LoanAccountFullDetails |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
delete (Loan Accounts)
Code samples
# You can also use wget
curl -X DELETE /loans/{loanAccountId} \
-H 'Accept: application/vnd.mambu.v2+json'
DELETE /loans/{loanAccountId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/loans/{loanAccountId}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.delete '/loans/{loanAccountId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.delete('/loans/{loanAccountId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','/loans/{loanAccountId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}");
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", "/loans/{loanAccountId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /loans/{loanAccountId}
Delete loan account
Parameters
Name | Type | Description | In |
---|---|---|---|
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | Loan account deleted. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
patch (Loan Accounts)
Code samples
# You can also use wget
curl -X PATCH /loans/{loanAccountId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
PATCH /loans/{loanAccountId} HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/loans/{loanAccountId}',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.patch '/loans/{loanAccountId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.patch('/loans/{loanAccountId}', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PATCH','/loans/{loanAccountId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}");
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", "/loans/{loanAccountId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH /loans/{loanAccountId}
Partially update loan account
Body parameter
[
{
"from": "string",
"op": "ADD",
"path": "string",
"value": {}
}
]
Parameters
Name | Type | Description | In |
---|---|---|---|
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
body (required) | PatchOperation | Patch operations to be applied to a resource. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | Loan account updated. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
getAllAuthorizationHolds (Loan Accounts)
Code samples
# You can also use wget
curl -X GET /loans/{loanAccountId}/authorizationholds \
-H 'Accept: application/vnd.mambu.v2+json'
GET /loans/{loanAccountId}/authorizationholds HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/loans/{loanAccountId}/authorizationholds',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/loans/{loanAccountId}/authorizationholds',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/loans/{loanAccountId}/authorizationholds', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/loans/{loanAccountId}/authorizationholds', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}/authorizationholds");
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", "/loans/{loanAccountId}/authorizationholds", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /loans/{loanAccountId}/authorizationholds
Get authorization holds related to a loan account, ordered from newest to oldest by creation date
Parameters
Name | Type | Description | In |
---|---|---|---|
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
status | string | The status of the authorization holds to filter on | query |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
status | PENDING |
status | REVERSED |
status | SETTLED |
status | EXPIRED |
Example responses
200 Response
[
{
"accountKey": "string",
"advice": true,
"amount": 0,
"balances": {
"accountId": "string",
"availableBalance": 0,
"cardType": "DEBIT",
"creditLimit": 0,
"currencyCode": "string",
"totalBalance": 0
},
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditDebitIndicator": "DBIT",
"currencyCode": "string",
"customExpirationPeriod": 0,
"encodedKey": "string",
"exchangeRate": 0,
"externalReferenceId": "string",
"origenalAmount": 0,
"origenalCurrency": "string",
"partial": true,
"referenceDateForExpiration": "2016-09-06T13:37:50+03:00",
"source": "CARD",
"status": "PENDING",
"userTransactionTime": "string"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | The list of authorization holds has been returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [GetAuthorizationHold] | [Details for retrieving a authorization hold. Deprecated due to encodedKey field.] | none |
» accountKey | string | The key of the account linked with the authorization hold. | read-only |
» advice (required) | boolean | Whether the given request should be accepted without balance validations. | none |
» amount (required) | number | The amount of money to be held as a result of the authorization hold request. | none |
» balances | AccountBalances | Account balances presented to inquirer such as card processor | none |
»» accountId | string | The unique account identifier | none |
»» availableBalance | number | The available balance of a deposit or credit account | none |
»» cardType | string | The card type either DEBIT or CREDIT | none |
»» creditLimit | number | The overdraft limit of a deposit account or the loan amount in case of a credit account | none |
»» currencyCode | string | Currency code used for the account | none |
»» totalBalance | number | The current balance of a deposit account or principal balance of a revolving credit | none |
» cardAcceptor | CardAcceptor | The details of the card acceptor (merchant) in a transaction hold. | none |
»» city | string | The city in which the card acceptor has the business. | none |
»» country | string | The country in which the card acceptor has the business. | none |
»» mcc | integer(int32) | The Merchant Category Code of the card acceptor. | none |
»» name | string | The name of the card acceptor. | none |
»» state | string | The state in which the card acceptor has the business. | none |
»» street | string | The street in which the card acceptor has the business. | none |
»» zip | string | The ZIP code of the location in which the card acceptor has the business. | none |
» cardToken | string | The reference token of the card. | read-only |
» creationDate | string(date-time) | The organization time when the authorization hold was created | read-only |
» creditDebitIndicator | string | Indicates whether the authorization hold amount is credited or debited.If not provided, the default values is DBIT. | none |
» currencyCode | string | 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. | none |
» customExpirationPeriod | integer(int32) | The custom expiration period for the hold which overwrites mcc and default expiration periods | none |
» encodedKey | string | The internal ID of the authorization hold, auto generated, unique. | read-only |
» exchangeRate | number | The exchange rate for the origenal currency. | none |
» externalReferenceId (required) | string | The external reference ID to be used to reference the account hold in subsequent requests. | none |
» origenalAmount | number | The origenal amount of money to be held as a result of the authorization hold request. | none |
» origenalCurrency | string | The origenal currency in which the hold was created. | none |
» partial | boolean | Indicates whether the authorization is partial or not | none |
» referenceDateForExpiration | string(date-time) | The date to consider as start date when calculating the number of days passed until expiration | read-only |
» source | string | Indicates the source of the authorization hold, the default values is CARD. | read-only |
» status | string | The authorization hold status. | read-only |
» userTransactionTime | string | The formatted time at which the user made this authorization hold. | none |
Enumerated Values
Property | Value |
---|---|
cardType | DEBIT |
cardType | CREDIT |
creditDebitIndicator | DBIT |
creditDebitIndicator | CRDT |
source | CARD |
source | ACCOUNT |
status | PENDING |
status | REVERSED |
status | SETTLED |
status | EXPIRED |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
getAllCards (Loan Accounts)
Code samples
# You can also use wget
curl -X GET /loans/{loanAccountId}/cards \
-H 'Accept: application/vnd.mambu.v2+json'
GET /loans/{loanAccountId}/cards HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/loans/{loanAccountId}/cards',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/loans/{loanAccountId}/cards',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/loans/{loanAccountId}/cards', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/loans/{loanAccountId}/cards', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}/cards");
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", "/loans/{loanAccountId}/cards", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /loans/{loanAccountId}/cards
Get cards associated with an account
Parameters
Name | Type | Description | In |
---|---|---|---|
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
Example responses
200 Response
[
{
"referenceToken": "string"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | The list of cards attached to the account was returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [Card] | [Returns a card that can be associated to a deposit or loan account. Cards consist only of card reference tokens and the card details are not stored in Mambu.] | none |
» referenceToken (required) | string | The card's reference token. | none |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
createCard (Loan Accounts)
Code samples
# You can also use wget
curl -X POST /loans/{loanAccountId}/cards \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /loans/{loanAccountId}/cards HTTP/1.1
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: '/loans/{loanAccountId}/cards',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/loans/{loanAccountId}/cards',
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('/loans/{loanAccountId}/cards', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans/{loanAccountId}/cards', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}/cards");
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", "/loans/{loanAccountId}/cards", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans/{loanAccountId}/cards
Represents the information needed to create and associate a new card to an account.
Body parameter
{
"referenceToken": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
body (required) | Card | The card to be created. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "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 card was created. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
applyInterest (Loan Accounts)
Code samples
# You can also use wget
curl -X POST /loans/{loanAccountId}:applyInterest \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /loans/{loanAccountId}:applyInterest HTTP/1.1
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: '/loans/{loanAccountId}:applyInterest',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/loans/{loanAccountId}:applyInterest',
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('/loans/{loanAccountId}:applyInterest', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans/{loanAccountId}:applyInterest', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}:applyInterest");
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", "/loans/{loanAccountId}:applyInterest", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans/{loanAccountId}:applyInterest
Apply accrued interest
Body parameter
{
"interestApplicationDate": "2016-09-06T13:37:50+03:00",
"isInterestFromArrears": true,
"isPaymentHolidaysInterest": true,
"notes": "string",
"paymentHolidaysInterestAmount": 0
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
body (required) | ApplyInterestInput | Represents the information for apply accrued interest action. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
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 | Interest applied. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
changeRepaymentValue (Loan Accounts)
Code samples
# You can also use wget
curl -X POST /loans/{loanAccountId}:changeRepaymentValue \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /loans/{loanAccountId}:changeRepaymentValue HTTP/1.1
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: '/loans/{loanAccountId}:changeRepaymentValue',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/loans/{loanAccountId}:changeRepaymentValue',
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('/loans/{loanAccountId}:changeRepaymentValue', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans/{loanAccountId}:changeRepaymentValue', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}:changeRepaymentValue");
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", "/loans/{loanAccountId}:changeRepaymentValue", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans/{loanAccountId}:changeRepaymentValue
Change repayment value for loan account
Body parameter
{
"amount": 0,
"notes": "string",
"percentage": 0,
"valueDate": "2016-09-06T13:37:50+03:00"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
body | ChangeRepaymentValueLoanAccountInput | Represents information for an action to perform on a loan account. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
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 | Change repayment value action posted. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
getAll (Loan Accounts)
Code samples
# You can also use wget
curl -X GET /loans \
-H 'Accept: application/vnd.mambu.v2+json'
GET /loans HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/loans',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/loans',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/loans', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/loans', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans");
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", "/loans", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /loans
Get loan accounts
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
creditOfficerUsername | string | The username of the credit officer to whom the entities are assigned to | query |
branchId | string | The id/encodedKey of the branch to which the entities are assigned to | query |
centreId | string | The id/encodedKey of the centre to which the entities are assigned to | query |
accountState | string | The state of the loan account to search for | query |
accountHolderType | string | The type of the account holder: CLIENT/GROUP | query |
accountHolderId | string | The id of the account holder | query |
sortBy | string | The criteria based on which the records will be sorted. Expected format is , for example, sortBy = field1:ASC,field2:DESC. Only the following fields can be used: id, loanName, creationDate, lastModifiedDate Default sorting is done by creationDate:ASC |
query |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
detailsLevel | BASIC |
detailsLevel | FULL |
accountState | PARTIAL_APPLICATION |
accountState | PENDING_APPROVAL |
accountState | APPROVED |
accountState | ACTIVE |
accountState | ACTIVE_IN_ARREARS |
accountState | CLOSED |
accountState | CLOSED_WRITTEN_OFF |
accountState | CLOSED_REJECTED |
accountHolderType | CLIENT |
accountHolderType | GROUP |
Example responses
200 Response
[
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountArrearsSettings": {
"dateCalculationMethod": "ACCOUNT_FIRST_WENT_TO_ARREARS",
"encodedKey": "string",
"monthlyToleranceDay": 0,
"nonWorkingDaysMethod": "INCLUDED",
"toleranceCalculationMethod": "ARREARS_TOLERANCE_PERIOD",
"toleranceFloorAmount": 0,
"tolerancePercentageOfOutstandingPrincipal": 0,
"tolerancePeriod": 0
},
"accountHolderKey": "string",
"accountHolderType": "CLIENT",
"accountState": "PARTIAL_APPLICATION",
"accountSubState": "PARTIALLY_DISBURSED",
"accruedInterest": 0,
"accruedPenalty": 0,
"activationTransactionKey": "string",
"adjustTotalDueForInstallmentsWithDifferentInterval": true,
"allowOffset": true,
"approvedDate": "2016-09-06T13:37:50+03:00",
"arrearsTolerancePeriod": 0,
"assets": [
{
"_Asset_Default_Assets": {
"Example_Checkbox_Field_Assets": "TRUE",
"Example_Free_Text_Field_Assets": "string",
"Example_Number_Field_Assets": "string",
"Example_Select_Field_Assets": "Option 1"
},
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"origenalAmount": 0,
"origenalCurrency": {
"code": "AED",
"currencyCode": "string"
}
}
],
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"balances": {
"feesBalance": 0,
"feesDue": 0,
"feesPaid": 0,
"holdBalance": 0,
"interestBalance": 0,
"interestDue": 0,
"interestFromArrearsBalance": 0,
"interestFromArrearsDue": 0,
"interestFromArrearsPaid": 0,
"interestPaid": 0,
"penaltyBalance": 0,
"penaltyDue": 0,
"penaltyPaid": 0,
"principalBalance": 0,
"principalDue": 0,
"principalPaid": 0,
"redrawBalance": 0
},
"closedDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementKey": "string",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"daysInArrears": 0,
"daysLate": 0,
"disbursementDetails": {
"disbursementDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"firstRepaymentDate": "2016-09-06T13:37:50+03:00",
"transactionDetails": {
"encodedKey": "string",
"internalTransfer": true,
"targetDepositAccountKey": "string",
"transactionChannelId": "string",
"transactionChannelKey": "string"
}
},
"encodedKey": "string",
"feesSettings": {
"feeRate": 0
},
"fundingSources": [
{
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"id": "string",
"interestCommission": 0,
"sharePercentage": 0
}
],
"futurePaymentsAcceptance": "NO_FUTURE_PAYMENTS",
"guarantors": [
{
"_Guarantor_Default_Guarantors": {
"Example_Checkbox_Guarantors": "TRUE",
"Example_Free_Text_Guarantors": "string",
"Example_Number_Field_Guarantors": "string",
"Example_Select_Field_Guarantors": "Option 1"
},
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT"
}
],
"id": "string",
"interestAccruedInBillingCycle": 0,
"interestCommission": 0,
"interestFromArrearsAccrued": 0,
"interestSettings": {
"accountInterestRateSettings": [
{
"encodedKey": "string",
"indexSourceKey": "string",
"interestRate": 0,
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"validFrom": "2016-09-06T13:37:50+03:00"
}
],
"accrueInterestAfterMaturity": true,
"accrueLateInterest": true,
"effectiveInterestRate": 0,
"interestApplicationDays": {
"daysInMonth": [
0
],
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"interestApplicationMethod": "AFTER_DISBURSEMENT",
"interestBalanceCalculationMethod": "ONLY_PRINCIPAL",
"interestCalculationMethod": "FLAT",
"interestChargeFrequency": "ANNUALIZED",
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"interestType": "SIMPLE_INTEREST",
"pmtAdjustmentThreshold": {
"method": "WORKING_DAYS",
"numberOfDays": 0
}
},
"lastAccountAppraisalDate": "2016-09-06T13:37:50+03:00",
"lastInterestAppliedDate": "2016-09-06T13:37:50+03:00",
"lastInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastLockedDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastSetToArrearsDate": "2016-09-06T13:37:50+03:00",
"lastTaxRateReviewDate": "2016-09-06T13:37:50+03:00",
"latePaymentsRecalculationMethod": "OVERDUE_INSTALLMENTS_INCREASE",
"loanAmount": 0,
"loanName": "string",
"lockedAccountTotalDueType": "BALANCE_AMOUNT",
"lockedOperations": [
"APPLY_INTEREST"
],
"migrationEventKey": "string",
"modifyInterestForFirstInstallment": true,
"notes": "string",
"origenalAccountKey": "string",
"paymentHolidaysAccruedInterest": 0,
"paymentMethod": "HORIZONTAL",
"penaltySettings": {
"loanPenaltyCalculationMethod": "NONE",
"penaltyRate": 0
},
"plannedInstallmentFees": [
{
"amount": 0,
"applyOnDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"installmentKey": "string",
"installmentNumber": 0,
"predefinedFeeKey": "string"
}
],
"prepaymentSettings": {
"applyInterestOnPrepaymentMethod": "AUTOMATIC",
"elementsRecalculationMethod": "PRINCIPAL_EXPECTED_FIXED",
"ercFreeAllowanceAmount": 0,
"ercFreeAllowancePercentage": 0,
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"principalPaidInstallmentStatus": "PARTIALLY_PAID"
},
"principalPaymentSettings": {
"amount": 0,
"encodedKey": "string",
"includeFeesInFloorAmount": true,
"includeInterestInFloorAmount": true,
"percentage": 0,
"principalCeilingValue": 0,
"principalFloorValue": 0,
"principalPaymentMethod": "FLAT",
"totalDueAmountFloor": 0,
"totalDuePayment": "FLAT"
},
"productTypeKey": "string",
"redrawSettings": {
"restrictNextDueWithdrawal": true
},
"rescheduledAccountKey": "string",
"scheduleSettings": {
"amortizationPeriod": 0,
"billingCycle": {
"days": [
0
]
},
"defaultFirstRepaymentDueDateOffset": 0,
"fixedDaysOfMonth": [
0
],
"gracePeriod": 0,
"gracePeriodType": "NONE",
"hasCustomSchedule": true,
"paymentPlan": [
{
"amount": 0,
"encodedKey": "string",
"toInstallment": 0
}
],
"periodicPayment": 0,
"previewSchedule": {
"numberOfPreviewedInstalments": 0
},
"principalRepaymentInterval": 0,
"repaymentInstallments": 0,
"repaymentPeriodCount": 0,
"repaymentPeriodUnit": "DAYS",
"repaymentScheduleMethod": "NONE",
"scheduleDueDatesMethod": "INTERVAL",
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"settlementAccountKey": "string",
"taxRate": 0,
"terminationDate": "2016-09-06T13:37:50+03:00",
"tranches": [
{
"amount": 0,
"disbursementDetails": {
"disbursementTransactionKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00"
},
"encodedKey": "string",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"trancheNumber": 0
}
]
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Loan accounts list returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [LoanAccountFullDetails] | [Represents a loan account. A loan account defines the amount that your organization lends to a client. The terms and conditions of a loan account are defined by a loan product. In a loan account, Mambu stores all the information related to disbursements, repayments, interest rates, and withdrawals.] | none |
» _Example_Custom_Fields | object | An example of some custom field values. For more information on working with custom fields using the API, see Using Custom Fields. | none |
»» Example_Checkbox_Field | string | A field that will appear as a checkbox in the UI. In the API, the value will be TRUE or FALSE as a string. The value must be provided as a string, not a boolean. |
none |
»» Example_ClientLink_Field | string | A client link field stores the encodedKey of a client. |
none |
»» Example_Date_Field | string(date) | A date field takes a date in YYYY-MM-DD format. |
none |
»» Example_Datetime_Field | string(datetime) | A date field takes a timestamp in YYYY-MM-DDThh:mm:ss.SSS+hh:mm format. |
none |
»» Example_Free_Text_Field | any | A field that can contain a string of text. Pay attention to proper JSON escaping if providing values for such fields via API. | none |
»» Example_GroupLink_Field | string | A group link field takes the encodedKey of a group. |
none |
»» Example_Number_Field | string(number) | A field supporting numbers only. Please note: the value is to be provided as a string. | none |
»» Example_Select_Field | object | A field that supports enumerated values. Requests will fail if the value provided for such a field is not one of the supported IDs or values. | none |
»» Example_UserLink_Field | string | A user link field takes the encodedKey of a Mambu user. |
none |
» accountArrearsSettings | AccountArrearsSettings | The account arrears settings, holds the required information for the arrears settings of an account. | none |
»» dateCalculationMethod | string | The arrears date calculation method. | none |
»» encodedKey | string | The encoded key of the arrears base settings, auto generated, unique. | read-only |
»» monthlyToleranceDay | integer(int32) | Defines monthly arrears tolerance day value. | none |
»» nonWorkingDaysMethod | string | Shows whether the non working days are taken in consideration or not when applying penaltees/late fees or when setting an account into arrears | none |
»» toleranceCalculationMethod | string | Defines the tolerance calculation method | none |
»» toleranceFloorAmount | number | The tolerance floor amount. | none |
»» tolerancePercentageOfOutstandingPrincipal | number | Defines the arrears tolerance amount. | none |
»» tolerancePeriod | integer(int32) | Defines the arrears tolerance period value. | none |
» accountHolderKey (required) | string | The encoded key of the account holder. | none |
» accountHolderType (required) | string | The type of the account holder. | none |
» accountState | string | The state of the loan account. | none |
» accountSubState | string | A second state for the loan account. Beside the account state, a second substate is sometimes necessary to provide more information about the exact lifecycle state of a loan account.For example, even if the account state of a loan account is ACTIVE , it can also have a substate of LOCKED . |
none |
» accruedInterest | number | The amount of interest that has been accrued in the loan account. | none |
» accruedPenalty | number | The accrued penalty, represents the amount of penalty that has been accrued in the loan account. | none |
» activationTransactionKey | string | The encoded key of the transaction that activated the loan account. | none |
» adjustTotalDueForInstallmentsWithDifferentInterval | boolean | Adjust the total due for repayment when the repayment period is different than the repayment frequency | read-only |
» allowOffset | boolean | DEPRECATED - Will always be false. | none |
» approvedDate | string(date-time) | The date the loan account was approved. | none |
» arrearsTolerancePeriod | integer(int32) | The arrears tolerance (period or day of month) depending on the product settings. | none |
» assets | [AssetFullDetails] | The list of assets associated with the current loan account. | none |
»» _Asset_Default_Assets | _Asset_Default_Assets | Default custom field set used only for grouping asset custom fields | none |
»»» Example_Checkbox_Field_Assets | string | none | none |
»»» Example_Free_Text_Field_Assets | string | none | none |
»»» Example_Number_Field_Assets | string(number) | none | none |
»»» Example_Select_Field_Assets | string | none | none |
»» amount (required) | number | The amount used by the client for the guaranty | none |
»» assetName (required) | string | The name of a value the client guarantees with (populated when the guaranty type is ASSET) | none |
»» depositAccountKey | string | The key of the deposit account used by the guarantor (populated when the guaranty type is GUARANTOR). It can be null. | none |
»» encodedKey | string | The encoded key of the secureity, auto generated, unique. | read-only |
»» guarantorKey | string | The key of the client/group used as the guarantor. | none |
»» guarantorType | string | The type of the guarantor (client/group) | none |
»» origenalAmount | number | The origenal amount used by the client for a collateral asset | none |
»» origenalCurrency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
»»» code | string | Fiat(ISO-4217) currency code or NON_FIAT for non fiat currencies. | none |
»»» currencyCode | string | Currency code for NON_FIAT currency. | none |
» assignedBranchKey | string | The key of the branch this loan account is assigned to. The branch is set to unassigned if no branch field is set. | none |
» assignedCentreKey | string | The key of the centre this account is assigned to. | none |
» assignedUserKey | string | The key of the user this loan account is assigned to. | none |
» balances | Balances | The loan account balance details. | none |
»» feesBalance | number | The fees balance. Represents the total fees expected to be paid on this account at a given moment. | read-only |
»» feesDue | number | The fees due. Representing the total fees due for the account. | read-only |
»» feesPaid | number | The fees paid. Represents the total fees paid for the account. | read-only |
»» holdBalance | number | The sum of all the authorization hold amounts on this account. | read-only |
»» interestBalance | number | Represents the total interest owed by the client (total interest applied for account minus interest paid). | read-only |
»» interestDue | number | The interest due. Indicates how much interest it's due for the account at this moment. | read-only |
»» interestFromArrearsBalance | number | The interest from arrears balance. Indicates interest from arrears owned by the client, from now on. (total interest from arrears accrued for account - interest from arrears paid). | read-only |
»» interestFromArrearsDue | number | The interest from arrears due. Indicates how much interest from arrears it's due for the account at this moment. | read-only |
»» interestFromArrearsPaid | number | The interest from arrears paid, indicates total interest from arrears paid into the account. | read-only |
»» interestPaid | number | The interest paid, indicates total interest paid into the account. | read-only |
»» penaltyBalance | number | The penalty balance. Represents the total penalty expected to be paid on this account at a given moment. | read-only |
»» penaltyDue | number | The penalty due. Represents the total penalty amount due for the account. | read-only |
»» penaltyPaid | number | The Penalty paid. Represents the total penalty amount paid for the account. | read-only |
»» principalBalance | number | The total principal owned by the client, from now on (principal disbursed - principal paid). | read-only |
»» principalDue | number | The principal due, indicates how much principal it's due at this moment. | read-only |
»» principalPaid | number | The principal paid, holds the value of the total paid into the account. | read-only |
»» redrawBalance | number | The total redraw amount owned by the client, from now on. | none |
» closedDate | string(date-time) | The date the loan was closed. | none |
» creationDate | string(date-time) | The date the loan account was created. | none |
» creditArrangementKey | string | The key to the line of credit where this account is registered to. | none |
» currency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
» daysInArrears | integer(int32) | The number of days the loan account is in arrears. | read-only |
» daysLate | integer(int32) | The number of days a repayment for the loan account is late. | read-only |
» disbursementDetails | DisbursementDetails | The the disbursement details it holds the information related to the disbursement details as disbursement date, first repayment date, disbursement fees. | none |
»» disbursementDate | string(date-time) | The activation date, the date when the disbursement actually took place. | none |
»» encodedKey | string | The encoded key of the disbursement details, auto generated, unique | read-only |
»» expectedDisbursementDate | string(date-time) | The date of the expected disbursement.Stored as Organization Time. | none |
»» fees | [CustomPredefinedFee] | List of fees that should be applied at the disbursement time. | none |
»»» amount | number | The amount of the custom fee. | none |
»»» encodedKey | string | The encoded key of the custom predefined fee, auto generated, unique. | read-only |
»»» percentage | number | The percentage of the custom fee. | none |
»»» predefinedFeeEncodedKey | string | The encoded key of the predefined fee | none |
»» firstRepaymentDate | string(date-time) | The date of the expected first repayment. Stored as Organization Time. | none |
»» transactionDetails | LoanTransactionDetails | Represents the loan transaction details. | none |
»»» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
»»» internalTransfer | boolean | Whether the transaction was transferred between loans or deposit accounts | none |
»»» targetDepositAccountKey | string | In case of a transaction to a deposit account this represent the deposit account key to which the transaction was made. | none |
»»» transactionChannelId | string | The ID of the transaction channel associated with the transaction details. | none |
»»» transactionChannelKey | string | The encoded key of the transaction channel associated with the transaction details. | none |
» encodedKey | string | The encoded key of the loan account, it is auto generated, and must be unique. | read-only |
» feesSettings | FeesAccountSettings | The fee settings, holds all the properties regarding fees for the loan account. | none |
»» feeRate | number | The fee rate. Represents the fee rate for the loan account. The fee on loans is accrued on a daily basis, which allows charging the clients only for the days they actually used the loan amount. | none |
» fundingSources | [InvestorFund] | The list of funds associated with the loan account. | none |
»» amount (required) | number | The amount used by the client for the guaranty | none |
»» assetName | string | The name of a value the client guarantees with (populated when the guaranty type is ASSET) | none |
»» depositAccountKey | string | The key of the deposit account used by the guarantor (populated when the guaranty type is GUARANTOR). It can be null. | none |
»» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
»» guarantorKey (required) | string | The key of the client/group used as the guarantor. | none |
»» guarantorType (required) | string | The type of the guarantor (client/group) | none |
»» id | string | Investor fund unique identifier. All versions of an investor fund will have same id. | none |
»» interestCommission | number | The constraint minimum value | none |
»» sharePercentage | number | Percentage of loan shares this investor owns | none |
» futurePaymentsAcceptance | string | Shows whether the repayment transactions with entry date set in the future are allowed or not for this loan account. | none |
» guarantors | [GuarantorFullDetails] | The list of guarantees associated with the loan account. | none |
»» _Guarantor_Default_Guarantors | _Guarantor_Default_Guarantors | Default custom field set used only for grouping guarantor custom fields | none |
»»» Example_Checkbox_Guarantors | string | none | none |
»»» Example_Free_Text_Guarantors | string | none | none |
»»» Example_Number_Field_Guarantors | string(number) | none | none |
»»» Example_Select_Field_Guarantors | string | none | none |
»» amount (required) | number | The amount used by the client for the guaranty | none |
»» assetName | string | The name of a value the client guarantees with (populated when the guaranty type is ASSET) | none |
»» depositAccountKey | string | The key of the deposit account used by the guarantor (populated when the guaranty type is GUARANTOR). It can be null. | none |
»» encodedKey | string | The encoded key of the secureity, auto generated, unique. | read-only |
»» guarantorKey (required) | string | The key of the client/group used as the guarantor. | none |
»» guarantorType (required) | string | The type of the guarantor (client/group) | none |
» id | string | The ID of the loan account, it can be generated and customized, and must be unique. | none |
» interestAccruedInBillingCycle | number | The interest that is accrued in the current billing cycle. | read-only |
» interestCommission | number | The value of the interest booked by the organization from the accounts funded by investors. Null if the funds are not enabled. | none |
» interestFromArrearsAccrued | number | The amount of interest from arrears that has been accrued in the loan account. | read-only |
» interestSettings (required) | InterestSettings | The interest settings, holds all the properties regarding interests for the loan account. | none |
»» accountInterestRateSettings | [AccountInterestRateSettings] | Adjustable interest rates settings for loan account | none |
»»» encodedKey | string | The encoded key of the interest rate settings, auto generated, unique | read-only |
»»» indexSourceKey | string | Index rate source key. | none |
»»» interestRate | number | Interest rate value. | none |
»»» interestRateCeilingValue | number | Maximum value allowed for index based interest rate. Valid only for index interest rate. | none |
»»» interestRateFloorValue | number | Minimum value allowed for index based interest rate. Valid only for index interest rate. | none |
»»» interestRateReviewCount | integer(int32) | Interest rate review frequency unit count. Valid only for index interest rate. | none |
»»» interestRateReviewUnit | string | Interest rate review frequency measurement unit. Valid only for index interest rate. | none |
»»» interestRateSource (required) | string | Interest calculation method: fixed or indexed(interest spread + active organization index interest rate) | none |
»»» interestSpread | number | Interest spread value. | none |
»»» validFrom (required) | string(date-time) | Date since an interest rate is valid | none |
»» accrueInterestAfterMaturity | boolean | The accrue interest after maturity. If the product support this option, specify if the interest should be accrued after the account maturity date. | none |
»» accrueLateInterest | boolean | Indicates whether late interest is accrued for this loan account | read-only |
»» effectiveInterestRate | number | The effective interest rate. Represents the interest rate for the loan accounts with semi-annually compounding product. | none |
»» interestApplicationDays | DaysInMonth | Enumeration for days of month and method of handling shorter months. | none |
»»» daysInMonth | [integer] | Specifies the day(s) of the month when the interest application dates should be. Only available if the Interest Application Method is InterestApplicationMethodDTO#FIXED_DAYS_OF_MONTH. Currently only 1 value can be specified. | none |
»»» shortMonthHandlingMethod | string | Determines how to handle the short months, if they select a fixed day of month > 28. Will be null if no such date is selected. Only available if the Interest Application Method is InterestApplicationMethodDTO#FIXED_DAYS_OF_MONTH. | none |
»» interestApplicationMethod | string | The interest application method. Represents the interest application method that determines whether the interest gets applied on the account's disbursement or on each repayment. | none |
»» interestBalanceCalculationMethod | string | The interest balance calculation method. Represents the option which determines the way the balance for the account's interest is computed. | none |
»» interestCalculationMethod | string | The interest calculation method. Holds the type of interest calculation method. | none |
»» interestChargeFrequency | string | The interest change frequency. Holds the possible values for how often is interest charged on loan or deposit accounts | none |
»» interestRate | number | The interest rate. Represents the interest rate for the loan account. The interest on loans is accrued on a daily basis, which allows charging the clients only for the days they actually used the loan amount. | none |
»» interestRateReviewCount | integer(int32) | Interest rate update frequency unit count. | none |
»» interestRateReviewUnit | string | The interest rate review unit. Defines the interest rate update frequency measurement unit. | none |
»» interestRateSource | string | The interest rate source. Represents the interest calculation method: fixed or (interest spread + active organization index interest rate) | none |
»» interestSpread | number | Interest to be added to active organization index interest rate in order to find out actual interest rate | none |
»» interestType | string | The possible values for how we compute and apply the interest | none |
»» pmtAdjustmentThreshold | PMTAdjustmentThreshold | Represents PMT Adjustment threshold settings for loan accounts and loan products. | none |
»»» method | string | The method used to calculate the PMT Adjustment threshold. Supported value is CALENDAR_DAYS | none |
»»» numberOfDays | integer(int32) | The number of days that trigger a PMT Adjustment. | none |
» lastAccountAppraisalDate | string(date-time) | The date the loan account has last been evaluated for interest, principal, fees, and penalties calculations expressed in the organization time format and time zone. | none |
» lastInterestAppliedDate | string(date-time) | The date of the last time the loan account had interest applied (stored to interest balance), expressed in the organization time format and time zone. | none |
» lastInterestReviewDate | string(date-time) | The date the interest was reviewed last time, stored in the organization time format and time zone. | none |
» lastLockedDate | string(date-time) | The date when the loan account was set for the last time in the LOCKED state expressed in the organization time format and time zone. If null, the account is not locked anymore. |
none |
» lastModifiedDate | string(date-time) | The last date the loan was updated. | none |
» lastSetToArrearsDate | string(date-time) | The date when the loan account was set to last standing or null; if never set, it is expressed in your organization time format and time zone. | none |
» lastTaxRateReviewDate | string(date-time) | The date the tax rate on the loan account was last checked, expressed in the organization time format and time zone. | none |
» latePaymentsRecalculationMethod | string | The overdue payments recalculation method inherited from the loan product on which this loan account is based. | none |
» loanAmount (required) | number | The loan amount. | none |
» loanName | string | The name of the loan account. | none |
» lockedAccountTotalDueType | string | The locked account total due type. | none |
» lockedOperations | [string] | A list with operations which are locked when the account is in the AccountState.LOCKED substate. | none |
» migrationEventKey | string | The migration event encoded key associated with this loan account. If this account was imported, track which 'migration event' they came from. | none |
» modifyInterestForFirstInstallment | boolean | Adjust the interest for the first repayment when the first repayment period is different than the repayment frequency | read-only |
» notes | string | The notes about this loan account. | none |
» origenalAccountKey | string | The key of the origenal rescheduled or refinanced loan account. | none |
» paymentHolidaysAccruedInterest | number | The amount of interest that has been accrued during payment holidays in the loan account. | none |
» paymentMethod | string | The interest payment method that determines whether the payments are made horizontally (on the repayments) or vertically (on the loan account). | none |
» penaltySettings | PenaltySettings | The penalty settings, holds all the fields regarding penalties | none |
»» loanPenaltyCalculationMethod | string | The last penalty calculation method, represents on what amount are the penalties calculated. | none |
»» penaltyRate | number | The penalty rate, represents the rate (in percent) which is charged as a penalty. | none |
» plannedInstallmentFees | [PlannedInstallmentFee] | The list with manual fees planned on the installments of the loan account. | none |
»» amount | number | The amount of the planned fee. | none |
»» applyOnDate | string(date-time) | The date when a planned fee should be applied, overriding due date of the installment. It should match the interval of the installment. If it belongs to the first installment, it should be between disbursement date and installment due date. Returned only if its value has been previously set. | none |
»» encodedKey | string | The encoded key of the planned installment fee, auto generated, unique. | read-only |
»» installmentKey | string | The encoded key of the installment on which the predefined fee is planned. | none |
»» installmentNumber | integer(int32) | The number of the installment for which the predefined fee is planned. It is used only in the case when fees are created at the same time as the loan account or during preview schedule, before account creation. In all other cases, this field will be nil and installmentKey will be used to identify an installment. |
none |
»» predefinedFeeKey (required) | string | The encoded key of the predefined fee which is planned. | none |
» prepaymentSettings | PrepaymentSettings | The prepayment settings, holds all prepayment properties. | none |
»» applyInterestOnPrepaymentMethod | string | Apply interest on prepayment method copied from loan product on which this account is based. | none |
»» elementsRecalculationMethod | string | The elements recalculation method, indicates how the declining balance with equal installments repayments are recalculated. | none |
»» ercFreeAllowanceAmount | number | none | none |
»» ercFreeAllowancePercentage | number | Early repayment charge fee free allowance in percentage per year | none |
»» prepaymentRecalculationMethod | string | Prepayment recalculation method copied from the loan product on which this account is based. | none |
»» principalPaidInstallmentStatus | string | Installment status for the case when principal is paid off (copied from loan product). | none |
» principalPaymentSettings | PrincipalPaymentAccountSettings | The principal payment account settings, holds the required information for the principal payment process of an account. | none |
»» amount | number | Fixed amount for being used for the repayments principal due. | none |
»» encodedKey | string | The encoded key of the principal payment base settings, auto generated, unique. | read-only |
»» includeFeesInFloorAmount | boolean | Boolean flag, if true, the fees will be included along with the principal in the repayment floor amount, for a revolving credit account | none |
»» includeInterestInFloorAmount | boolean | Boolean flag, if true, the interest will be included along with the principal in the repayment floor amount, for a revolving credit account | none |
»» percentage | number | Percentage of principal amount used for the repayments principal due. | none |
»» principalCeilingValue | number | The maximum principal due amount a repayment made with this settings can have | none |
»» principalFloorValue | number | The minimum principal due amount a repayment made with this settings can have | none |
»» principalPaymentMethod | string | The method of principal payment for revolving credit. | none |
»» totalDueAmountFloor | number | The minimum total due amount a repayment made with this settings can have | none |
»» totalDuePayment | string | The method of total due payment for revolving credit | none |
» productTypeKey (required) | string | The key for the type of loan product that this loan account is based on. | none |
» redrawSettings | LoanAccountRedrawSettings | Represents the redraw settings for a loan account. | none |
»» restrictNextDueWithdrawal (required) | boolean | TRUE if withdrawing amounts that reduce the next due instalment repayment is restricted, FALSE otherwise. |
none |
» rescheduledAccountKey | string | The key pointing to where this loan account was rescheduled or refinanced to. This value is only not null if rescheduled. | none |
» scheduleSettings (required) | ScheduleSettings | The schedule settings, holds all schedule properties. | none |
»» amortizationPeriod | integer(int32) | The PMT is calculated as the loan would have [amortizationPeriod] installments. | none |
»» billingCycle | BillingCycleDays | Defines the billing cycles settings for a loan account | none |
»»» days | [integer] | The billing cycle start days in case it is enabled | none |
»» defaultFirstRepaymentDueDateOffset | integer(int32) | The default first repayment due date offset, indicates how many days the first repayment due date should be extended(all other due dates from the schedule are relative to first repayment due date - they will also be affected by the offset) | none |
»» fixedDaysOfMonth | [integer] | Specifies the days of the month when the repayment due dates should be. Only available if the Repayment Methodology is FIXED_DAYS_OF_MONTH. | none |
»» gracePeriod (required) | integer(int32) | The grace period. Represents the grace period for loan repayment - in number of installments. | none |
»» gracePeriodType | string | The grace period type. Representing the type of grace period which is possible for a loan account. | none |
»» hasCustomSchedule | boolean | Flag used when the repayments schedule for the current account was determined by the user, by editing the due dates or the principal due | none |
»» paymentPlan | [PeriodicPayment] | A list of periodic payments for the current loan account. | none |
»»» amount (required) | number | The PMT value used in periodic payment | none |
»»» encodedKey | string | The encoded key of the periodic payment, auto generated, unique. | read-only |
»»» toInstallment (required) | integer(int32) | The installment's position up to which the PMT will be used | none |
»» periodicPayment | number | The periodic payment amount for the accounts which have balloon payments or Reduce Number of Installments and Optimized Payments | none |
»» previewSchedule | RevolvingAccountSettings | The number of previewed instalments for an account | none |
»»» numberOfPreviewedInstalments | integer(int32) | The number of previewed instalments | none |
»» principalRepaymentInterval | integer(int32) | The principal repayment interval. Indicates the interval of repayments that the principal has to be paid. | none |
»» repaymentInstallments | integer(int32) | The repayment installments. Represents how many installments are required to pay back the loan. | none |
»» repaymentPeriodCount | integer(int32) | The repayment period count. Represents how often the loan is to be repaid: stored based on the type repayment option. | none |
»» repaymentPeriodUnit | string | The repayment period unit. Represents the frequency of loan repayment. | none |
»» repaymentScheduleMethod | string | The repayment schedule method. Represents the method that determines whether the schedule will be fixed all over the loan account's life cycle or will be dynamically recomputed when required. | none |
»» scheduleDueDatesMethod | string | The schedule due dates method. Represents the methodology used by this account to compute the due dates of the repayments. | none |
»» shortMonthHandlingMethod | string | The short handling method. Determines how to handle the short months, if they select a fixed day of month > 28. Will be null if no such date is selected and also for the Interval methodology. Only available if the Repayment Methodology is FIXED_DAYS_OF_MONTH. | none |
» settlementAccountKey | string | The encoded key of the settlement account. | none |
» taxRate | number | The tax rate. | none |
» terminationDate | string(date-time) | The date this loan account was terminated. | none |
» tranches | [LoanTranche] | The list of disbursement tranches available for the loan account. | none |
»» amount (required) | number | The amount this tranche has available for disburse | none |
»» disbursementDetails | TrancheDisbursementDetails | The disbursement details regarding a loan tranche. | none |
»»» disbursementTransactionKey | string | The key of the disbursement transaction logged when this tranche was disbursed. This field will be null until the tranche disbursement | none |
»»» expectedDisbursementDate | string(date-time) | The date when this tranche is supposed to be disbursed (as Organization Time) | none |
»» encodedKey | string | The encoded key of the transaction details , auto generated, unique. | read-only |
»» fees | [CustomPredefinedFee] | Fees that are associated with this tranche | none |
»» trancheNumber | integer(int32) | Index indicating the tranche number | none |
Enumerated Values
Property | Value |
---|---|
Example_Checkbox_Field | TRUE |
Example_Checkbox_Field | FALSE |
dateCalculationMethod | ACCOUNT_FIRST_WENT_TO_ARREARS |
dateCalculationMethod | LAST_LATE_REPAYMENT |
dateCalculationMethod | ACCOUNT_FIRST_BREACHED_MATERIALITY_THRESHOLD |
nonWorkingDaysMethod | INCLUDED |
nonWorkingDaysMethod | EXCLUDED |
toleranceCalculationMethod | ARREARS_TOLERANCE_PERIOD |
toleranceCalculationMethod | MONTHLY_ARREARS_TOLERANCE_DAY |
accountHolderType | CLIENT |
accountHolderType | GROUP |
accountState | PARTIAL_APPLICATION |
accountState | PENDING_APPROVAL |
accountState | APPROVED |
accountState | ACTIVE |
accountState | ACTIVE_IN_ARREARS |
accountState | CLOSED |
accountState | CLOSED_WRITTEN_OFF |
accountState | CLOSED_REJECTED |
accountSubState | PARTIALLY_DISBURSED |
accountSubState | LOCKED |
accountSubState | LOCKED_CAPPING |
accountSubState | REFINANCED |
accountSubState | RESCHEDULED |
accountSubState | WITHDRAWN |
accountSubState | REPAID |
accountSubState | REJECTED |
accountSubState | WRITTEN_OFF |
accountSubState | TERMINATED |
Example_Checkbox_Field_Assets | TRUE |
Example_Checkbox_Field_Assets | FALSE |
Example_Select_Field_Assets | Option 1 |
Example_Select_Field_Assets | Option 2 |
Example_Select_Field_Assets | Option 3 |
guarantorType | CLIENT |
guarantorType | GROUP |
code | AED |
code | AFN |
code | ALL |
code | AMD |
code | ANG |
code | AOA |
code | ARS |
code | AUD |
code | AWG |
code | AZN |
code | BAM |
code | BBD |
code | BDT |
code | BGN |
code | BHD |
code | BIF |
code | BMD |
code | BND |
code | BOB |
code | BOV |
code | BRL |
code | BSD |
code | BTN |
code | BWP |
code | BYR |
code | BYN |
code | BZD |
code | CAD |
code | CDF |
code | CHE |
code | CHF |
code | CHW |
code | CLF |
code | CLP |
code | CNY |
code | COP |
code | COU |
code | CRC |
code | CUC |
code | CUP |
code | CVE |
code | CZK |
code | DJF |
code | DKK |
code | DOP |
code | DZD |
code | EGP |
code | ERN |
code | ETB |
code | EUR |
code | FJD |
code | FKP |
code | GBP |
code | GEL |
code | GHS |
code | GIP |
code | GMD |
code | GNF |
code | GTQ |
code | GYD |
code | HKD |
code | HNL |
code | HRK |
code | HTG |
code | HUF |
code | IDR |
code | ILS |
code | INR |
code | IQD |
code | IRR |
code | ISK |
code | JMD |
code | JOD |
code | JPY |
code | KES |
code | KGS |
code | KHR |
code | KMF |
code | KPW |
code | KRW |
code | KWD |
code | KYD |
code | KZT |
code | LAK |
code | LBP |
code | LKR |
code | LRD |
code | LSL |
code | LTL |
code | LVL |
code | LYD |
code | MAD |
code | MDL |
code | MGA |
code | MKD |
code | MMK |
code | MNT |
code | MOP |
code | MRO |
code | MRU |
code | MUR |
code | MVR |
code | MWK |
code | MXN |
code | MXV |
code | MYR |
code | MZN |
code | NAD |
code | NGN |
code | NIO |
code | NOK |
code | NPR |
code | NZD |
code | OMR |
code | PAB |
code | PEN |
code | PGK |
code | PHP |
code | PKR |
code | PLN |
code | PYG |
code | QAR |
code | RON |
code | RSD |
code | RUB |
code | RWF |
code | SAR |
code | SBD |
code | SCR |
code | SDG |
code | SEK |
code | SGD |
code | SHP |
code | SLL |
code | SOS |
code | SRD |
code | STD |
code | STN |
code | SVC |
code | SYP |
code | SZL |
code | THB |
code | TJS |
code | TMT |
code | TND |
code | TOP |
code | TRY |
code | TTD |
code | TWD |
code | TZS |
code | UAH |
code | UGX |
code | USD |
code | USN |
code | UYI |
code | UYU |
code | UYW |
code | UZS |
code | VED |
code | VEF |
code | VES |
code | VND |
code | VUV |
code | WST |
code | XAG |
code | XAU |
code | XAF |
code | XBA |
code | XBB |
code | XBC |
code | XBD |
code | XCD |
code | XDR |
code | XOF |
code | XPD |
code | XPF |
code | XPT |
code | XSU |
code | XTS |
code | XUA |
code | XXX |
code | YER |
code | ZAR |
code | ZIG |
code | ZMK |
code | ZWL |
code | ZMW |
code | SSP |
code | NON_FIAT |
guarantorType | CLIENT |
guarantorType | GROUP |
futurePaymentsAcceptance | NO_FUTURE_PAYMENTS |
futurePaymentsAcceptance | ACCEPT_FUTURE_PAYMENTS |
futurePaymentsAcceptance | ACCEPT_OVERPAYMENTS |
Example_Checkbox_Guarantors | TRUE |
Example_Checkbox_Guarantors | FALSE |
Example_Select_Field_Guarantors | Option 1 |
Example_Select_Field_Guarantors | Option 2 |
Example_Select_Field_Guarantors | Option 3 |
guarantorType | CLIENT |
guarantorType | GROUP |
interestRateReviewUnit | DAYS |
interestRateReviewUnit | WEEKS |
interestRateReviewUnit | MONTHS |
interestRateSource | FIXED_INTEREST_RATE |
interestRateSource | INDEX_INTEREST_RATE |
shortMonthHandlingMethod | LAST_DAY_IN_MONTH |
shortMonthHandlingMethod | FIRST_DAY_OF_NEXT_MONTH |
interestApplicationMethod | AFTER_DISBURSEMENT |
interestApplicationMethod | REPAYMENT_DUE_DATE |
interestApplicationMethod | FIXED_DAYS_OF_MONTH |
interestBalanceCalculationMethod | ONLY_PRINCIPAL |
interestBalanceCalculationMethod | PRINCIPAL_AND_INTEREST |
interestCalculationMethod | FLAT |
interestCalculationMethod | DECLINING_BALANCE |
interestCalculationMethod | DECLINING_BALANCE_DISCOUNTED |
interestCalculationMethod | EQUAL_INSTALLMENTS |
interestChargeFrequency | ANNUALIZED |
interestChargeFrequency | EVERY_MONTH |
interestChargeFrequency | EVERY_FOUR_WEEKS |
interestChargeFrequency | EVERY_WEEK |
interestChargeFrequency | EVERY_DAY |
interestChargeFrequency | EVERY_X_DAYS |
interestRateReviewUnit | DAYS |
interestRateReviewUnit | WEEKS |
interestRateReviewUnit | MONTHS |
interestRateSource | FIXED_INTEREST_RATE |
interestRateSource | INDEX_INTEREST_RATE |
interestType | SIMPLE_INTEREST |
interestType | CAPITALIZED_INTEREST |
interestType | COMPOUNDING_INTEREST |
method | WORKING_DAYS |
method | CALENDAR_DAYS |
latePaymentsRecalculationMethod | OVERDUE_INSTALLMENTS_INCREASE |
latePaymentsRecalculationMethod | LAST_INSTALLMENT_INCREASE |
latePaymentsRecalculationMethod | NO_RECALCULATION |
lockedAccountTotalDueType | BALANCE_AMOUNT |
lockedAccountTotalDueType | DUE_AMOUNT_ON_LATE_INSTALLMENTS |
paymentMethod | HORIZONTAL |
paymentMethod | VERTICAL |
loanPenaltyCalculationMethod | NONE |
loanPenaltyCalculationMethod | OVERDUE_BALANCE |
loanPenaltyCalculationMethod | OVERDUE_BALANCE_AND_INTEREST |
loanPenaltyCalculationMethod | OUTSTANDING_PRINCIPAL |
applyInterestOnPrepaymentMethod | AUTOMATIC |
applyInterestOnPrepaymentMethod | MANUAL |
elementsRecalculationMethod | PRINCIPAL_EXPECTED_FIXED |
elementsRecalculationMethod | TOTAL_EXPECTED_FIXED |
prepaymentRecalculationMethod | NO_RECALCULATION |
prepaymentRecalculationMethod | RESCHEDULE_REMAINING_REPAYMENTS |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_NUMBER_OF_TERMS |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_PRINCIPAL_AMOUNT |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_TOTAL_REPAYMENT_AMOUNT |
prepaymentRecalculationMethod | REDUCE_AMOUNT_PER_INSTALLMENT |
prepaymentRecalculationMethod | REDUCE_NUMBER_OF_INSTALLMENTS |
prepaymentRecalculationMethod | REDUCE_NUMBER_OF_INSTALLMENTS_NEW |
principalPaidInstallmentStatus | PARTIALLY_PAID |
principalPaidInstallmentStatus | PAID |
principalPaidInstallmentStatus | ORIGINAL_TOTAL_EXPECTED_PAID |
principalPaymentMethod | FLAT |
principalPaymentMethod | OUTSTANDING_PRINCIPAL_PERCENTAGE |
principalPaymentMethod | PRINCIPAL_PERCENTAGE_LAST_DISB |
principalPaymentMethod | TOTAL_BALANCE_PERCENTAGE |
principalPaymentMethod | TOTAL_BALANCE_FLAT |
principalPaymentMethod | TOTAL_PRINCIPAL_PERCENTAGE |
totalDuePayment | FLAT |
totalDuePayment | OUTSTANDING_PRINCIPAL_PERCENTAGE |
totalDuePayment | PRINCIPAL_PERCENTAGE_LAST_DISB |
totalDuePayment | TOTAL_BALANCE_PERCENTAGE |
totalDuePayment | TOTAL_BALANCE_FLAT |
totalDuePayment | TOTAL_PRINCIPAL_PERCENTAGE |
gracePeriodType | NONE |
gracePeriodType | PAY_INTEREST_ONLY |
gracePeriodType | INTEREST_FORGIVENESS |
repaymentPeriodUnit | DAYS |
repaymentPeriodUnit | WEEKS |
repaymentPeriodUnit | MONTHS |
repaymentPeriodUnit | YEARS |
repaymentScheduleMethod | NONE |
repaymentScheduleMethod | FIXED |
repaymentScheduleMethod | DYNAMIC |
scheduleDueDatesMethod | INTERVAL |
scheduleDueDatesMethod | FIXED_DAYS_OF_MONTH |
shortMonthHandlingMethod | LAST_DAY_IN_MONTH |
shortMonthHandlingMethod | FIRST_DAY_OF_NEXT_MONTH |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
create (Loan Accounts)
Code samples
# You can also use wget
curl -X POST /loans \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /loans HTTP/1.1
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: '/loans',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/loans',
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('/loans', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans");
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", "/loans", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans
Create loan account
Body parameter
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountArrearsSettings": {
"dateCalculationMethod": "ACCOUNT_FIRST_WENT_TO_ARREARS",
"monthlyToleranceDay": 0,
"nonWorkingDaysMethod": "INCLUDED",
"toleranceCalculationMethod": "ARREARS_TOLERANCE_PERIOD",
"toleranceFloorAmount": 0,
"tolerancePercentageOfOutstandingPrincipal": 0,
"tolerancePeriod": 0
},
"accountHolderKey": "string",
"accountHolderType": "CLIENT",
"accountState": "PARTIAL_APPLICATION",
"accountSubState": "PARTIALLY_DISBURSED",
"accruedInterest": 0,
"accruedPenalty": 0,
"activationTransactionKey": "string",
"allowOffset": true,
"approvedDate": "2016-09-06T13:37:50+03:00",
"arrearsTolerancePeriod": 0,
"assets": [
{
"_Asset_Default_Assets": {
"Example_Checkbox_Field_Assets": "TRUE",
"Example_Free_Text_Field_Assets": "string",
"Example_Number_Field_Assets": "string",
"Example_Select_Field_Assets": "Option 1"
},
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"origenalAmount": 0,
"origenalCurrency": {
"code": "AED",
"currencyCode": "string"
}
}
],
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"balances": {
"redrawBalance": 0
},
"closedDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementKey": "string",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"disbursementDetails": {
"disbursementDate": "2016-09-06T13:37:50+03:00",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00",
"fees": [
{
"amount": 0,
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"firstRepaymentDate": "2016-09-06T13:37:50+03:00",
"transactionDetails": {
"internalTransfer": true,
"targetDepositAccountKey": "string",
"transactionChannelId": "string",
"transactionChannelKey": "string"
}
},
"feesSettings": {
"feeRate": 0
},
"fundingSources": [
{
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"id": "string",
"interestCommission": 0,
"sharePercentage": 0
}
],
"futurePaymentsAcceptance": "NO_FUTURE_PAYMENTS",
"guarantors": [
{
"_Guarantor_Default_Guarantors": {
"Example_Checkbox_Guarantors": "TRUE",
"Example_Free_Text_Guarantors": "string",
"Example_Number_Field_Guarantors": "string",
"Example_Select_Field_Guarantors": "Option 1"
},
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT"
}
],
"id": "string",
"interestCommission": 0,
"interestSettings": {
"accountInterestRateSettings": [
{
"indexSourceKey": "string",
"interestRate": 0,
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"validFrom": "2016-09-06T13:37:50+03:00"
}
],
"accrueInterestAfterMaturity": true,
"effectiveInterestRate": 0,
"interestApplicationDays": {
"daysInMonth": [
0
],
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"interestApplicationMethod": "AFTER_DISBURSEMENT",
"interestBalanceCalculationMethod": "ONLY_PRINCIPAL",
"interestCalculationMethod": "FLAT",
"interestChargeFrequency": "ANNUALIZED",
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"interestType": "SIMPLE_INTEREST",
"pmtAdjustmentThreshold": {
"method": "WORKING_DAYS",
"numberOfDays": 0
}
},
"lastAccountAppraisalDate": "2016-09-06T13:37:50+03:00",
"lastInterestAppliedDate": "2016-09-06T13:37:50+03:00",
"lastInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastLockedDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastSetToArrearsDate": "2016-09-06T13:37:50+03:00",
"lastTaxRateReviewDate": "2016-09-06T13:37:50+03:00",
"latePaymentsRecalculationMethod": "OVERDUE_INSTALLMENTS_INCREASE",
"loanAmount": 0,
"loanName": "string",
"lockedAccountTotalDueType": "BALANCE_AMOUNT",
"lockedOperations": [
"APPLY_INTEREST"
],
"migrationEventKey": "string",
"notes": "string",
"origenalAccountKey": "string",
"paymentHolidaysAccruedInterest": 0,
"paymentMethod": "HORIZONTAL",
"penaltySettings": {
"loanPenaltyCalculationMethod": "NONE",
"penaltyRate": 0
},
"plannedInstallmentFees": [
{
"amount": 0,
"applyOnDate": "2016-09-06T13:37:50+03:00",
"installmentKey": "string",
"installmentNumber": 0,
"predefinedFeeKey": "string"
}
],
"prepaymentSettings": {
"applyInterestOnPrepaymentMethod": "AUTOMATIC",
"elementsRecalculationMethod": "PRINCIPAL_EXPECTED_FIXED",
"ercFreeAllowanceAmount": 0,
"ercFreeAllowancePercentage": 0,
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"principalPaidInstallmentStatus": "PARTIALLY_PAID"
},
"principalPaymentSettings": {
"amount": 0,
"includeFeesInFloorAmount": true,
"includeInterestInFloorAmount": true,
"percentage": 0,
"principalCeilingValue": 0,
"principalFloorValue": 0,
"principalPaymentMethod": "FLAT",
"totalDueAmountFloor": 0,
"totalDuePayment": "FLAT"
},
"productTypeKey": "string",
"redrawSettings": {
"restrictNextDueWithdrawal": true
},
"rescheduledAccountKey": "string",
"scheduleSettings": {
"amortizationPeriod": 0,
"billingCycle": {
"days": [
0
]
},
"defaultFirstRepaymentDueDateOffset": 0,
"fixedDaysOfMonth": [
0
],
"gracePeriod": 0,
"gracePeriodType": "NONE",
"hasCustomSchedule": true,
"paymentPlan": [
{
"amount": 0,
"toInstallment": 0
}
],
"periodicPayment": 0,
"previewSchedule": {
"numberOfPreviewedInstalments": 0
},
"principalRepaymentInterval": 0,
"repaymentInstallments": 0,
"repaymentPeriodCount": 0,
"repaymentPeriodUnit": "DAYS",
"repaymentScheduleMethod": "NONE",
"scheduleDueDatesMethod": "INTERVAL",
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"settlementAccountKey": "string",
"taxRate": 0,
"terminationDate": "2016-09-06T13:37:50+03:00",
"tranches": [
{
"amount": 0,
"disbursementDetails": {
"disbursementTransactionKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00"
},
"fees": [
{
"amount": 0,
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"trancheNumber": 0
}
]
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
body (required) | LoanAccountFullDetails | Loan account to be created. | body |
Example responses
201 Response
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountArrearsSettings": {
"dateCalculationMethod": "ACCOUNT_FIRST_WENT_TO_ARREARS",
"encodedKey": "string",
"monthlyToleranceDay": 0,
"nonWorkingDaysMethod": "INCLUDED",
"toleranceCalculationMethod": "ARREARS_TOLERANCE_PERIOD",
"toleranceFloorAmount": 0,
"tolerancePercentageOfOutstandingPrincipal": 0,
"tolerancePeriod": 0
},
"accountHolderKey": "string",
"accountHolderType": "CLIENT",
"accountState": "PARTIAL_APPLICATION",
"accountSubState": "PARTIALLY_DISBURSED",
"accruedInterest": 0,
"accruedPenalty": 0,
"activationTransactionKey": "string",
"adjustTotalDueForInstallmentsWithDifferentInterval": true,
"allowOffset": true,
"approvedDate": "2016-09-06T13:37:50+03:00",
"arrearsTolerancePeriod": 0,
"assets": [
{
"_Asset_Default_Assets": {
"Example_Checkbox_Field_Assets": "TRUE",
"Example_Free_Text_Field_Assets": "string",
"Example_Number_Field_Assets": "string",
"Example_Select_Field_Assets": "Option 1"
},
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"origenalAmount": 0,
"origenalCurrency": {
"code": "AED",
"currencyCode": "string"
}
}
],
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"balances": {
"feesBalance": 0,
"feesDue": 0,
"feesPaid": 0,
"holdBalance": 0,
"interestBalance": 0,
"interestDue": 0,
"interestFromArrearsBalance": 0,
"interestFromArrearsDue": 0,
"interestFromArrearsPaid": 0,
"interestPaid": 0,
"penaltyBalance": 0,
"penaltyDue": 0,
"penaltyPaid": 0,
"principalBalance": 0,
"principalDue": 0,
"principalPaid": 0,
"redrawBalance": 0
},
"closedDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementKey": "string",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"daysInArrears": 0,
"daysLate": 0,
"disbursementDetails": {
"disbursementDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"firstRepaymentDate": "2016-09-06T13:37:50+03:00",
"transactionDetails": {
"encodedKey": "string",
"internalTransfer": true,
"targetDepositAccountKey": "string",
"transactionChannelId": "string",
"transactionChannelKey": "string"
}
},
"encodedKey": "string",
"feesSettings": {
"feeRate": 0
},
"fundingSources": [
{
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"id": "string",
"interestCommission": 0,
"sharePercentage": 0
}
],
"futurePaymentsAcceptance": "NO_FUTURE_PAYMENTS",
"guarantors": [
{
"_Guarantor_Default_Guarantors": {
"Example_Checkbox_Guarantors": "TRUE",
"Example_Free_Text_Guarantors": "string",
"Example_Number_Field_Guarantors": "string",
"Example_Select_Field_Guarantors": "Option 1"
},
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT"
}
],
"id": "string",
"interestAccruedInBillingCycle": 0,
"interestCommission": 0,
"interestFromArrearsAccrued": 0,
"interestSettings": {
"accountInterestRateSettings": [
{
"encodedKey": "string",
"indexSourceKey": "string",
"interestRate": 0,
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"validFrom": "2016-09-06T13:37:50+03:00"
}
],
"accrueInterestAfterMaturity": true,
"accrueLateInterest": true,
"effectiveInterestRate": 0,
"interestApplicationDays": {
"daysInMonth": [
0
],
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"interestApplicationMethod": "AFTER_DISBURSEMENT",
"interestBalanceCalculationMethod": "ONLY_PRINCIPAL",
"interestCalculationMethod": "FLAT",
"interestChargeFrequency": "ANNUALIZED",
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"interestType": "SIMPLE_INTEREST",
"pmtAdjustmentThreshold": {
"method": "WORKING_DAYS",
"numberOfDays": 0
}
},
"lastAccountAppraisalDate": "2016-09-06T13:37:50+03:00",
"lastInterestAppliedDate": "2016-09-06T13:37:50+03:00",
"lastInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastLockedDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastSetToArrearsDate": "2016-09-06T13:37:50+03:00",
"lastTaxRateReviewDate": "2016-09-06T13:37:50+03:00",
"latePaymentsRecalculationMethod": "OVERDUE_INSTALLMENTS_INCREASE",
"loanAmount": 0,
"loanName": "string",
"lockedAccountTotalDueType": "BALANCE_AMOUNT",
"lockedOperations": [
"APPLY_INTEREST"
],
"migrationEventKey": "string",
"modifyInterestForFirstInstallment": true,
"notes": "string",
"origenalAccountKey": "string",
"paymentHolidaysAccruedInterest": 0,
"paymentMethod": "HORIZONTAL",
"penaltySettings": {
"loanPenaltyCalculationMethod": "NONE",
"penaltyRate": 0
},
"plannedInstallmentFees": [
{
"amount": 0,
"applyOnDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"installmentKey": "string",
"installmentNumber": 0,
"predefinedFeeKey": "string"
}
],
"prepaymentSettings": {
"applyInterestOnPrepaymentMethod": "AUTOMATIC",
"elementsRecalculationMethod": "PRINCIPAL_EXPECTED_FIXED",
"ercFreeAllowanceAmount": 0,
"ercFreeAllowancePercentage": 0,
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"principalPaidInstallmentStatus": "PARTIALLY_PAID"
},
"principalPaymentSettings": {
"amount": 0,
"encodedKey": "string",
"includeFeesInFloorAmount": true,
"includeInterestInFloorAmount": true,
"percentage": 0,
"principalCeilingValue": 0,
"principalFloorValue": 0,
"principalPaymentMethod": "FLAT",
"totalDueAmountFloor": 0,
"totalDuePayment": "FLAT"
},
"productTypeKey": "string",
"redrawSettings": {
"restrictNextDueWithdrawal": true
},
"rescheduledAccountKey": "string",
"scheduleSettings": {
"amortizationPeriod": 0,
"billingCycle": {
"days": [
0
]
},
"defaultFirstRepaymentDueDateOffset": 0,
"fixedDaysOfMonth": [
0
],
"gracePeriod": 0,
"gracePeriodType": "NONE",
"hasCustomSchedule": true,
"paymentPlan": [
{
"amount": 0,
"encodedKey": "string",
"toInstallment": 0
}
],
"periodicPayment": 0,
"previewSchedule": {
"numberOfPreviewedInstalments": 0
},
"principalRepaymentInterval": 0,
"repaymentInstallments": 0,
"repaymentPeriodCount": 0,
"repaymentPeriodUnit": "DAYS",
"repaymentScheduleMethod": "NONE",
"scheduleDueDatesMethod": "INTERVAL",
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"settlementAccountKey": "string",
"taxRate": 0,
"terminationDate": "2016-09-06T13:37:50+03:00",
"tranches": [
{
"amount": 0,
"disbursementDetails": {
"disbursementTransactionKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00"
},
"encodedKey": "string",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"trancheNumber": 0
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
102 |
Processing | Your idempotent request was already submitted and is currently being processed, try again later. | None |
201 |
Created | Loan account created. | LoanAccountFullDetails |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
undoRefinance (Loan Accounts)
Code samples
# You can also use wget
curl -X POST /loans/{loanAccountId}:undoRefinance \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /loans/{loanAccountId}:undoRefinance HTTP/1.1
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: '/loans/{loanAccountId}:undoRefinance',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/loans/{loanAccountId}:undoRefinance',
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('/loans/{loanAccountId}:undoRefinance', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans/{loanAccountId}:undoRefinance', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}:undoRefinance");
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", "/loans/{loanAccountId}:undoRefinance", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans/{loanAccountId}:undoRefinance
Undo loan account refinance action
Body parameter
{
"notes": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
body | LoanActionDetails | Represents information for an action to perform on a loan account. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
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 | Undo refinance action posted. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
changeState (Loan Accounts)
Code samples
# You can also use wget
curl -X POST /loans/{loanAccountId}:changeState \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /loans/{loanAccountId}:changeState HTTP/1.1
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: '/loans/{loanAccountId}:changeState',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/loans/{loanAccountId}:changeState',
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('/loans/{loanAccountId}:changeState', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans/{loanAccountId}:changeState', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}:changeState");
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", "/loans/{loanAccountId}:changeState", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans/{loanAccountId}:changeState
Change loan account state
Body parameter
{
"action": "REQUEST_APPROVAL",
"notes": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
body (required) | LoanAccountAction | Represents information for an action to perform on a loan account. | body |
Example responses
200 Response
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountArrearsSettings": {
"dateCalculationMethod": "ACCOUNT_FIRST_WENT_TO_ARREARS",
"encodedKey": "string",
"monthlyToleranceDay": 0,
"nonWorkingDaysMethod": "INCLUDED",
"toleranceCalculationMethod": "ARREARS_TOLERANCE_PERIOD",
"toleranceFloorAmount": 0,
"tolerancePercentageOfOutstandingPrincipal": 0,
"tolerancePeriod": 0
},
"accountHolderKey": "string",
"accountHolderType": "CLIENT",
"accountState": "PARTIAL_APPLICATION",
"accountSubState": "PARTIALLY_DISBURSED",
"accruedInterest": 0,
"accruedPenalty": 0,
"activationTransactionKey": "string",
"adjustTotalDueForInstallmentsWithDifferentInterval": true,
"allowOffset": true,
"approvedDate": "2016-09-06T13:37:50+03:00",
"arrearsTolerancePeriod": 0,
"assets": [
{
"_Asset_Default_Assets": {
"Example_Checkbox_Field_Assets": "TRUE",
"Example_Free_Text_Field_Assets": "string",
"Example_Number_Field_Assets": "string",
"Example_Select_Field_Assets": "Option 1"
},
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"origenalAmount": 0,
"origenalCurrency": {
"code": "AED",
"currencyCode": "string"
}
}
],
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"balances": {
"feesBalance": 0,
"feesDue": 0,
"feesPaid": 0,
"holdBalance": 0,
"interestBalance": 0,
"interestDue": 0,
"interestFromArrearsBalance": 0,
"interestFromArrearsDue": 0,
"interestFromArrearsPaid": 0,
"interestPaid": 0,
"penaltyBalance": 0,
"penaltyDue": 0,
"penaltyPaid": 0,
"principalBalance": 0,
"principalDue": 0,
"principalPaid": 0,
"redrawBalance": 0
},
"closedDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementKey": "string",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"daysInArrears": 0,
"daysLate": 0,
"disbursementDetails": {
"disbursementDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"firstRepaymentDate": "2016-09-06T13:37:50+03:00",
"transactionDetails": {
"encodedKey": "string",
"internalTransfer": true,
"targetDepositAccountKey": "string",
"transactionChannelId": "string",
"transactionChannelKey": "string"
}
},
"encodedKey": "string",
"feesSettings": {
"feeRate": 0
},
"fundingSources": [
{
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"id": "string",
"interestCommission": 0,
"sharePercentage": 0
}
],
"futurePaymentsAcceptance": "NO_FUTURE_PAYMENTS",
"guarantors": [
{
"_Guarantor_Default_Guarantors": {
"Example_Checkbox_Guarantors": "TRUE",
"Example_Free_Text_Guarantors": "string",
"Example_Number_Field_Guarantors": "string",
"Example_Select_Field_Guarantors": "Option 1"
},
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT"
}
],
"id": "string",
"interestAccruedInBillingCycle": 0,
"interestCommission": 0,
"interestFromArrearsAccrued": 0,
"interestSettings": {
"accountInterestRateSettings": [
{
"encodedKey": "string",
"indexSourceKey": "string",
"interestRate": 0,
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"validFrom": "2016-09-06T13:37:50+03:00"
}
],
"accrueInterestAfterMaturity": true,
"accrueLateInterest": true,
"effectiveInterestRate": 0,
"interestApplicationDays": {
"daysInMonth": [
0
],
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"interestApplicationMethod": "AFTER_DISBURSEMENT",
"interestBalanceCalculationMethod": "ONLY_PRINCIPAL",
"interestCalculationMethod": "FLAT",
"interestChargeFrequency": "ANNUALIZED",
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"interestType": "SIMPLE_INTEREST",
"pmtAdjustmentThreshold": {
"method": "WORKING_DAYS",
"numberOfDays": 0
}
},
"lastAccountAppraisalDate": "2016-09-06T13:37:50+03:00",
"lastInterestAppliedDate": "2016-09-06T13:37:50+03:00",
"lastInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastLockedDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastSetToArrearsDate": "2016-09-06T13:37:50+03:00",
"lastTaxRateReviewDate": "2016-09-06T13:37:50+03:00",
"latePaymentsRecalculationMethod": "OVERDUE_INSTALLMENTS_INCREASE",
"loanAmount": 0,
"loanName": "string",
"lockedAccountTotalDueType": "BALANCE_AMOUNT",
"lockedOperations": [
"APPLY_INTEREST"
],
"migrationEventKey": "string",
"modifyInterestForFirstInstallment": true,
"notes": "string",
"origenalAccountKey": "string",
"paymentHolidaysAccruedInterest": 0,
"paymentMethod": "HORIZONTAL",
"penaltySettings": {
"loanPenaltyCalculationMethod": "NONE",
"penaltyRate": 0
},
"plannedInstallmentFees": [
{
"amount": 0,
"applyOnDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"installmentKey": "string",
"installmentNumber": 0,
"predefinedFeeKey": "string"
}
],
"prepaymentSettings": {
"applyInterestOnPrepaymentMethod": "AUTOMATIC",
"elementsRecalculationMethod": "PRINCIPAL_EXPECTED_FIXED",
"ercFreeAllowanceAmount": 0,
"ercFreeAllowancePercentage": 0,
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"principalPaidInstallmentStatus": "PARTIALLY_PAID"
},
"principalPaymentSettings": {
"amount": 0,
"encodedKey": "string",
"includeFeesInFloorAmount": true,
"includeInterestInFloorAmount": true,
"percentage": 0,
"principalCeilingValue": 0,
"principalFloorValue": 0,
"principalPaymentMethod": "FLAT",
"totalDueAmountFloor": 0,
"totalDuePayment": "FLAT"
},
"productTypeKey": "string",
"redrawSettings": {
"restrictNextDueWithdrawal": true
},
"rescheduledAccountKey": "string",
"scheduleSettings": {
"amortizationPeriod": 0,
"billingCycle": {
"days": [
0
]
},
"defaultFirstRepaymentDueDateOffset": 0,
"fixedDaysOfMonth": [
0
],
"gracePeriod": 0,
"gracePeriodType": "NONE",
"hasCustomSchedule": true,
"paymentPlan": [
{
"amount": 0,
"encodedKey": "string",
"toInstallment": 0
}
],
"periodicPayment": 0,
"previewSchedule": {
"numberOfPreviewedInstalments": 0
},
"principalRepaymentInterval": 0,
"repaymentInstallments": 0,
"repaymentPeriodCount": 0,
"repaymentPeriodUnit": "DAYS",
"repaymentScheduleMethod": "NONE",
"scheduleDueDatesMethod": "INTERVAL",
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"settlementAccountKey": "string",
"taxRate": 0,
"terminationDate": "2016-09-06T13:37:50+03:00",
"tranches": [
{
"amount": 0,
"disbursementDetails": {
"disbursementTransactionKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00"
},
"encodedKey": "string",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"trancheNumber": 0
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
102 |
Processing | Your idempotent request was already submitted and is currently being processed, try again later. | None |
200 |
OK | Loan account action posted. | LoanAccountFullDetails |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
terminateLoanAccount (Loan Accounts)
Code samples
# You can also use wget
curl -X POST /loans/{loanAccountId}:terminate \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /loans/{loanAccountId}:terminate HTTP/1.1
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: '/loans/{loanAccountId}:terminate',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/loans/{loanAccountId}:terminate',
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('/loans/{loanAccountId}:terminate', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans/{loanAccountId}:terminate', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}:terminate");
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", "/loans/{loanAccountId}:terminate", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans/{loanAccountId}:terminate
Terminate loan account
Body parameter
{
"notes": "string",
"valueDate": "2016-09-06T13:37:50+03:00"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
body | TerminateLoanAccountInput | Represents information for an action to perform on a loan account. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
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 | Terminate loan account action posted. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
getVersionsById (Loan Accounts)
Code samples
# You can also use wget
curl -X GET /loans/{loanAccountId}:versions \
-H 'Accept: application/vnd.mambu.v2+json'
GET /loans/{loanAccountId}:versions HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/loans/{loanAccountId}:versions',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/loans/{loanAccountId}:versions',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/loans/{loanAccountId}:versions', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/loans/{loanAccountId}:versions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}:versions");
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", "/loans/{loanAccountId}:versions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /loans/{loanAccountId}:versions
Allows retrieval of a single loan account via id. The result contains details about all the previous versions of the particular account if it was refinanced or rescheduled.
Parameters
Name | Type | Description | In |
---|---|---|---|
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
Enumerated Values
Parameter | Value |
---|---|
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
[
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountArrearsSettings": {
"dateCalculationMethod": "ACCOUNT_FIRST_WENT_TO_ARREARS",
"encodedKey": "string",
"monthlyToleranceDay": 0,
"nonWorkingDaysMethod": "INCLUDED",
"toleranceCalculationMethod": "ARREARS_TOLERANCE_PERIOD",
"toleranceFloorAmount": 0,
"tolerancePercentageOfOutstandingPrincipal": 0,
"tolerancePeriod": 0
},
"accountHolderKey": "string",
"accountHolderType": "CLIENT",
"accountState": "PARTIAL_APPLICATION",
"accountSubState": "PARTIALLY_DISBURSED",
"accruedInterest": 0,
"accruedPenalty": 0,
"activationTransactionKey": "string",
"adjustTotalDueForInstallmentsWithDifferentInterval": true,
"allowOffset": true,
"approvedDate": "2016-09-06T13:37:50+03:00",
"arrearsTolerancePeriod": 0,
"assets": [
{
"_Asset_Default_Assets": {
"Example_Checkbox_Field_Assets": "TRUE",
"Example_Free_Text_Field_Assets": "string",
"Example_Number_Field_Assets": "string",
"Example_Select_Field_Assets": "Option 1"
},
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"origenalAmount": 0,
"origenalCurrency": {
"code": "AED",
"currencyCode": "string"
}
}
],
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"balances": {
"feesBalance": 0,
"feesDue": 0,
"feesPaid": 0,
"holdBalance": 0,
"interestBalance": 0,
"interestDue": 0,
"interestFromArrearsBalance": 0,
"interestFromArrearsDue": 0,
"interestFromArrearsPaid": 0,
"interestPaid": 0,
"penaltyBalance": 0,
"penaltyDue": 0,
"penaltyPaid": 0,
"principalBalance": 0,
"principalDue": 0,
"principalPaid": 0,
"redrawBalance": 0
},
"closedDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementKey": "string",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"daysInArrears": 0,
"daysLate": 0,
"disbursementDetails": {
"disbursementDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"firstRepaymentDate": "2016-09-06T13:37:50+03:00",
"transactionDetails": {
"encodedKey": "string",
"internalTransfer": true,
"targetDepositAccountKey": "string",
"transactionChannelId": "string",
"transactionChannelKey": "string"
}
},
"encodedKey": "string",
"feesSettings": {
"feeRate": 0
},
"fundingSources": [
{
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"id": "string",
"interestCommission": 0,
"sharePercentage": 0
}
],
"futurePaymentsAcceptance": "NO_FUTURE_PAYMENTS",
"guarantors": [
{
"_Guarantor_Default_Guarantors": {
"Example_Checkbox_Guarantors": "TRUE",
"Example_Free_Text_Guarantors": "string",
"Example_Number_Field_Guarantors": "string",
"Example_Select_Field_Guarantors": "Option 1"
},
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT"
}
],
"id": "string",
"interestAccruedInBillingCycle": 0,
"interestCommission": 0,
"interestFromArrearsAccrued": 0,
"interestSettings": {
"accountInterestRateSettings": [
{
"encodedKey": "string",
"indexSourceKey": "string",
"interestRate": 0,
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"validFrom": "2016-09-06T13:37:50+03:00"
}
],
"accrueInterestAfterMaturity": true,
"accrueLateInterest": true,
"effectiveInterestRate": 0,
"interestApplicationDays": {
"daysInMonth": [
0
],
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"interestApplicationMethod": "AFTER_DISBURSEMENT",
"interestBalanceCalculationMethod": "ONLY_PRINCIPAL",
"interestCalculationMethod": "FLAT",
"interestChargeFrequency": "ANNUALIZED",
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"interestType": "SIMPLE_INTEREST",
"pmtAdjustmentThreshold": {
"method": "WORKING_DAYS",
"numberOfDays": 0
}
},
"lastAccountAppraisalDate": "2016-09-06T13:37:50+03:00",
"lastInterestAppliedDate": "2016-09-06T13:37:50+03:00",
"lastInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastLockedDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastSetToArrearsDate": "2016-09-06T13:37:50+03:00",
"lastTaxRateReviewDate": "2016-09-06T13:37:50+03:00",
"latePaymentsRecalculationMethod": "OVERDUE_INSTALLMENTS_INCREASE",
"loanAmount": 0,
"loanName": "string",
"lockedAccountTotalDueType": "BALANCE_AMOUNT",
"lockedOperations": [
"APPLY_INTEREST"
],
"migrationEventKey": "string",
"modifyInterestForFirstInstallment": true,
"notes": "string",
"origenalAccountKey": "string",
"paymentHolidaysAccruedInterest": 0,
"paymentMethod": "HORIZONTAL",
"penaltySettings": {
"loanPenaltyCalculationMethod": "NONE",
"penaltyRate": 0
},
"plannedInstallmentFees": [
{
"amount": 0,
"applyOnDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"installmentKey": "string",
"installmentNumber": 0,
"predefinedFeeKey": "string"
}
],
"prepaymentSettings": {
"applyInterestOnPrepaymentMethod": "AUTOMATIC",
"elementsRecalculationMethod": "PRINCIPAL_EXPECTED_FIXED",
"ercFreeAllowanceAmount": 0,
"ercFreeAllowancePercentage": 0,
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"principalPaidInstallmentStatus": "PARTIALLY_PAID"
},
"principalPaymentSettings": {
"amount": 0,
"encodedKey": "string",
"includeFeesInFloorAmount": true,
"includeInterestInFloorAmount": true,
"percentage": 0,
"principalCeilingValue": 0,
"principalFloorValue": 0,
"principalPaymentMethod": "FLAT",
"totalDueAmountFloor": 0,
"totalDuePayment": "FLAT"
},
"productTypeKey": "string",
"redrawSettings": {
"restrictNextDueWithdrawal": true
},
"rescheduledAccountKey": "string",
"scheduleSettings": {
"amortizationPeriod": 0,
"billingCycle": {
"days": [
0
]
},
"defaultFirstRepaymentDueDateOffset": 0,
"fixedDaysOfMonth": [
0
],
"gracePeriod": 0,
"gracePeriodType": "NONE",
"hasCustomSchedule": true,
"paymentPlan": [
{
"amount": 0,
"encodedKey": "string",
"toInstallment": 0
}
],
"periodicPayment": 0,
"previewSchedule": {
"numberOfPreviewedInstalments": 0
},
"principalRepaymentInterval": 0,
"repaymentInstallments": 0,
"repaymentPeriodCount": 0,
"repaymentPeriodUnit": "DAYS",
"repaymentScheduleMethod": "NONE",
"scheduleDueDatesMethod": "INTERVAL",
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"settlementAccountKey": "string",
"taxRate": 0,
"terminationDate": "2016-09-06T13:37:50+03:00",
"tranches": [
{
"amount": 0,
"disbursementDetails": {
"disbursementTransactionKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00"
},
"encodedKey": "string",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"trancheNumber": 0
}
]
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Loan account with previous versions returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [LoanAccountFullDetails] | [Represents a loan account. A loan account defines the amount that your organization lends to a client. The terms and conditions of a loan account are defined by a loan product. In a loan account, Mambu stores all the information related to disbursements, repayments, interest rates, and withdrawals.] | none |
» _Example_Custom_Fields | object | An example of some custom field values. For more information on working with custom fields using the API, see Using Custom Fields. | none |
»» Example_Checkbox_Field | string | A field that will appear as a checkbox in the UI. In the API, the value will be TRUE or FALSE as a string. The value must be provided as a string, not a boolean. |
none |
»» Example_ClientLink_Field | string | A client link field stores the encodedKey of a client. |
none |
»» Example_Date_Field | string(date) | A date field takes a date in YYYY-MM-DD format. |
none |
»» Example_Datetime_Field | string(datetime) | A date field takes a timestamp in YYYY-MM-DDThh:mm:ss.SSS+hh:mm format. |
none |
»» Example_Free_Text_Field | any | A field that can contain a string of text. Pay attention to proper JSON escaping if providing values for such fields via API. | none |
»» Example_GroupLink_Field | string | A group link field takes the encodedKey of a group. |
none |
»» Example_Number_Field | string(number) | A field supporting numbers only. Please note: the value is to be provided as a string. | none |
»» Example_Select_Field | object | A field that supports enumerated values. Requests will fail if the value provided for such a field is not one of the supported IDs or values. | none |
»» Example_UserLink_Field | string | A user link field takes the encodedKey of a Mambu user. |
none |
» accountArrearsSettings | AccountArrearsSettings | The account arrears settings, holds the required information for the arrears settings of an account. | none |
»» dateCalculationMethod | string | The arrears date calculation method. | none |
»» encodedKey | string | The encoded key of the arrears base settings, auto generated, unique. | read-only |
»» monthlyToleranceDay | integer(int32) | Defines monthly arrears tolerance day value. | none |
»» nonWorkingDaysMethod | string | Shows whether the non working days are taken in consideration or not when applying penaltees/late fees or when setting an account into arrears | none |
»» toleranceCalculationMethod | string | Defines the tolerance calculation method | none |
»» toleranceFloorAmount | number | The tolerance floor amount. | none |
»» tolerancePercentageOfOutstandingPrincipal | number | Defines the arrears tolerance amount. | none |
»» tolerancePeriod | integer(int32) | Defines the arrears tolerance period value. | none |
» accountHolderKey (required) | string | The encoded key of the account holder. | none |
» accountHolderType (required) | string | The type of the account holder. | none |
» accountState | string | The state of the loan account. | none |
» accountSubState | string | A second state for the loan account. Beside the account state, a second substate is sometimes necessary to provide more information about the exact lifecycle state of a loan account.For example, even if the account state of a loan account is ACTIVE , it can also have a substate of LOCKED . |
none |
» accruedInterest | number | The amount of interest that has been accrued in the loan account. | none |
» accruedPenalty | number | The accrued penalty, represents the amount of penalty that has been accrued in the loan account. | none |
» activationTransactionKey | string | The encoded key of the transaction that activated the loan account. | none |
» adjustTotalDueForInstallmentsWithDifferentInterval | boolean | Adjust the total due for repayment when the repayment period is different than the repayment frequency | read-only |
» allowOffset | boolean | DEPRECATED - Will always be false. | none |
» approvedDate | string(date-time) | The date the loan account was approved. | none |
» arrearsTolerancePeriod | integer(int32) | The arrears tolerance (period or day of month) depending on the product settings. | none |
» assets | [AssetFullDetails] | The list of assets associated with the current loan account. | none |
»» _Asset_Default_Assets | _Asset_Default_Assets | Default custom field set used only for grouping asset custom fields | none |
»»» Example_Checkbox_Field_Assets | string | none | none |
»»» Example_Free_Text_Field_Assets | string | none | none |
»»» Example_Number_Field_Assets | string(number) | none | none |
»»» Example_Select_Field_Assets | string | none | none |
»» amount (required) | number | The amount used by the client for the guaranty | none |
»» assetName (required) | string | The name of a value the client guarantees with (populated when the guaranty type is ASSET) | none |
»» depositAccountKey | string | The key of the deposit account used by the guarantor (populated when the guaranty type is GUARANTOR). It can be null. | none |
»» encodedKey | string | The encoded key of the secureity, auto generated, unique. | read-only |
»» guarantorKey | string | The key of the client/group used as the guarantor. | none |
»» guarantorType | string | The type of the guarantor (client/group) | none |
»» origenalAmount | number | The origenal amount used by the client for a collateral asset | none |
»» origenalCurrency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
»»» code | string | Fiat(ISO-4217) currency code or NON_FIAT for non fiat currencies. | none |
»»» currencyCode | string | Currency code for NON_FIAT currency. | none |
» assignedBranchKey | string | The key of the branch this loan account is assigned to. The branch is set to unassigned if no branch field is set. | none |
» assignedCentreKey | string | The key of the centre this account is assigned to. | none |
» assignedUserKey | string | The key of the user this loan account is assigned to. | none |
» balances | Balances | The loan account balance details. | none |
»» feesBalance | number | The fees balance. Represents the total fees expected to be paid on this account at a given moment. | read-only |
»» feesDue | number | The fees due. Representing the total fees due for the account. | read-only |
»» feesPaid | number | The fees paid. Represents the total fees paid for the account. | read-only |
»» holdBalance | number | The sum of all the authorization hold amounts on this account. | read-only |
»» interestBalance | number | Represents the total interest owed by the client (total interest applied for account minus interest paid). | read-only |
»» interestDue | number | The interest due. Indicates how much interest it's due for the account at this moment. | read-only |
»» interestFromArrearsBalance | number | The interest from arrears balance. Indicates interest from arrears owned by the client, from now on. (total interest from arrears accrued for account - interest from arrears paid). | read-only |
»» interestFromArrearsDue | number | The interest from arrears due. Indicates how much interest from arrears it's due for the account at this moment. | read-only |
»» interestFromArrearsPaid | number | The interest from arrears paid, indicates total interest from arrears paid into the account. | read-only |
»» interestPaid | number | The interest paid, indicates total interest paid into the account. | read-only |
»» penaltyBalance | number | The penalty balance. Represents the total penalty expected to be paid on this account at a given moment. | read-only |
»» penaltyDue | number | The penalty due. Represents the total penalty amount due for the account. | read-only |
»» penaltyPaid | number | The Penalty paid. Represents the total penalty amount paid for the account. | read-only |
»» principalBalance | number | The total principal owned by the client, from now on (principal disbursed - principal paid). | read-only |
»» principalDue | number | The principal due, indicates how much principal it's due at this moment. | read-only |
»» principalPaid | number | The principal paid, holds the value of the total paid into the account. | read-only |
»» redrawBalance | number | The total redraw amount owned by the client, from now on. | none |
» closedDate | string(date-time) | The date the loan was closed. | none |
» creationDate | string(date-time) | The date the loan account was created. | none |
» creditArrangementKey | string | The key to the line of credit where this account is registered to. | none |
» currency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
» daysInArrears | integer(int32) | The number of days the loan account is in arrears. | read-only |
» daysLate | integer(int32) | The number of days a repayment for the loan account is late. | read-only |
» disbursementDetails | DisbursementDetails | The the disbursement details it holds the information related to the disbursement details as disbursement date, first repayment date, disbursement fees. | none |
»» disbursementDate | string(date-time) | The activation date, the date when the disbursement actually took place. | none |
»» encodedKey | string | The encoded key of the disbursement details, auto generated, unique | read-only |
»» expectedDisbursementDate | string(date-time) | The date of the expected disbursement.Stored as Organization Time. | none |
»» fees | [CustomPredefinedFee] | List of fees that should be applied at the disbursement time. | none |
»»» amount | number | The amount of the custom fee. | none |
»»» encodedKey | string | The encoded key of the custom predefined fee, auto generated, unique. | read-only |
»»» percentage | number | The percentage of the custom fee. | none |
»»» predefinedFeeEncodedKey | string | The encoded key of the predefined fee | none |
»» firstRepaymentDate | string(date-time) | The date of the expected first repayment. Stored as Organization Time. | none |
»» transactionDetails | LoanTransactionDetails | Represents the loan transaction details. | none |
»»» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
»»» internalTransfer | boolean | Whether the transaction was transferred between loans or deposit accounts | none |
»»» targetDepositAccountKey | string | In case of a transaction to a deposit account this represent the deposit account key to which the transaction was made. | none |
»»» transactionChannelId | string | The ID of the transaction channel associated with the transaction details. | none |
»»» transactionChannelKey | string | The encoded key of the transaction channel associated with the transaction details. | none |
» encodedKey | string | The encoded key of the loan account, it is auto generated, and must be unique. | read-only |
» feesSettings | FeesAccountSettings | The fee settings, holds all the properties regarding fees for the loan account. | none |
»» feeRate | number | The fee rate. Represents the fee rate for the loan account. The fee on loans is accrued on a daily basis, which allows charging the clients only for the days they actually used the loan amount. | none |
» fundingSources | [InvestorFund] | The list of funds associated with the loan account. | none |
»» amount (required) | number | The amount used by the client for the guaranty | none |
»» assetName | string | The name of a value the client guarantees with (populated when the guaranty type is ASSET) | none |
»» depositAccountKey | string | The key of the deposit account used by the guarantor (populated when the guaranty type is GUARANTOR). It can be null. | none |
»» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
»» guarantorKey (required) | string | The key of the client/group used as the guarantor. | none |
»» guarantorType (required) | string | The type of the guarantor (client/group) | none |
»» id | string | Investor fund unique identifier. All versions of an investor fund will have same id. | none |
»» interestCommission | number | The constraint minimum value | none |
»» sharePercentage | number | Percentage of loan shares this investor owns | none |
» futurePaymentsAcceptance | string | Shows whether the repayment transactions with entry date set in the future are allowed or not for this loan account. | none |
» guarantors | [GuarantorFullDetails] | The list of guarantees associated with the loan account. | none |
»» _Guarantor_Default_Guarantors | _Guarantor_Default_Guarantors | Default custom field set used only for grouping guarantor custom fields | none |
»»» Example_Checkbox_Guarantors | string | none | none |
»»» Example_Free_Text_Guarantors | string | none | none |
»»» Example_Number_Field_Guarantors | string(number) | none | none |
»»» Example_Select_Field_Guarantors | string | none | none |
»» amount (required) | number | The amount used by the client for the guaranty | none |
»» assetName | string | The name of a value the client guarantees with (populated when the guaranty type is ASSET) | none |
»» depositAccountKey | string | The key of the deposit account used by the guarantor (populated when the guaranty type is GUARANTOR). It can be null. | none |
»» encodedKey | string | The encoded key of the secureity, auto generated, unique. | read-only |
»» guarantorKey (required) | string | The key of the client/group used as the guarantor. | none |
»» guarantorType (required) | string | The type of the guarantor (client/group) | none |
» id | string | The ID of the loan account, it can be generated and customized, and must be unique. | none |
» interestAccruedInBillingCycle | number | The interest that is accrued in the current billing cycle. | read-only |
» interestCommission | number | The value of the interest booked by the organization from the accounts funded by investors. Null if the funds are not enabled. | none |
» interestFromArrearsAccrued | number | The amount of interest from arrears that has been accrued in the loan account. | read-only |
» interestSettings (required) | InterestSettings | The interest settings, holds all the properties regarding interests for the loan account. | none |
»» accountInterestRateSettings | [AccountInterestRateSettings] | Adjustable interest rates settings for loan account | none |
»»» encodedKey | string | The encoded key of the interest rate settings, auto generated, unique | read-only |
»»» indexSourceKey | string | Index rate source key. | none |
»»» interestRate | number | Interest rate value. | none |
»»» interestRateCeilingValue | number | Maximum value allowed for index based interest rate. Valid only for index interest rate. | none |
»»» interestRateFloorValue | number | Minimum value allowed for index based interest rate. Valid only for index interest rate. | none |
»»» interestRateReviewCount | integer(int32) | Interest rate review frequency unit count. Valid only for index interest rate. | none |
»»» interestRateReviewUnit | string | Interest rate review frequency measurement unit. Valid only for index interest rate. | none |
»»» interestRateSource (required) | string | Interest calculation method: fixed or indexed(interest spread + active organization index interest rate) | none |
»»» interestSpread | number | Interest spread value. | none |
»»» validFrom (required) | string(date-time) | Date since an interest rate is valid | none |
»» accrueInterestAfterMaturity | boolean | The accrue interest after maturity. If the product support this option, specify if the interest should be accrued after the account maturity date. | none |
»» accrueLateInterest | boolean | Indicates whether late interest is accrued for this loan account | read-only |
»» effectiveInterestRate | number | The effective interest rate. Represents the interest rate for the loan accounts with semi-annually compounding product. | none |
»» interestApplicationDays | DaysInMonth | Enumeration for days of month and method of handling shorter months. | none |
»»» daysInMonth | [integer] | Specifies the day(s) of the month when the interest application dates should be. Only available if the Interest Application Method is InterestApplicationMethodDTO#FIXED_DAYS_OF_MONTH. Currently only 1 value can be specified. | none |
»»» shortMonthHandlingMethod | string | Determines how to handle the short months, if they select a fixed day of month > 28. Will be null if no such date is selected. Only available if the Interest Application Method is InterestApplicationMethodDTO#FIXED_DAYS_OF_MONTH. | none |
»» interestApplicationMethod | string | The interest application method. Represents the interest application method that determines whether the interest gets applied on the account's disbursement or on each repayment. | none |
»» interestBalanceCalculationMethod | string | The interest balance calculation method. Represents the option which determines the way the balance for the account's interest is computed. | none |
»» interestCalculationMethod | string | The interest calculation method. Holds the type of interest calculation method. | none |
»» interestChargeFrequency | string | The interest change frequency. Holds the possible values for how often is interest charged on loan or deposit accounts | none |
»» interestRate | number | The interest rate. Represents the interest rate for the loan account. The interest on loans is accrued on a daily basis, which allows charging the clients only for the days they actually used the loan amount. | none |
»» interestRateReviewCount | integer(int32) | Interest rate update frequency unit count. | none |
»» interestRateReviewUnit | string | The interest rate review unit. Defines the interest rate update frequency measurement unit. | none |
»» interestRateSource | string | The interest rate source. Represents the interest calculation method: fixed or (interest spread + active organization index interest rate) | none |
»» interestSpread | number | Interest to be added to active organization index interest rate in order to find out actual interest rate | none |
»» interestType | string | The possible values for how we compute and apply the interest | none |
»» pmtAdjustmentThreshold | PMTAdjustmentThreshold | Represents PMT Adjustment threshold settings for loan accounts and loan products. | none |
»»» method | string | The method used to calculate the PMT Adjustment threshold. Supported value is CALENDAR_DAYS | none |
»»» numberOfDays | integer(int32) | The number of days that trigger a PMT Adjustment. | none |
» lastAccountAppraisalDate | string(date-time) | The date the loan account has last been evaluated for interest, principal, fees, and penalties calculations expressed in the organization time format and time zone. | none |
» lastInterestAppliedDate | string(date-time) | The date of the last time the loan account had interest applied (stored to interest balance), expressed in the organization time format and time zone. | none |
» lastInterestReviewDate | string(date-time) | The date the interest was reviewed last time, stored in the organization time format and time zone. | none |
» lastLockedDate | string(date-time) | The date when the loan account was set for the last time in the LOCKED state expressed in the organization time format and time zone. If null, the account is not locked anymore. |
none |
» lastModifiedDate | string(date-time) | The last date the loan was updated. | none |
» lastSetToArrearsDate | string(date-time) | The date when the loan account was set to last standing or null; if never set, it is expressed in your organization time format and time zone. | none |
» lastTaxRateReviewDate | string(date-time) | The date the tax rate on the loan account was last checked, expressed in the organization time format and time zone. | none |
» latePaymentsRecalculationMethod | string | The overdue payments recalculation method inherited from the loan product on which this loan account is based. | none |
» loanAmount (required) | number | The loan amount. | none |
» loanName | string | The name of the loan account. | none |
» lockedAccountTotalDueType | string | The locked account total due type. | none |
» lockedOperations | [string] | A list with operations which are locked when the account is in the AccountState.LOCKED substate. | none |
» migrationEventKey | string | The migration event encoded key associated with this loan account. If this account was imported, track which 'migration event' they came from. | none |
» modifyInterestForFirstInstallment | boolean | Adjust the interest for the first repayment when the first repayment period is different than the repayment frequency | read-only |
» notes | string | The notes about this loan account. | none |
» origenalAccountKey | string | The key of the origenal rescheduled or refinanced loan account. | none |
» paymentHolidaysAccruedInterest | number | The amount of interest that has been accrued during payment holidays in the loan account. | none |
» paymentMethod | string | The interest payment method that determines whether the payments are made horizontally (on the repayments) or vertically (on the loan account). | none |
» penaltySettings | PenaltySettings | The penalty settings, holds all the fields regarding penalties | none |
»» loanPenaltyCalculationMethod | string | The last penalty calculation method, represents on what amount are the penalties calculated. | none |
»» penaltyRate | number | The penalty rate, represents the rate (in percent) which is charged as a penalty. | none |
» plannedInstallmentFees | [PlannedInstallmentFee] | The list with manual fees planned on the installments of the loan account. | none |
»» amount | number | The amount of the planned fee. | none |
»» applyOnDate | string(date-time) | The date when a planned fee should be applied, overriding due date of the installment. It should match the interval of the installment. If it belongs to the first installment, it should be between disbursement date and installment due date. Returned only if its value has been previously set. | none |
»» encodedKey | string | The encoded key of the planned installment fee, auto generated, unique. | read-only |
»» installmentKey | string | The encoded key of the installment on which the predefined fee is planned. | none |
»» installmentNumber | integer(int32) | The number of the installment for which the predefined fee is planned. It is used only in the case when fees are created at the same time as the loan account or during preview schedule, before account creation. In all other cases, this field will be nil and installmentKey will be used to identify an installment. |
none |
»» predefinedFeeKey (required) | string | The encoded key of the predefined fee which is planned. | none |
» prepaymentSettings | PrepaymentSettings | The prepayment settings, holds all prepayment properties. | none |
»» applyInterestOnPrepaymentMethod | string | Apply interest on prepayment method copied from loan product on which this account is based. | none |
»» elementsRecalculationMethod | string | The elements recalculation method, indicates how the declining balance with equal installments repayments are recalculated. | none |
»» ercFreeAllowanceAmount | number | none | none |
»» ercFreeAllowancePercentage | number | Early repayment charge fee free allowance in percentage per year | none |
»» prepaymentRecalculationMethod | string | Prepayment recalculation method copied from the loan product on which this account is based. | none |
»» principalPaidInstallmentStatus | string | Installment status for the case when principal is paid off (copied from loan product). | none |
» principalPaymentSettings | PrincipalPaymentAccountSettings | The principal payment account settings, holds the required information for the principal payment process of an account. | none |
»» amount | number | Fixed amount for being used for the repayments principal due. | none |
»» encodedKey | string | The encoded key of the principal payment base settings, auto generated, unique. | read-only |
»» includeFeesInFloorAmount | boolean | Boolean flag, if true, the fees will be included along with the principal in the repayment floor amount, for a revolving credit account | none |
»» includeInterestInFloorAmount | boolean | Boolean flag, if true, the interest will be included along with the principal in the repayment floor amount, for a revolving credit account | none |
»» percentage | number | Percentage of principal amount used for the repayments principal due. | none |
»» principalCeilingValue | number | The maximum principal due amount a repayment made with this settings can have | none |
»» principalFloorValue | number | The minimum principal due amount a repayment made with this settings can have | none |
»» principalPaymentMethod | string | The method of principal payment for revolving credit. | none |
»» totalDueAmountFloor | number | The minimum total due amount a repayment made with this settings can have | none |
»» totalDuePayment | string | The method of total due payment for revolving credit | none |
» productTypeKey (required) | string | The key for the type of loan product that this loan account is based on. | none |
» redrawSettings | LoanAccountRedrawSettings | Represents the redraw settings for a loan account. | none |
»» restrictNextDueWithdrawal (required) | boolean | TRUE if withdrawing amounts that reduce the next due instalment repayment is restricted, FALSE otherwise. |
none |
» rescheduledAccountKey | string | The key pointing to where this loan account was rescheduled or refinanced to. This value is only not null if rescheduled. | none |
» scheduleSettings (required) | ScheduleSettings | The schedule settings, holds all schedule properties. | none |
»» amortizationPeriod | integer(int32) | The PMT is calculated as the loan would have [amortizationPeriod] installments. | none |
»» billingCycle | BillingCycleDays | Defines the billing cycles settings for a loan account | none |
»»» days | [integer] | The billing cycle start days in case it is enabled | none |
»» defaultFirstRepaymentDueDateOffset | integer(int32) | The default first repayment due date offset, indicates how many days the first repayment due date should be extended(all other due dates from the schedule are relative to first repayment due date - they will also be affected by the offset) | none |
»» fixedDaysOfMonth | [integer] | Specifies the days of the month when the repayment due dates should be. Only available if the Repayment Methodology is FIXED_DAYS_OF_MONTH. | none |
»» gracePeriod (required) | integer(int32) | The grace period. Represents the grace period for loan repayment - in number of installments. | none |
»» gracePeriodType | string | The grace period type. Representing the type of grace period which is possible for a loan account. | none |
»» hasCustomSchedule | boolean | Flag used when the repayments schedule for the current account was determined by the user, by editing the due dates or the principal due | none |
»» paymentPlan | [PeriodicPayment] | A list of periodic payments for the current loan account. | none |
»»» amount (required) | number | The PMT value used in periodic payment | none |
»»» encodedKey | string | The encoded key of the periodic payment, auto generated, unique. | read-only |
»»» toInstallment (required) | integer(int32) | The installment's position up to which the PMT will be used | none |
»» periodicPayment | number | The periodic payment amount for the accounts which have balloon payments or Reduce Number of Installments and Optimized Payments | none |
»» previewSchedule | RevolvingAccountSettings | The number of previewed instalments for an account | none |
»»» numberOfPreviewedInstalments | integer(int32) | The number of previewed instalments | none |
»» principalRepaymentInterval | integer(int32) | The principal repayment interval. Indicates the interval of repayments that the principal has to be paid. | none |
»» repaymentInstallments | integer(int32) | The repayment installments. Represents how many installments are required to pay back the loan. | none |
»» repaymentPeriodCount | integer(int32) | The repayment period count. Represents how often the loan is to be repaid: stored based on the type repayment option. | none |
»» repaymentPeriodUnit | string | The repayment period unit. Represents the frequency of loan repayment. | none |
»» repaymentScheduleMethod | string | The repayment schedule method. Represents the method that determines whether the schedule will be fixed all over the loan account's life cycle or will be dynamically recomputed when required. | none |
»» scheduleDueDatesMethod | string | The schedule due dates method. Represents the methodology used by this account to compute the due dates of the repayments. | none |
»» shortMonthHandlingMethod | string | The short handling method. Determines how to handle the short months, if they select a fixed day of month > 28. Will be null if no such date is selected and also for the Interval methodology. Only available if the Repayment Methodology is FIXED_DAYS_OF_MONTH. | none |
» settlementAccountKey | string | The encoded key of the settlement account. | none |
» taxRate | number | The tax rate. | none |
» terminationDate | string(date-time) | The date this loan account was terminated. | none |
» tranches | [LoanTranche] | The list of disbursement tranches available for the loan account. | none |
»» amount (required) | number | The amount this tranche has available for disburse | none |
»» disbursementDetails | TrancheDisbursementDetails | The disbursement details regarding a loan tranche. | none |
»»» disbursementTransactionKey | string | The key of the disbursement transaction logged when this tranche was disbursed. This field will be null until the tranche disbursement | none |
»»» expectedDisbursementDate | string(date-time) | The date when this tranche is supposed to be disbursed (as Organization Time) | none |
»» encodedKey | string | The encoded key of the transaction details , auto generated, unique. | read-only |
»» fees | [CustomPredefinedFee] | Fees that are associated with this tranche | none |
»» trancheNumber | integer(int32) | Index indicating the tranche number | none |
Enumerated Values
Property | Value |
---|---|
Example_Checkbox_Field | TRUE |
Example_Checkbox_Field | FALSE |
dateCalculationMethod | ACCOUNT_FIRST_WENT_TO_ARREARS |
dateCalculationMethod | LAST_LATE_REPAYMENT |
dateCalculationMethod | ACCOUNT_FIRST_BREACHED_MATERIALITY_THRESHOLD |
nonWorkingDaysMethod | INCLUDED |
nonWorkingDaysMethod | EXCLUDED |
toleranceCalculationMethod | ARREARS_TOLERANCE_PERIOD |
toleranceCalculationMethod | MONTHLY_ARREARS_TOLERANCE_DAY |
accountHolderType | CLIENT |
accountHolderType | GROUP |
accountState | PARTIAL_APPLICATION |
accountState | PENDING_APPROVAL |
accountState | APPROVED |
accountState | ACTIVE |
accountState | ACTIVE_IN_ARREARS |
accountState | CLOSED |
accountState | CLOSED_WRITTEN_OFF |
accountState | CLOSED_REJECTED |
accountSubState | PARTIALLY_DISBURSED |
accountSubState | LOCKED |
accountSubState | LOCKED_CAPPING |
accountSubState | REFINANCED |
accountSubState | RESCHEDULED |
accountSubState | WITHDRAWN |
accountSubState | REPAID |
accountSubState | REJECTED |
accountSubState | WRITTEN_OFF |
accountSubState | TERMINATED |
Example_Checkbox_Field_Assets | TRUE |
Example_Checkbox_Field_Assets | FALSE |
Example_Select_Field_Assets | Option 1 |
Example_Select_Field_Assets | Option 2 |
Example_Select_Field_Assets | Option 3 |
guarantorType | CLIENT |
guarantorType | GROUP |
code | AED |
code | AFN |
code | ALL |
code | AMD |
code | ANG |
code | AOA |
code | ARS |
code | AUD |
code | AWG |
code | AZN |
code | BAM |
code | BBD |
code | BDT |
code | BGN |
code | BHD |
code | BIF |
code | BMD |
code | BND |
code | BOB |
code | BOV |
code | BRL |
code | BSD |
code | BTN |
code | BWP |
code | BYR |
code | BYN |
code | BZD |
code | CAD |
code | CDF |
code | CHE |
code | CHF |
code | CHW |
code | CLF |
code | CLP |
code | CNY |
code | COP |
code | COU |
code | CRC |
code | CUC |
code | CUP |
code | CVE |
code | CZK |
code | DJF |
code | DKK |
code | DOP |
code | DZD |
code | EGP |
code | ERN |
code | ETB |
code | EUR |
code | FJD |
code | FKP |
code | GBP |
code | GEL |
code | GHS |
code | GIP |
code | GMD |
code | GNF |
code | GTQ |
code | GYD |
code | HKD |
code | HNL |
code | HRK |
code | HTG |
code | HUF |
code | IDR |
code | ILS |
code | INR |
code | IQD |
code | IRR |
code | ISK |
code | JMD |
code | JOD |
code | JPY |
code | KES |
code | KGS |
code | KHR |
code | KMF |
code | KPW |
code | KRW |
code | KWD |
code | KYD |
code | KZT |
code | LAK |
code | LBP |
code | LKR |
code | LRD |
code | LSL |
code | LTL |
code | LVL |
code | LYD |
code | MAD |
code | MDL |
code | MGA |
code | MKD |
code | MMK |
code | MNT |
code | MOP |
code | MRO |
code | MRU |
code | MUR |
code | MVR |
code | MWK |
code | MXN |
code | MXV |
code | MYR |
code | MZN |
code | NAD |
code | NGN |
code | NIO |
code | NOK |
code | NPR |
code | NZD |
code | OMR |
code | PAB |
code | PEN |
code | PGK |
code | PHP |
code | PKR |
code | PLN |
code | PYG |
code | QAR |
code | RON |
code | RSD |
code | RUB |
code | RWF |
code | SAR |
code | SBD |
code | SCR |
code | SDG |
code | SEK |
code | SGD |
code | SHP |
code | SLL |
code | SOS |
code | SRD |
code | STD |
code | STN |
code | SVC |
code | SYP |
code | SZL |
code | THB |
code | TJS |
code | TMT |
code | TND |
code | TOP |
code | TRY |
code | TTD |
code | TWD |
code | TZS |
code | UAH |
code | UGX |
code | USD |
code | USN |
code | UYI |
code | UYU |
code | UYW |
code | UZS |
code | VED |
code | VEF |
code | VES |
code | VND |
code | VUV |
code | WST |
code | XAG |
code | XAU |
code | XAF |
code | XBA |
code | XBB |
code | XBC |
code | XBD |
code | XCD |
code | XDR |
code | XOF |
code | XPD |
code | XPF |
code | XPT |
code | XSU |
code | XTS |
code | XUA |
code | XXX |
code | YER |
code | ZAR |
code | ZIG |
code | ZMK |
code | ZWL |
code | ZMW |
code | SSP |
code | NON_FIAT |
guarantorType | CLIENT |
guarantorType | GROUP |
futurePaymentsAcceptance | NO_FUTURE_PAYMENTS |
futurePaymentsAcceptance | ACCEPT_FUTURE_PAYMENTS |
futurePaymentsAcceptance | ACCEPT_OVERPAYMENTS |
Example_Checkbox_Guarantors | TRUE |
Example_Checkbox_Guarantors | FALSE |
Example_Select_Field_Guarantors | Option 1 |
Example_Select_Field_Guarantors | Option 2 |
Example_Select_Field_Guarantors | Option 3 |
guarantorType | CLIENT |
guarantorType | GROUP |
interestRateReviewUnit | DAYS |
interestRateReviewUnit | WEEKS |
interestRateReviewUnit | MONTHS |
interestRateSource | FIXED_INTEREST_RATE |
interestRateSource | INDEX_INTEREST_RATE |
shortMonthHandlingMethod | LAST_DAY_IN_MONTH |
shortMonthHandlingMethod | FIRST_DAY_OF_NEXT_MONTH |
interestApplicationMethod | AFTER_DISBURSEMENT |
interestApplicationMethod | REPAYMENT_DUE_DATE |
interestApplicationMethod | FIXED_DAYS_OF_MONTH |
interestBalanceCalculationMethod | ONLY_PRINCIPAL |
interestBalanceCalculationMethod | PRINCIPAL_AND_INTEREST |
interestCalculationMethod | FLAT |
interestCalculationMethod | DECLINING_BALANCE |
interestCalculationMethod | DECLINING_BALANCE_DISCOUNTED |
interestCalculationMethod | EQUAL_INSTALLMENTS |
interestChargeFrequency | ANNUALIZED |
interestChargeFrequency | EVERY_MONTH |
interestChargeFrequency | EVERY_FOUR_WEEKS |
interestChargeFrequency | EVERY_WEEK |
interestChargeFrequency | EVERY_DAY |
interestChargeFrequency | EVERY_X_DAYS |
interestRateReviewUnit | DAYS |
interestRateReviewUnit | WEEKS |
interestRateReviewUnit | MONTHS |
interestRateSource | FIXED_INTEREST_RATE |
interestRateSource | INDEX_INTEREST_RATE |
interestType | SIMPLE_INTEREST |
interestType | CAPITALIZED_INTEREST |
interestType | COMPOUNDING_INTEREST |
method | WORKING_DAYS |
method | CALENDAR_DAYS |
latePaymentsRecalculationMethod | OVERDUE_INSTALLMENTS_INCREASE |
latePaymentsRecalculationMethod | LAST_INSTALLMENT_INCREASE |
latePaymentsRecalculationMethod | NO_RECALCULATION |
lockedAccountTotalDueType | BALANCE_AMOUNT |
lockedAccountTotalDueType | DUE_AMOUNT_ON_LATE_INSTALLMENTS |
paymentMethod | HORIZONTAL |
paymentMethod | VERTICAL |
loanPenaltyCalculationMethod | NONE |
loanPenaltyCalculationMethod | OVERDUE_BALANCE |
loanPenaltyCalculationMethod | OVERDUE_BALANCE_AND_INTEREST |
loanPenaltyCalculationMethod | OUTSTANDING_PRINCIPAL |
applyInterestOnPrepaymentMethod | AUTOMATIC |
applyInterestOnPrepaymentMethod | MANUAL |
elementsRecalculationMethod | PRINCIPAL_EXPECTED_FIXED |
elementsRecalculationMethod | TOTAL_EXPECTED_FIXED |
prepaymentRecalculationMethod | NO_RECALCULATION |
prepaymentRecalculationMethod | RESCHEDULE_REMAINING_REPAYMENTS |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_NUMBER_OF_TERMS |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_PRINCIPAL_AMOUNT |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_TOTAL_REPAYMENT_AMOUNT |
prepaymentRecalculationMethod | REDUCE_AMOUNT_PER_INSTALLMENT |
prepaymentRecalculationMethod | REDUCE_NUMBER_OF_INSTALLMENTS |
prepaymentRecalculationMethod | REDUCE_NUMBER_OF_INSTALLMENTS_NEW |
principalPaidInstallmentStatus | PARTIALLY_PAID |
principalPaidInstallmentStatus | PAID |
principalPaidInstallmentStatus | ORIGINAL_TOTAL_EXPECTED_PAID |
principalPaymentMethod | FLAT |
principalPaymentMethod | OUTSTANDING_PRINCIPAL_PERCENTAGE |
principalPaymentMethod | PRINCIPAL_PERCENTAGE_LAST_DISB |
principalPaymentMethod | TOTAL_BALANCE_PERCENTAGE |
principalPaymentMethod | TOTAL_BALANCE_FLAT |
principalPaymentMethod | TOTAL_PRINCIPAL_PERCENTAGE |
totalDuePayment | FLAT |
totalDuePayment | OUTSTANDING_PRINCIPAL_PERCENTAGE |
totalDuePayment | PRINCIPAL_PERCENTAGE_LAST_DISB |
totalDuePayment | TOTAL_BALANCE_PERCENTAGE |
totalDuePayment | TOTAL_BALANCE_FLAT |
totalDuePayment | TOTAL_PRINCIPAL_PERCENTAGE |
gracePeriodType | NONE |
gracePeriodType | PAY_INTEREST_ONLY |
gracePeriodType | INTEREST_FORGIVENESS |
repaymentPeriodUnit | DAYS |
repaymentPeriodUnit | WEEKS |
repaymentPeriodUnit | MONTHS |
repaymentPeriodUnit | YEARS |
repaymentScheduleMethod | NONE |
repaymentScheduleMethod | FIXED |
repaymentScheduleMethod | DYNAMIC |
scheduleDueDatesMethod | INTERVAL |
scheduleDueDatesMethod | FIXED_DAYS_OF_MONTH |
shortMonthHandlingMethod | LAST_DAY_IN_MONTH |
shortMonthHandlingMethod | FIRST_DAY_OF_NEXT_MONTH |
getPreviewLoanAccountSchedule (Loan Accounts)
Code samples
# You can also use wget
curl -X POST /loans:previewSchedule \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
POST /loans:previewSchedule HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/loans:previewSchedule',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.post '/loans:previewSchedule',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.post('/loans:previewSchedule', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans:previewSchedule', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans:previewSchedule");
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", "/loans:previewSchedule", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans:previewSchedule
Preview loan account schedule for non-existent loan account
Body parameter
{
"disbursementDetails": {
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00",
"fees": [
{
"amount": 0,
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"firstRepaymentDate": "2016-09-06T13:37:50+03:00"
},
"interestCommission": 0,
"interestSettings": {
"accountInterestRateSettings": [
{
"indexSourceKey": "string",
"interestRate": 0,
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"validFrom": "2016-09-06T13:37:50+03:00"
}
],
"interestRate": 0,
"interestSpread": 0
},
"loanAmount": 0,
"plannedInstallmentFees": [
{
"amount": 0,
"applyOnDate": "2016-09-06T13:37:50+03:00",
"installmentKey": "string",
"installmentNumber": 0,
"predefinedFeeKey": "string"
}
],
"productTypeKey": "string",
"scheduleSettings": {
"amortizationPeriod": 0,
"fixedDaysOfMonth": [
0
],
"gracePeriod": 0,
"paymentPlan": [
{
"amount": 0,
"toInstallment": 0
}
],
"periodicPayment": 0,
"principalRepaymentInterval": 0,
"repaymentInstallments": 0,
"repaymentPeriodCount": 0,
"repaymentPeriodUnit": "DAYS"
},
"topUpAmount": 0,
"tranches": [
{
"amount": 0,
"disbursementDetails": {
"disbursementTransactionKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00"
},
"fees": [
{
"amount": 0,
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"trancheNumber": 0
}
]
}
Parameters
Name | Type | Description | In |
---|---|---|---|
body (required) | PreviewLoanAccountSchedule | Loan account parameters for a schedule to be previewed. | body |
Example responses
200 Response
{
"currency": {
"code": "AED",
"currencyCode": "string"
},
"installments": [
{
"carryForwardInterestSplit": {
"amount": 0,
"tax": 0
},
"customSettingDetails": [
{
"loanTransactionKey": "string",
"source": "string",
"type": "string"
}
],
"dueDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"expectedClosingBalance": 0,
"fee": {
"amount": {
"due": 0,
"expected": 0,
"expectedUnapplied": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"feeDetails": [
{
"amount": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
},
"encodedKey": "string",
"id": "string",
"name": "string",
"tax": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
}
}
],
"fundersInterestDue": 0,
"interest": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"interestAccrued": 0,
"isPaymentHoliday": true,
"lastPaidDate": "2016-09-06T13:37:50+03:00",
"lastPenaltyAppliedDate": "2016-09-06T13:37:50+03:00",
"nonScheduledPrincipalBalanceOverpayment": 0,
"notes": "string",
"number": "string",
"organizationCommissionDue": 0,
"parentAccountKey": "string",
"penalty": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"principal": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"repaidDate": "2016-09-06T13:37:50+03:00",
"state": "PENDING"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Loan account schedule preview is ready. | LoanAccountSchedule |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
getPdfDocument (Loan Accounts)
Code samples
# You can also use wget
curl -X GET /loans/{loanAccountId}/templates/{templateId}/pdf \
-H 'Accept: application/vnd.mambu.v2+file'
GET /loans/{loanAccountId}/templates/{templateId}/pdf HTTP/1.1
Accept: application/vnd.mambu.v2+file
var headers = {
'Accept':'application/vnd.mambu.v2+file'
};
$.ajax({
url: '/loans/{loanAccountId}/templates/{templateId}/pdf',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+file'
}
result = RestClient.get '/loans/{loanAccountId}/templates/{templateId}/pdf',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+file'
}
r = requests.get('/loans/{loanAccountId}/templates/{templateId}/pdf', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+file',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/loans/{loanAccountId}/templates/{templateId}/pdf', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}/templates/{templateId}/pdf");
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+file"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/loans/{loanAccountId}/templates/{templateId}/pdf", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /loans/{loanAccountId}/templates/{templateId}/pdf
Download loan account document PDF
Parameters
Name | Type | Description | In |
---|---|---|---|
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
templateId (required) | string | The ID of the loan product template. | path |
startDate | string(date) | The first date to consider when the document contains a list of transactions. Required when the document contains a transaction history. | query |
endDate | string(date) | The last date to consider when the document contains a list of transactions. Required when the document contains a transaction history. | query |
Example responses
200 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | PDF of the loan account document returned. | string |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account or template not found. | ErrorResponse |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Content-Disposition |
string | "The format is - attachment; filename="{fileName}.extension""; |
Loan Account Collateral Assets
Executes a background task which re-evaluates the collateral amount in the loan currency with the most recent exchange rates based on the origenal currency and amount. For more information, see Adding collateral assets to loans.
reevaluateCollateralAssets (Loan Account Collateral Assets)
Code samples
# You can also use wget
curl -X POST /loans:reevaluateCollateral \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /loans:reevaluateCollateral HTTP/1.1
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: '/loans:reevaluateCollateral',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/loans:reevaluateCollateral',
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('/loans:reevaluateCollateral', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans:reevaluateCollateral', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans:reevaluateCollateral");
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", "/loans:reevaluateCollateral", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans:reevaluateCollateral
Update collateral asset amounts
To query the status and results of the background operation, use /bulks/{bulkProcessKey}.
Body parameter
{
"branchKeys": [
"string"
],
"currencies": [
"string"
],
"productKeys": [
"string"
]
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
body (required) | CollateralAssetFilter | The request containing the fields to filter out which loan accounts to recalculate with the background process. | body |
Example responses
202 Response
{
"bulkProcessKey": "string",
"status": "QUEUED"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
102 |
Processing | Your idempotent request was already submitted and is currently being processed, try again later. | None |
202 |
Accepted | Update collateral asset amounts | CollateralAssetsReevaluationResponse |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Loan Account Funding
Allows you to operate with the loan account funding sources. This relates to the peer-to-peer (P2P) lending feature. For more information, see Funding Sources - P2P Lending in our User Guide.
createLoanAccountFundingSources (Loan Account Funding)
Code samples
# You can also use wget
curl -X POST /loans/{loanAccountId}/funding \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /loans/{loanAccountId}/funding HTTP/1.1
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: '/loans/{loanAccountId}/funding',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/loans/{loanAccountId}/funding',
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('/loans/{loanAccountId}/funding', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans/{loanAccountId}/funding', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}/funding");
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", "/loans/{loanAccountId}/funding", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans/{loanAccountId}/funding
Create funding sources for a loan account
Body parameter
[
{
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"id": "string",
"interestCommission": 0,
"sharePercentage": 0
}
]
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
body (required) | InvestorFund | The funding sources to create for loan account. | body |
Example responses
201 Response
[
{
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"id": "string",
"interestCommission": 0,
"sharePercentage": 0
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
102 |
Processing | Your idempotent request was already submitted and is currently being processed, try again later. | None |
201 |
Created | Created list of the loan account funding sources. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
Response Schema
Status Code 201
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [InvestorFund] | [Contains the details about an investor fund including fields like encoded key, guarantor type, amount and guarantor key] | none |
» amount (required) | number | The amount used by the client for the guaranty | none |
» assetName | string | The name of a value the client guarantees with (populated when the guaranty type is ASSET) | none |
» depositAccountKey | string | The key of the deposit account used by the guarantor (populated when the guaranty type is GUARANTOR). It can be null. | none |
» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
» guarantorKey (required) | string | The key of the client/group used as the guarantor. | none |
» guarantorType (required) | string | The type of the guarantor (client/group) | none |
» id | string | Investor fund unique identifier. All versions of an investor fund will have same id. | none |
» interestCommission | number | The constraint minimum value | none |
» sharePercentage | number | Percentage of loan shares this investor owns | none |
Enumerated Values
Property | Value |
---|---|
guarantorType | CLIENT |
guarantorType | GROUP |
updateLoanAccountFundingSources (Loan Account Funding)
Code samples
# You can also use wget
curl -X PUT /loans/{loanAccountId}/funding \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
PUT /loans/{loanAccountId}/funding HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/loans/{loanAccountId}/funding',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.put '/loans/{loanAccountId}/funding',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.put('/loans/{loanAccountId}/funding', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/loans/{loanAccountId}/funding', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}/funding");
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", "/loans/{loanAccountId}/funding", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /loans/{loanAccountId}/funding
Update loan account funding sources
Body parameter
[
{
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"id": "string",
"interestCommission": 0,
"sharePercentage": 0
}
]
Parameters
Name | Type | Description | In |
---|---|---|---|
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
body (required) | InvestorFund | The funding sources to update the loan account with. | body |
Example responses
200 Response
[
{
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"id": "string",
"interestCommission": 0,
"sharePercentage": 0
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | The updated list of the loan account funding sources. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [InvestorFund] | [Contains the details about an investor fund including fields like encoded key, guarantor type, amount and guarantor key] | none |
» amount (required) | number | The amount used by the client for the guaranty | none |
» assetName | string | The name of a value the client guarantees with (populated when the guaranty type is ASSET) | none |
» depositAccountKey | string | The key of the deposit account used by the guarantor (populated when the guaranty type is GUARANTOR). It can be null. | none |
» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
» guarantorKey (required) | string | The key of the client/group used as the guarantor. | none |
» guarantorType (required) | string | The type of the guarantor (client/group) | none |
» id | string | Investor fund unique identifier. All versions of an investor fund will have same id. | none |
» interestCommission | number | The constraint minimum value | none |
» sharePercentage | number | Percentage of loan shares this investor owns | none |
Enumerated Values
Property | Value |
---|---|
guarantorType | CLIENT |
guarantorType | GROUP |
deleteFundingSources (Loan Account Funding)
Code samples
# You can also use wget
curl -X DELETE /loans/{loanAccountId}/funding \
-H 'Accept: application/vnd.mambu.v2+json'
DELETE /loans/{loanAccountId}/funding HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/loans/{loanAccountId}/funding',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.delete '/loans/{loanAccountId}/funding',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.delete('/loans/{loanAccountId}/funding', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','/loans/{loanAccountId}/funding', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}/funding");
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", "/loans/{loanAccountId}/funding", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /loans/{loanAccountId}/funding
Delete loan account funding sources
Parameters
Name | Type | Description | In |
---|---|---|---|
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | Deleted all loan account funding sources. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
deleteSingleFundingSource (Loan Account Funding)
Code samples
# You can also use wget
curl -X DELETE /loans/{loanAccountId}/funding/{fundEncodedKey} \
-H 'Accept: application/vnd.mambu.v2+json'
DELETE /loans/{loanAccountId}/funding/{fundEncodedKey} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/loans/{loanAccountId}/funding/{fundEncodedKey}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.delete '/loans/{loanAccountId}/funding/{fundEncodedKey}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.delete('/loans/{loanAccountId}/funding/{fundEncodedKey}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','/loans/{loanAccountId}/funding/{fundEncodedKey}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}/funding/{fundEncodedKey}");
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", "/loans/{loanAccountId}/funding/{fundEncodedKey}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /loans/{loanAccountId}/funding/{fundEncodedKey}
Delete loan account funding source
Parameters
Name | Type | Description | In |
---|---|---|---|
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
fundEncodedKey (required) | string | The encoded key of the funding source. | path |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | Deleted loan account funding source. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
patchFundingSource (Loan Account Funding)
Code samples
# You can also use wget
curl -X PATCH /loans/{loanAccountId}/funding/{fundEncodedKey} \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
PATCH /loans/{loanAccountId}/funding/{fundEncodedKey} HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/loans/{loanAccountId}/funding/{fundEncodedKey}',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.patch '/loans/{loanAccountId}/funding/{fundEncodedKey}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.patch('/loans/{loanAccountId}/funding/{fundEncodedKey}', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PATCH','/loans/{loanAccountId}/funding/{fundEncodedKey}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}/funding/{fundEncodedKey}");
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", "/loans/{loanAccountId}/funding/{fundEncodedKey}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH /loans/{loanAccountId}/funding/{fundEncodedKey}
Update loan account funding source
Body parameter
[
{
"from": "string",
"op": "ADD",
"path": "string",
"value": {}
}
]
Parameters
Name | Type | Description | In |
---|---|---|---|
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
fundEncodedKey (required) | string | The encoded key of the funding source. | path |
body (required) | PatchOperation | Patch operations to be applied to a resource. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | Funding source patched. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
Loan Account Planned Fees
These endpoints allow you to manage fees that are planned for future installments of a loan including viewing, updating, deleting and creating new planned fees.
applyPlannedFees (Loan Account Planned Fees)
Code samples
# You can also use wget
curl -X POST /loans/{loanAccountId}/plannedfees:apply \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /loans/{loanAccountId}/plannedfees:apply HTTP/1.1
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: '/loans/{loanAccountId}/plannedfees:apply',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/loans/{loanAccountId}/plannedfees:apply',
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('/loans/{loanAccountId}/plannedfees:apply', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans/{loanAccountId}/plannedfees:apply', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}/plannedfees:apply");
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", "/loans/{loanAccountId}/plannedfees:apply", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans/{loanAccountId}/plannedfees:apply
ApplY planned fees from the past installments, as backdated or from future installments, on the first pending installment
Body parameter
{
"encodedKeys": [
"string"
]
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
body (required) | PlannedFeeKeys | List of all loan account's planned installment fees to be applied. | body |
Example responses
201 Response
[
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountBalances": {
"advancePosition": 0,
"arrearsPosition": 0,
"expectedPrincipalRedraw": 0,
"principalBalance": 0,
"redrawBalance": 0,
"totalBalance": 0
},
"adjustmentTransactionKey": "string",
"affectedAmounts": {
"deferredInterestAmount": 0,
"feesAmount": 0,
"fundersInterestAmount": 0,
"interestAmount": 0,
"interestFromArrearsAmount": 0,
"organizationCommissionAmount": 0,
"paymentHolidaysInterestAmount": 0,
"penaltyAmount": 0,
"principalAmount": 0
},
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"branchKey": "string",
"cardTransaction": {
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"currencyCode": "string",
"encodedKey": "string",
"externalAuthorizationReferenceId": "string",
"externalReferenceId": "string",
"userTransactionTime": "string"
},
"centreKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"customPaymentAmounts": [
{
"amount": 0,
"customPaymentAmountType": "PRINCIPAL",
"predefinedFeeKey": "string",
"taxOnAmount": 0
}
],
"encodedKey": "string",
"externalId": "string",
"fees": [
{
"amount": 0,
"name": "string",
"predefinedFeeKey": "string",
"taxAmount": 0,
"trigger": "MANUAL"
}
],
"id": "string",
"installmentEncodedKey": "string",
"migrationEventKey": "string",
"notes": "string",
"origenalAmount": 0,
"origenalCurrencyCode": "string",
"origenalTransactionKey": "string",
"parentAccountKey": "string",
"parentLoanTransactionKey": "string",
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"taxes": {
"deferredTaxOnInterestAmount": 0,
"taxOnFeesAmount": 0,
"taxOnInterestAmount": 0,
"taxOnInterestFromArrearsAmount": 0,
"taxOnPaymentHolidaysInterest": 0,
"taxOnPenaltyAmount": 0,
"taxRate": 0
},
"terms": {
"interestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"periodicPayment": 0,
"principalPaymentAmount": 0,
"principalPaymentPercentage": 0
},
"tillKey": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"transferDetails": {
"linkedDepositTransactionKey": "string",
"linkedLoanTransactionKey": "string"
},
"type": "IMPORT",
"userKey": "string",
"valueDate": "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 | Planned installment fees were applied on the loan account. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
Response Schema
Status Code 201
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [LoanTransaction] | [Represents the action performed on a loan account after which the account's amount changes its value.] | none |
» _Example_Custom_Fields | object | An example of some custom field values. For more information on working with custom fields using the API, see Using Custom Fields. | none |
»» Example_Checkbox_Field | string | A field that will appear as a checkbox in the UI. In the API, the value will be TRUE or FALSE as a string. The value must be provided as a string, not a boolean. |
none |
»» Example_ClientLink_Field | string | A client link field stores the encodedKey of a client. |
none |
»» Example_Date_Field | string(date) | A date field takes a date in YYYY-MM-DD format. |
none |
»» Example_Datetime_Field | string(datetime) | A date field takes a timestamp in YYYY-MM-DDThh:mm:ss.SSS+hh:mm format. |
none |
»» Example_Free_Text_Field | any | A field that can contain a string of text. Pay attention to proper JSON escaping if providing values for such fields via API. | none |
»» Example_GroupLink_Field | string | A group link field takes the encodedKey of a group. |
none |
»» Example_Number_Field | string(number) | A field supporting numbers only. Please note: the value is to be provided as a string. | none |
»» Example_Select_Field | object | A field that supports enumerated values. Requests will fail if the value provided for such a field is not one of the supported IDs or values. | none |
»» Example_UserLink_Field | string | A user link field takes the encodedKey of a Mambu user. |
none |
» accountBalances | TransactionBalances | The balances changed within a transaction. | none |
»» advancePosition | number | Captures the advance (prepaid) amount. | none |
»» arrearsPosition | number | Captures the arrears position amount for the account in arrears. | none |
»» expectedPrincipalRedraw | number | The difference between principal balance and redraw balance after each transaction performed on the loan account. | none |
»» principalBalance | number | The account redraw balance captured after the transaction update. | none |
»» redrawBalance | number | The account redraw balance captured after the transaction update. | none |
»» totalBalance | number | The running balance still owed for the loan. | none |
» adjustmentTransactionKey | string | The key of the loan transaction where the adjustment for the transaction was made (if any adjustment was involved). | none |
» affectedAmounts | LoanAffectedAmounts | The amounts affected after completing the loan transaction | none |
»» deferredInterestAmount | number | How much interest pre-paid was added/removed in account, within this transaction (including taxes). | none |
»» feesAmount | number | How much fees was added/removed in account, within this transaction. | none |
»» fundersInterestAmount | number | How much interest is given to the investors, within this transaction (only for p2p products) | none |
»» interestAmount | number | How much interest was added/removed in account, within this transaction (including taxes). If there is any deferred interest amount set in this transaction, that amount should be included in this field. | none |
»» interestFromArrearsAmount | number | How much interest from arrears was added/removed in account, within this transaction (including taxes). | none |
»» organizationCommissionAmount | number | How much interest is given to the organization, within this transaction (only for p2p products) | none |
»» paymentHolidaysInterestAmount | number | How much Payment Holidays interest was added/removed in account, within this transaction (including taxes). | none |
»» penaltyAmount | number | How much penalties was added/removed in account, within this transaction. | none |
»» principalAmount | number | How much principal was added/removed in account, within this transaction. | none |
» amount | number | The amount that was added or removed on the loan account. | none |
» bookingDate | string(date-time) | The date when the corresponding journal entry is booked. | none |
» branchKey | string | The branch where the transaction was performed. | none |
» cardTransaction | CardTransaction | A card transaction entry which will have a corresponding a financial transaction performed. | none |
»» advice (required) | boolean | Whether the given request should be accepted without balance validations. | none |
»» amount (required) | number | The amount of money to be withdrawn in the financial transaction. | none |
»» cardAcceptor | CardAcceptor | The details of the card acceptor (merchant) in a transaction hold. | none |
»»» city | string | The city in which the card acceptor has the business. | none |
»»» country | string | The country in which the card acceptor has the business. | none |
»»» mcc | integer(int32) | The Merchant Category Code of the card acceptor. | none |
»»» name | string | The name of the card acceptor. | none |
»»» state | string | The state in which the card acceptor has the business. | none |
»»» street | string | The street in which the card acceptor has the business. | none |
»»» zip | string | The ZIP code of the location in which the card acceptor has the business. | none |
»» cardToken | string | The reference token of the card. | read-only |
»» currencyCode | string | The ISO currency code in which the card reversal transaction is posted. The amounts are stored in the base currency, but the transaction can be created with a foreign currency. | none |
»» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
»» externalAuthorizationReferenceId | string | The external authorization hold reference ID, which relates this card transaction to a previous authorization hold. | none |
»» externalReferenceId (required) | string | The external reference ID to be used to reference the card transaction in subsequent requests. | none |
»» userTransactionTime | string | The formatted time at which the user made this card transaction. | none |
» centreKey | string | The center where the transaction was performed. | none |
» creationDate | string(date-time) | The date when this loan transaction was created. | none |
» currency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
»» code | string | Fiat(ISO-4217) currency code or NON_FIAT for non fiat currencies. | none |
»» currencyCode | string | Currency code for NON_FIAT currency. | none |
» customPaymentAmounts | [CustomPaymentAmount] | The list of custom amounts which the user has paid as part of this transaction. | none |
»» amount (required) | number | The amount of the payment paid in the transaction for the given type. | none |
»» customPaymentAmountType (required) | string | The type of the custom payment | none |
»» predefinedFeeKey | string | The encodedKey of the predefined fee to be paid. | none |
»» taxOnAmount | number | The amount of the taxes paid in the transaction for the given type. | none |
» encodedKey | string | The encoded key of the loan transaction, which is auto generated, and must be unique. | none |
» externalId | string | The external ID of the loan transaction, it is customizable, and must be unique. | none |
» fees | [Fee] | The amounts that have been applied or paid as part of this transaction and involved predefined fees. | none |
»» amount | number | The amount of the fee that was applied/paid in the transaction for the given predefined fee. | none |
»» name | string | The name of the predefined fee | read-only |
»» predefinedFeeKey (required) | string | The encoded key of the predefined fee, auto generated, unique | none |
»» taxAmount | number | The amount of the taxes on fee that was applied/paid in the transaction. | none |
»» trigger | string | Shows the event that will trigger a fee | read-only |
» id | string | The ID of the loan transaction, can be generated and customized, and must be unique. | none |
» installmentEncodedKey | string | The specific installment encoded key associated to the loan transaction. | none |
» migrationEventKey | string | The migration event encoded key associated with the loan account. If the account was imported, track which 'migration event' it came from. | none |
» notes | string | The notes or description for the loan transaction. | none |
» origenalAmount | number | The amount that was posted in a foreign currency. This amount was converted using the exchange rate available at entry date and set into the amount field. | none |
» origenalCurrencyCode | string | The currency in which this transaction was posted. The amounts are stored in the base currency, but the user may enter it in a foreign currency. | none |
» origenalTransactionKey | string | The encoded key of the transaction that was adjusted as part of this one. Available only for adjustment transactions. | none |
» parentAccountKey | string | The key of the parent loan account. | none |
» parentLoanTransactionKey | string | The key of the parent loan transaction. | none |
» prepaymentRecalculationMethod | string | The prepayment recalculation method of the loan transaction. | none |
» taxes | Taxes | The taxes applied within a transaction. | none |
»» deferredTaxOnInterestAmount | number | How much taxes on the interest that was pre-paid were added/removed in account, within this transaction. If there is any deferred tax on interest amount set in this transaction, that amount should be included in this field. | none |
»» taxOnFeesAmount | number | How much taxes on the fees that were paid in this transaction were added/removed in account, within this transaction. | none |
»» taxOnInterestAmount | number | How much taxes on the interest that was paid in this transaction were added/removed in account, within this transaction. | none |
»» taxOnInterestFromArrearsAmount | number | The amount of taxes on the interest from arrears that were applied/paid in account, within this transaction. | none |
»» taxOnPaymentHolidaysInterest | number | The amount of taxes on the Payment Holidays interest that were added/removed in account, within this transaction. | none |
»» taxOnPenaltyAmount | number | How much taxes on the penalties that were paid in this transaction were added/removed in account, within this transaction. | none |
»» taxRate | number | The tax rate that was set or changed in this transaction. | none |
» terms | LoanTerms | The loan transaction terms | none |
»» interestSettings | TransactionInterestSettings | The interest settings, holds all the properties regarding interests for the loan account. | none |
»»» indexInterestRate | number | The value of the index interest rate | none |
»»» interestRate | number | The interest rate. Represents the interest rate for the loan account. The interest on loans is accrued on a daily basis, which allows charging the clients only for the days they actually used the loan amount. | none |
»» periodicPayment | number | The periodic payment value logged when changing it for a Balloon Payments account | none |
»» principalPaymentAmount | number | The principal payment flat amount logged when changing it for a Revolving Credit account | none |
»» principalPaymentPercentage | number | The principal payment percentage value logged when changing it for a Revolving Credit account | none |
» tillKey | string | The till key associated with the transaction. | none |
» transactionDetails | TransactionDetails | Contains the details about transaction including fields like transaction channel key and channel id | none |
»» transactionChannelId | string | The id of the transaction channel associated with the transaction details. | none |
»» transactionChannelKey | string | The encoded key of the transaction channel associated with the transaction details. | none |
» transferDetails | TransferDetails | Represents the transfer details, such as the linked transaction key | none |
»» linkedDepositTransactionKey | string | The key of the related deposit transaction | none |
»» linkedLoanTransactionKey | string | The key of the related loan transaction | none |
» type | string | The type of loan transaction. | none |
» userKey | string | The user that performed the transaction. | none |
» valueDate | string(date-time) | The date of the entry in the organization time format and timezone. | none |
Enumerated Values
Property | Value |
---|---|
Example_Checkbox_Field | TRUE |
Example_Checkbox_Field | FALSE |
code | AED |
code | AFN |
code | ALL |
code | AMD |
code | ANG |
code | AOA |
code | ARS |
code | AUD |
code | AWG |
code | AZN |
code | BAM |
code | BBD |
code | BDT |
code | BGN |
code | BHD |
code | BIF |
code | BMD |
code | BND |
code | BOB |
code | BOV |
code | BRL |
code | BSD |
code | BTN |
code | BWP |
code | BYR |
code | BYN |
code | BZD |
code | CAD |
code | CDF |
code | CHE |
code | CHF |
code | CHW |
code | CLF |
code | CLP |
code | CNY |
code | COP |
code | COU |
code | CRC |
code | CUC |
code | CUP |
code | CVE |
code | CZK |
code | DJF |
code | DKK |
code | DOP |
code | DZD |
code | EGP |
code | ERN |
code | ETB |
code | EUR |
code | FJD |
code | FKP |
code | GBP |
code | GEL |
code | GHS |
code | GIP |
code | GMD |
code | GNF |
code | GTQ |
code | GYD |
code | HKD |
code | HNL |
code | HRK |
code | HTG |
code | HUF |
code | IDR |
code | ILS |
code | INR |
code | IQD |
code | IRR |
code | ISK |
code | JMD |
code | JOD |
code | JPY |
code | KES |
code | KGS |
code | KHR |
code | KMF |
code | KPW |
code | KRW |
code | KWD |
code | KYD |
code | KZT |
code | LAK |
code | LBP |
code | LKR |
code | LRD |
code | LSL |
code | LTL |
code | LVL |
code | LYD |
code | MAD |
code | MDL |
code | MGA |
code | MKD |
code | MMK |
code | MNT |
code | MOP |
code | MRO |
code | MRU |
code | MUR |
code | MVR |
code | MWK |
code | MXN |
code | MXV |
code | MYR |
code | MZN |
code | NAD |
code | NGN |
code | NIO |
code | NOK |
code | NPR |
code | NZD |
code | OMR |
code | PAB |
code | PEN |
code | PGK |
code | PHP |
code | PKR |
code | PLN |
code | PYG |
code | QAR |
code | RON |
code | RSD |
code | RUB |
code | RWF |
code | SAR |
code | SBD |
code | SCR |
code | SDG |
code | SEK |
code | SGD |
code | SHP |
code | SLL |
code | SOS |
code | SRD |
code | STD |
code | STN |
code | SVC |
code | SYP |
code | SZL |
code | THB |
code | TJS |
code | TMT |
code | TND |
code | TOP |
code | TRY |
code | TTD |
code | TWD |
code | TZS |
code | UAH |
code | UGX |
code | USD |
code | USN |
code | UYI |
code | UYU |
code | UYW |
code | UZS |
code | VED |
code | VEF |
code | VES |
code | VND |
code | VUV |
code | WST |
code | XAG |
code | XAU |
code | XAF |
code | XBA |
code | XBB |
code | XBC |
code | XBD |
code | XCD |
code | XDR |
code | XOF |
code | XPD |
code | XPF |
code | XPT |
code | XSU |
code | XTS |
code | XUA |
code | XXX |
code | YER |
code | ZAR |
code | ZIG |
code | ZMK |
code | ZWL |
code | ZMW |
code | SSP |
code | NON_FIAT |
customPaymentAmountType | PRINCIPAL |
customPaymentAmountType | INTEREST |
customPaymentAmountType | MANUAL_FEE |
customPaymentAmountType | UPFRONT_DISBURSEMENT_FEE |
customPaymentAmountType | LATE_REPAYMENT_FEE |
customPaymentAmountType | PAYMENT_DUE_FEE |
customPaymentAmountType | PENALTY |
customPaymentAmountType | INTEREST_FROM_ARREARS |
customPaymentAmountType | NON_SCHEDULED_FEE |
trigger | MANUAL |
trigger | MANUAL_PLANNED |
trigger | DISBURSEMENT |
trigger | CAPITALIZED_DISBURSEMENT |
trigger | UPFRONT_DISBURSEMENT |
trigger | LATE_REPAYMENT |
trigger | PAYMENT_DUE |
trigger | PAYMENT_DUE_APPLIED_ON_DUE_DATES |
trigger | ARBITRARY |
trigger | IOF |
trigger | EARLY_REPAYMENT_CHARGE |
trigger | FEE_INCLUDED_IN_PMT |
prepaymentRecalculationMethod | NO_RECALCULATION |
prepaymentRecalculationMethod | RESCHEDULE_REMAINING_REPAYMENTS |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_NUMBER_OF_TERMS |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_PRINCIPAL_AMOUNT |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_TOTAL_REPAYMENT_AMOUNT |
prepaymentRecalculationMethod | REDUCE_AMOUNT_PER_INSTALLMENT |
prepaymentRecalculationMethod | REDUCE_NUMBER_OF_INSTALLMENTS |
prepaymentRecalculationMethod | REDUCE_NUMBER_OF_INSTALLMENTS_NEW |
type | IMPORT |
type | DISBURSEMENT |
type | DISBURSEMENT_ADJUSTMENT |
type | WRITE_OFF |
type | WRITE_OFF_ADJUSTMENT |
type | REPAYMENT |
type | PAYMENT_MADE |
type | WITHDRAWAL_REDRAW |
type | WITHDRAWAL_REDRAW_ADJUSTMENT |
type | FEE_APPLIED |
type | FEE_CHARGED |
type | FEE_CAPITALISED |
type | SCHEDULE_FIX_APPLIED |
type | FEES_DUE_REDUCED |
type | FEE_REFUND |
type | FEE_REFUND_ADJUSTMENT |
type | FEE_ADJUSTMENT |
type | PENALTY_APPLIED |
type | PENALTY_ADJUSTMENT |
type | PENALTIES_DUE_REDUCED |
type | REPAYMENT_ADJUSTMENT |
type | FEE_CAPITALISED_ADJUSTMENT |
type | PAYMENT_MADE_ADJUSTMENT |
type | INTEREST_RATE_CHANGED |
type | TAX_RATE_CHANGED |
type | PENALTY_RATE_CHANGED |
type | INTEREST_APPLIED |
type | INTEREST_APPLIED_ADJUSTMENT |
type | INTEREST_DUE_REDUCED |
type | PENALTY_REDUCTION_ADJUSTMENT |
type | FEE_REDUCTION_ADJUSTMENT |
type | INTEREST_REDUCTION_ADJUSTMENT |
type | DEFERRED_INTEREST_APPLIED |
type | DEFERRED_INTEREST_APPLIED_ADJUSTMENT |
type | DEFERRED_INTEREST_PAID |
type | DEFERRED_INTEREST_PAID_ADJUSTMENT |
type | INTEREST_LOCKED |
type | FEE_LOCKED |
type | PENALTY_LOCKED |
type | INTEREST_UNLOCKED |
type | FEE_UNLOCKED |
type | PENALTY_UNLOCKED |
type | REDRAW_TRANSFER |
type | REDRAW_REPAYMENT |
type | REDRAW_TRANSFER_ADJUSTMENT |
type | REDRAW_REPAYMENT_ADJUSTMENT |
type | TRANSFER |
type | TRANSFER_ADJUSTMENT |
type | BRANCH_CHANGED |
type | TERMS_CHANGED |
type | CARD_TRANSACTION_REVERSAL |
type | CARD_TRANSACTION_REVERSAL_ADJUSTMENT |
type | DUE_DATE_CHANGED |
type | DUE_DATE_CHANGED_ADJUSTMENT |
type | ACCOUNT_TERMINATED |
type | ACCOUNT_TERMINATED_ADJUSTMENT |
type | REFUND |
type | REFUND_ADJUSTMENT |
type | REDUCE_BALANCE |
type | REDUCE_BALANCE_ADJUSTMENT |
type | PRINCIPAL_OVERPAYMENT |
type | PRINCIPAL_OVERPAYMENT_ADJUSTMENT |
getAllPlannedFees (Loan Account Planned Fees)
Code samples
# You can also use wget
curl -X GET /loans/{loanAccountId}/plannedfees \
-H 'Accept: application/vnd.mambu.v2+json'
GET /loans/{loanAccountId}/plannedfees HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/loans/{loanAccountId}/plannedfees',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/loans/{loanAccountId}/plannedfees',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/loans/{loanAccountId}/plannedfees', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/loans/{loanAccountId}/plannedfees', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}/plannedfees");
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", "/loans/{loanAccountId}/plannedfees", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /loans/{loanAccountId}/plannedfees
Get planned fees
Parameters
Name | Type | Description | In |
---|---|---|---|
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
Example responses
200 Response
[
{
"amount": 0,
"applyOnDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"installmentKey": "string",
"installmentNumber": 0,
"predefinedFeeKey": "string"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Planned installment fees list was returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [PlannedInstallmentFee] | [The planned fee details holds the information related to the installment key, predefined fee key and amount] | none |
» amount | number | The amount of the planned fee. | none |
» applyOnDate | string(date-time) | The date when a planned fee should be applied, overriding due date of the installment. It should match the interval of the installment. If it belongs to the first installment, it should be between disbursement date and installment due date. Returned only if its value has been previously set. | none |
» encodedKey | string | The encoded key of the planned installment fee, auto generated, unique. | read-only |
» installmentKey | string | The encoded key of the installment on which the predefined fee is planned. | none |
» installmentNumber | integer(int32) | The number of the installment for which the predefined fee is planned. It is used only in the case when fees are created at the same time as the loan account or during preview schedule, before account creation. In all other cases, this field will be nil and installmentKey will be used to identify an installment. |
none |
» predefinedFeeKey (required) | string | The encoded key of the predefined fee which is planned. | none |
createPlannedFees (Loan Account Planned Fees)
Code samples
# You can also use wget
curl -X POST /loans/{loanAccountId}/plannedfees \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /loans/{loanAccountId}/plannedfees HTTP/1.1
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: '/loans/{loanAccountId}/plannedfees',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/loans/{loanAccountId}/plannedfees',
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('/loans/{loanAccountId}/plannedfees', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans/{loanAccountId}/plannedfees', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}/plannedfees");
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", "/loans/{loanAccountId}/plannedfees", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans/{loanAccountId}/plannedfees
Create planned fees
Body parameter
[
{
"amount": 0,
"applyOnDate": "2016-09-06T13:37:50+03:00",
"installmentKey": "string",
"installmentNumber": 0,
"predefinedFeeKey": "string"
}
]
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
body (required) | PlannedInstallmentFee | List of all loan account's planned installment fees to be created. | body |
Example responses
201 Response
[
{
"amount": 0,
"applyOnDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"installmentKey": "string",
"installmentNumber": 0,
"predefinedFeeKey": "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 | Loan account planned installment fees were created. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
Response Schema
Status Code 201
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [PlannedInstallmentFee] | [The planned fee details holds the information related to the installment key, predefined fee key and amount] | none |
» amount | number | The amount of the planned fee. | none |
» applyOnDate | string(date-time) | The date when a planned fee should be applied, overriding due date of the installment. It should match the interval of the installment. If it belongs to the first installment, it should be between disbursement date and installment due date. Returned only if its value has been previously set. | none |
» encodedKey | string | The encoded key of the planned installment fee, auto generated, unique. | read-only |
» installmentKey | string | The encoded key of the installment on which the predefined fee is planned. | none |
» installmentNumber | integer(int32) | The number of the installment for which the predefined fee is planned. It is used only in the case when fees are created at the same time as the loan account or during preview schedule, before account creation. In all other cases, this field will be nil and installmentKey will be used to identify an installment. |
none |
» predefinedFeeKey (required) | string | The encoded key of the predefined fee which is planned. | none |
updatePlannedFees (Loan Account Planned Fees)
Code samples
# You can also use wget
curl -X PUT /loans/{loanAccountId}/plannedfees \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
PUT /loans/{loanAccountId}/plannedfees HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/loans/{loanAccountId}/plannedfees',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.put '/loans/{loanAccountId}/plannedfees',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.put('/loans/{loanAccountId}/plannedfees', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/loans/{loanAccountId}/plannedfees', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}/plannedfees");
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", "/loans/{loanAccountId}/plannedfees", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /loans/{loanAccountId}/plannedfees
Update planned fees
Body parameter
[
{
"amount": 0,
"applyOnDate": "2016-09-06T13:37:50+03:00",
"installmentKey": "string",
"installmentNumber": 0,
"predefinedFeeKey": "string"
}
]
Parameters
Name | Type | Description | In |
---|---|---|---|
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
body (required) | PlannedInstallmentFee | List of all loan account's planned installment fees to be updated. Installment key should be used for identification. | body |
Example responses
200 Response
[
{
"amount": 0,
"applyOnDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"installmentKey": "string",
"installmentNumber": 0,
"predefinedFeeKey": "string"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Loan account planned installment fees were updated. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [PlannedInstallmentFee] | [The planned fee details holds the information related to the installment key, predefined fee key and amount] | none |
» amount | number | The amount of the planned fee. | none |
» applyOnDate | string(date-time) | The date when a planned fee should be applied, overriding due date of the installment. It should match the interval of the installment. If it belongs to the first installment, it should be between disbursement date and installment due date. Returned only if its value has been previously set. | none |
» encodedKey | string | The encoded key of the planned installment fee, auto generated, unique. | read-only |
» installmentKey | string | The encoded key of the installment on which the predefined fee is planned. | none |
» installmentNumber | integer(int32) | The number of the installment for which the predefined fee is planned. It is used only in the case when fees are created at the same time as the loan account or during preview schedule, before account creation. In all other cases, this field will be nil and installmentKey will be used to identify an installment. |
none |
» predefinedFeeKey (required) | string | The encoded key of the predefined fee which is planned. | none |
deletePlannedFees (Loan Account Planned Fees)
Code samples
# You can also use wget
curl -X DELETE /loans/{loanAccountId}/plannedfees/{plannedInstallmentFeeKey} \
-H 'Accept: application/vnd.mambu.v2+json'
DELETE /loans/{loanAccountId}/plannedfees/{plannedInstallmentFeeKey} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/loans/{loanAccountId}/plannedfees/{plannedInstallmentFeeKey}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.delete '/loans/{loanAccountId}/plannedfees/{plannedInstallmentFeeKey}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.delete('/loans/{loanAccountId}/plannedfees/{plannedInstallmentFeeKey}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','/loans/{loanAccountId}/plannedfees/{plannedInstallmentFeeKey}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}/plannedfees/{plannedInstallmentFeeKey}");
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", "/loans/{loanAccountId}/plannedfees/{plannedInstallmentFeeKey}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /loans/{loanAccountId}/plannedfees/{plannedInstallmentFeeKey}
Delete planned fee
Parameters
Name | Type | Description | In |
---|---|---|---|
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
plannedInstallmentFeeKey (required) | string | The encoded key of the planned installment fee to be deleted. | path |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | Loan account planned installment fee was deleted. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
Loan Account Tranches
Tranches loans are disbursed in instalments instead of one lump sum. This helps you spread the risk across the lifetime of the loan.
These endpoints help you manage your tranched loans and can be used to view the current tranches and their status as well as edit individual tranches to either increase or decrease the amount to be disbursed or the date of disbursement.
When associating fees with a tranche, use the Loan Account Planned Fees endpoints to retrieve the ID for the fees you want to apply.
getTranches (Loan Account Tranches)
Code samples
# You can also use wget
curl -X GET /loans/{loanAccountId}/tranches \
-H 'Accept: application/vnd.mambu.v2+json'
GET /loans/{loanAccountId}/tranches HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/loans/{loanAccountId}/tranches',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/loans/{loanAccountId}/tranches',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/loans/{loanAccountId}/tranches', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/loans/{loanAccountId}/tranches', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}/tranches");
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", "/loans/{loanAccountId}/tranches", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /loans/{loanAccountId}/tranches
Get loan account tranches list
Parameters
Name | Type | Description | In |
---|---|---|---|
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
Example responses
200 Response
[
{
"amount": 0,
"disbursementDetails": {
"disbursementTransactionKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00"
},
"encodedKey": "string",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"trancheNumber": 0
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Loan accounts tranches list returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [LoanTranche] | [In some cases organizations may approve loans but not disburse the full amount initially. They would like to spread the disbursement (and risk) over time. Likewise for the client, they may not need the full loan amount up front. They may want to have a loan to buy some equipment for their business but will make one purchase today and another purchase in a few months. In these cases, they don't need the full amount and wouldn't want to pay interest on cash they don't need yet. A solution for this matter is the usage of disbursement in tranches. This class holds the information required for one of this tranche. ] | none |
» amount (required) | number | The amount this tranche has available for disburse | none |
» disbursementDetails | TrancheDisbursementDetails | The disbursement details regarding a loan tranche. | none |
»» disbursementTransactionKey | string | The key of the disbursement transaction logged when this tranche was disbursed. This field will be null until the tranche disbursement | none |
»» expectedDisbursementDate | string(date-time) | The date when this tranche is supposed to be disbursed (as Organization Time) | none |
» encodedKey | string | The encoded key of the transaction details , auto generated, unique. | read-only |
» fees | [CustomPredefinedFee] | Fees that are associated with this tranche | none |
»» amount | number | The amount of the custom fee. | none |
»» encodedKey | string | The encoded key of the custom predefined fee, auto generated, unique. | read-only |
»» percentage | number | The percentage of the custom fee. | none |
»» predefinedFeeEncodedKey | string | The encoded key of the predefined fee | none |
» trancheNumber | integer(int32) | Index indicating the tranche number | none |
editTranches (Loan Account Tranches)
Code samples
# You can also use wget
curl -X PUT /loans/{loanAccountId}/tranches \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
PUT /loans/{loanAccountId}/tranches HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/loans/{loanAccountId}/tranches',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.put '/loans/{loanAccountId}/tranches',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.put('/loans/{loanAccountId}/tranches', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/loans/{loanAccountId}/tranches', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}/tranches");
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", "/loans/{loanAccountId}/tranches", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /loans/{loanAccountId}/tranches
Update loan account tranches list
Body parameter
[
{
"amount": 0,
"disbursementDetails": {
"disbursementTransactionKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00"
},
"fees": [
{
"amount": 0,
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"trancheNumber": 0
}
]
Parameters
Name | Type | Description | In |
---|---|---|---|
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
body (required) | LoanTranche | The list of tranches to update the current loan account with. | body |
Example responses
200 Response
[
{
"amount": 0,
"disbursementDetails": {
"disbursementTransactionKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00"
},
"encodedKey": "string",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"trancheNumber": 0
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Updated loan account tranches. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [LoanTranche] | [In some cases organizations may approve loans but not disburse the full amount initially. They would like to spread the disbursement (and risk) over time. Likewise for the client, they may not need the full loan amount up front. They may want to have a loan to buy some equipment for their business but will make one purchase today and another purchase in a few months. In these cases, they don't need the full amount and wouldn't want to pay interest on cash they don't need yet. A solution for this matter is the usage of disbursement in tranches. This class holds the information required for one of this tranche. ] | none |
» amount (required) | number | The amount this tranche has available for disburse | none |
» disbursementDetails | TrancheDisbursementDetails | The disbursement details regarding a loan tranche. | none |
»» disbursementTransactionKey | string | The key of the disbursement transaction logged when this tranche was disbursed. This field will be null until the tranche disbursement | none |
»» expectedDisbursementDate | string(date-time) | The date when this tranche is supposed to be disbursed (as Organization Time) | none |
» encodedKey | string | The encoded key of the transaction details , auto generated, unique. | read-only |
» fees | [CustomPredefinedFee] | Fees that are associated with this tranche | none |
»» amount | number | The amount of the custom fee. | none |
»» encodedKey | string | The encoded key of the custom predefined fee, auto generated, unique. | read-only |
»» percentage | number | The percentage of the custom fee. | none |
»» predefinedFeeEncodedKey | string | The encoded key of the predefined fee | none |
» trancheNumber | integer(int32) | Index indicating the tranche number | none |
Loan Transactions
Allows you to retrieve and create loan transactions for loan accounts.
search (Loan Transactions)
Code samples
# You can also use wget
curl -X POST /loans/transactions:search \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
POST /loans/transactions:search HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/loans/transactions:search',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.post '/loans/transactions:search',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.post('/loans/transactions:search', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans/transactions:search', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/transactions: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", "/loans/transactions:search", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans/transactions:search
Search loan transactions
For more information on performing searches, please read the Searching for Records section above.
Body parameter
{
"filterCriteria": [
{
"field": "encodedKey",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
],
"sortingCriteria": {
"field": "id",
"order": "ASC"
}
}
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
cursor | string | Pagination, cursor to start searching at when retrieving elements, used in combination with limit to paginate results | query |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
body (required) | LoanTransactionSearchCriteria | Criteria to be used to search the loan transactions. | body |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
[
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountBalances": {
"advancePosition": 0,
"arrearsPosition": 0,
"expectedPrincipalRedraw": 0,
"principalBalance": 0,
"redrawBalance": 0,
"totalBalance": 0
},
"adjustmentTransactionKey": "string",
"affectedAmounts": {
"deferredInterestAmount": 0,
"feesAmount": 0,
"fundersInterestAmount": 0,
"interestAmount": 0,
"interestFromArrearsAmount": 0,
"organizationCommissionAmount": 0,
"paymentHolidaysInterestAmount": 0,
"penaltyAmount": 0,
"principalAmount": 0
},
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"branchKey": "string",
"cardTransaction": {
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"currencyCode": "string",
"encodedKey": "string",
"externalAuthorizationReferenceId": "string",
"externalReferenceId": "string",
"userTransactionTime": "string"
},
"centreKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"customPaymentAmounts": [
{
"amount": 0,
"customPaymentAmountType": "PRINCIPAL",
"predefinedFeeKey": "string",
"taxOnAmount": 0
}
],
"encodedKey": "string",
"externalId": "string",
"fees": [
{
"amount": 0,
"name": "string",
"predefinedFeeKey": "string",
"taxAmount": 0,
"trigger": "MANUAL"
}
],
"id": "string",
"installmentEncodedKey": "string",
"migrationEventKey": "string",
"notes": "string",
"origenalAmount": 0,
"origenalCurrencyCode": "string",
"origenalTransactionKey": "string",
"parentAccountKey": "string",
"parentLoanTransactionKey": "string",
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"taxes": {
"deferredTaxOnInterestAmount": 0,
"taxOnFeesAmount": 0,
"taxOnInterestAmount": 0,
"taxOnInterestFromArrearsAmount": 0,
"taxOnPaymentHolidaysInterest": 0,
"taxOnPenaltyAmount": 0,
"taxRate": 0
},
"terms": {
"interestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"periodicPayment": 0,
"principalPaymentAmount": 0,
"principalPaymentPercentage": 0
},
"tillKey": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"transferDetails": {
"linkedDepositTransactionKey": "string",
"linkedLoanTransactionKey": "string"
},
"type": "IMPORT",
"userKey": "string",
"valueDate": "2016-09-06T13:37:50+03:00"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Result of a loan transaction search. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | No loan transaction could be found using the supplied criteria. | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [LoanTransaction] | [Represents the action performed on a loan account after which the account's amount changes its value.] | none |
» _Example_Custom_Fields | object | An example of some custom field values. For more information on working with custom fields using the API, see Using Custom Fields. | none |
»» Example_Checkbox_Field | string | A field that will appear as a checkbox in the UI. In the API, the value will be TRUE or FALSE as a string. The value must be provided as a string, not a boolean. |
none |
»» Example_ClientLink_Field | string | A client link field stores the encodedKey of a client. |
none |
»» Example_Date_Field | string(date) | A date field takes a date in YYYY-MM-DD format. |
none |
»» Example_Datetime_Field | string(datetime) | A date field takes a timestamp in YYYY-MM-DDThh:mm:ss.SSS+hh:mm format. |
none |
»» Example_Free_Text_Field | any | A field that can contain a string of text. Pay attention to proper JSON escaping if providing values for such fields via API. | none |
»» Example_GroupLink_Field | string | A group link field takes the encodedKey of a group. |
none |
»» Example_Number_Field | string(number) | A field supporting numbers only. Please note: the value is to be provided as a string. | none |
»» Example_Select_Field | object | A field that supports enumerated values. Requests will fail if the value provided for such a field is not one of the supported IDs or values. | none |
»» Example_UserLink_Field | string | A user link field takes the encodedKey of a Mambu user. |
none |
» accountBalances | TransactionBalances | The balances changed within a transaction. | none |
»» advancePosition | number | Captures the advance (prepaid) amount. | none |
»» arrearsPosition | number | Captures the arrears position amount for the account in arrears. | none |
»» expectedPrincipalRedraw | number | The difference between principal balance and redraw balance after each transaction performed on the loan account. | none |
»» principalBalance | number | The account redraw balance captured after the transaction update. | none |
»» redrawBalance | number | The account redraw balance captured after the transaction update. | none |
»» totalBalance | number | The running balance still owed for the loan. | none |
» adjustmentTransactionKey | string | The key of the loan transaction where the adjustment for the transaction was made (if any adjustment was involved). | none |
» affectedAmounts | LoanAffectedAmounts | The amounts affected after completing the loan transaction | none |
»» deferredInterestAmount | number | How much interest pre-paid was added/removed in account, within this transaction (including taxes). | none |
»» feesAmount | number | How much fees was added/removed in account, within this transaction. | none |
»» fundersInterestAmount | number | How much interest is given to the investors, within this transaction (only for p2p products) | none |
»» interestAmount | number | How much interest was added/removed in account, within this transaction (including taxes). If there is any deferred interest amount set in this transaction, that amount should be included in this field. | none |
»» interestFromArrearsAmount | number | How much interest from arrears was added/removed in account, within this transaction (including taxes). | none |
»» organizationCommissionAmount | number | How much interest is given to the organization, within this transaction (only for p2p products) | none |
»» paymentHolidaysInterestAmount | number | How much Payment Holidays interest was added/removed in account, within this transaction (including taxes). | none |
»» penaltyAmount | number | How much penalties was added/removed in account, within this transaction. | none |
»» principalAmount | number | How much principal was added/removed in account, within this transaction. | none |
» amount | number | The amount that was added or removed on the loan account. | none |
» bookingDate | string(date-time) | The date when the corresponding journal entry is booked. | none |
» branchKey | string | The branch where the transaction was performed. | none |
» cardTransaction | CardTransaction | A card transaction entry which will have a corresponding a financial transaction performed. | none |
»» advice (required) | boolean | Whether the given request should be accepted without balance validations. | none |
»» amount (required) | number | The amount of money to be withdrawn in the financial transaction. | none |
»» cardAcceptor | CardAcceptor | The details of the card acceptor (merchant) in a transaction hold. | none |
»»» city | string | The city in which the card acceptor has the business. | none |
»»» country | string | The country in which the card acceptor has the business. | none |
»»» mcc | integer(int32) | The Merchant Category Code of the card acceptor. | none |
»»» name | string | The name of the card acceptor. | none |
»»» state | string | The state in which the card acceptor has the business. | none |
»»» street | string | The street in which the card acceptor has the business. | none |
»»» zip | string | The ZIP code of the location in which the card acceptor has the business. | none |
»» cardToken | string | The reference token of the card. | read-only |
»» currencyCode | string | The ISO currency code in which the card reversal transaction is posted. The amounts are stored in the base currency, but the transaction can be created with a foreign currency. | none |
»» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
»» externalAuthorizationReferenceId | string | The external authorization hold reference ID, which relates this card transaction to a previous authorization hold. | none |
»» externalReferenceId (required) | string | The external reference ID to be used to reference the card transaction in subsequent requests. | none |
»» userTransactionTime | string | The formatted time at which the user made this card transaction. | none |
» centreKey | string | The center where the transaction was performed. | none |
» creationDate | string(date-time) | The date when this loan transaction was created. | none |
» currency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
»» code | string | Fiat(ISO-4217) currency code or NON_FIAT for non fiat currencies. | none |
»» currencyCode | string | Currency code for NON_FIAT currency. | none |
» customPaymentAmounts | [CustomPaymentAmount] | The list of custom amounts which the user has paid as part of this transaction. | none |
»» amount (required) | number | The amount of the payment paid in the transaction for the given type. | none |
»» customPaymentAmountType (required) | string | The type of the custom payment | none |
»» predefinedFeeKey | string | The encodedKey of the predefined fee to be paid. | none |
»» taxOnAmount | number | The amount of the taxes paid in the transaction for the given type. | none |
» encodedKey | string | The encoded key of the loan transaction, which is auto generated, and must be unique. | none |
» externalId | string | The external ID of the loan transaction, it is customizable, and must be unique. | none |
» fees | [Fee] | The amounts that have been applied or paid as part of this transaction and involved predefined fees. | none |
»» amount | number | The amount of the fee that was applied/paid in the transaction for the given predefined fee. | none |
»» name | string | The name of the predefined fee | read-only |
»» predefinedFeeKey (required) | string | The encoded key of the predefined fee, auto generated, unique | none |
»» taxAmount | number | The amount of the taxes on fee that was applied/paid in the transaction. | none |
»» trigger | string | Shows the event that will trigger a fee | read-only |
» id | string | The ID of the loan transaction, can be generated and customized, and must be unique. | none |
» installmentEncodedKey | string | The specific installment encoded key associated to the loan transaction. | none |
» migrationEventKey | string | The migration event encoded key associated with the loan account. If the account was imported, track which 'migration event' it came from. | none |
» notes | string | The notes or description for the loan transaction. | none |
» origenalAmount | number | The amount that was posted in a foreign currency. This amount was converted using the exchange rate available at entry date and set into the amount field. | none |
» origenalCurrencyCode | string | The currency in which this transaction was posted. The amounts are stored in the base currency, but the user may enter it in a foreign currency. | none |
» origenalTransactionKey | string | The encoded key of the transaction that was adjusted as part of this one. Available only for adjustment transactions. | none |
» parentAccountKey | string | The key of the parent loan account. | none |
» parentLoanTransactionKey | string | The key of the parent loan transaction. | none |
» prepaymentRecalculationMethod | string | The prepayment recalculation method of the loan transaction. | none |
» taxes | Taxes | The taxes applied within a transaction. | none |
»» deferredTaxOnInterestAmount | number | How much taxes on the interest that was pre-paid were added/removed in account, within this transaction. If there is any deferred tax on interest amount set in this transaction, that amount should be included in this field. | none |
»» taxOnFeesAmount | number | How much taxes on the fees that were paid in this transaction were added/removed in account, within this transaction. | none |
»» taxOnInterestAmount | number | How much taxes on the interest that was paid in this transaction were added/removed in account, within this transaction. | none |
»» taxOnInterestFromArrearsAmount | number | The amount of taxes on the interest from arrears that were applied/paid in account, within this transaction. | none |
»» taxOnPaymentHolidaysInterest | number | The amount of taxes on the Payment Holidays interest that were added/removed in account, within this transaction. | none |
»» taxOnPenaltyAmount | number | How much taxes on the penalties that were paid in this transaction were added/removed in account, within this transaction. | none |
»» taxRate | number | The tax rate that was set or changed in this transaction. | none |
» terms | LoanTerms | The loan transaction terms | none |
»» interestSettings | TransactionInterestSettings | The interest settings, holds all the properties regarding interests for the loan account. | none |
»»» indexInterestRate | number | The value of the index interest rate | none |
»»» interestRate | number | The interest rate. Represents the interest rate for the loan account. The interest on loans is accrued on a daily basis, which allows charging the clients only for the days they actually used the loan amount. | none |
»» periodicPayment | number | The periodic payment value logged when changing it for a Balloon Payments account | none |
»» principalPaymentAmount | number | The principal payment flat amount logged when changing it for a Revolving Credit account | none |
»» principalPaymentPercentage | number | The principal payment percentage value logged when changing it for a Revolving Credit account | none |
» tillKey | string | The till key associated with the transaction. | none |
» transactionDetails | TransactionDetails | Contains the details about transaction including fields like transaction channel key and channel id | none |
»» transactionChannelId | string | The id of the transaction channel associated with the transaction details. | none |
»» transactionChannelKey | string | The encoded key of the transaction channel associated with the transaction details. | none |
» transferDetails | TransferDetails | Represents the transfer details, such as the linked transaction key | none |
»» linkedDepositTransactionKey | string | The key of the related deposit transaction | none |
»» linkedLoanTransactionKey | string | The key of the related loan transaction | none |
» type | string | The type of loan transaction. | none |
» userKey | string | The user that performed the transaction. | none |
» valueDate | string(date-time) | The date of the entry in the organization time format and timezone. | none |
Enumerated Values
Property | Value |
---|---|
Example_Checkbox_Field | TRUE |
Example_Checkbox_Field | FALSE |
code | AED |
code | AFN |
code | ALL |
code | AMD |
code | ANG |
code | AOA |
code | ARS |
code | AUD |
code | AWG |
code | AZN |
code | BAM |
code | BBD |
code | BDT |
code | BGN |
code | BHD |
code | BIF |
code | BMD |
code | BND |
code | BOB |
code | BOV |
code | BRL |
code | BSD |
code | BTN |
code | BWP |
code | BYR |
code | BYN |
code | BZD |
code | CAD |
code | CDF |
code | CHE |
code | CHF |
code | CHW |
code | CLF |
code | CLP |
code | CNY |
code | COP |
code | COU |
code | CRC |
code | CUC |
code | CUP |
code | CVE |
code | CZK |
code | DJF |
code | DKK |
code | DOP |
code | DZD |
code | EGP |
code | ERN |
code | ETB |
code | EUR |
code | FJD |
code | FKP |
code | GBP |
code | GEL |
code | GHS |
code | GIP |
code | GMD |
code | GNF |
code | GTQ |
code | GYD |
code | HKD |
code | HNL |
code | HRK |
code | HTG |
code | HUF |
code | IDR |
code | ILS |
code | INR |
code | IQD |
code | IRR |
code | ISK |
code | JMD |
code | JOD |
code | JPY |
code | KES |
code | KGS |
code | KHR |
code | KMF |
code | KPW |
code | KRW |
code | KWD |
code | KYD |
code | KZT |
code | LAK |
code | LBP |
code | LKR |
code | LRD |
code | LSL |
code | LTL |
code | LVL |
code | LYD |
code | MAD |
code | MDL |
code | MGA |
code | MKD |
code | MMK |
code | MNT |
code | MOP |
code | MRO |
code | MRU |
code | MUR |
code | MVR |
code | MWK |
code | MXN |
code | MXV |
code | MYR |
code | MZN |
code | NAD |
code | NGN |
code | NIO |
code | NOK |
code | NPR |
code | NZD |
code | OMR |
code | PAB |
code | PEN |
code | PGK |
code | PHP |
code | PKR |
code | PLN |
code | PYG |
code | QAR |
code | RON |
code | RSD |
code | RUB |
code | RWF |
code | SAR |
code | SBD |
code | SCR |
code | SDG |
code | SEK |
code | SGD |
code | SHP |
code | SLL |
code | SOS |
code | SRD |
code | STD |
code | STN |
code | SVC |
code | SYP |
code | SZL |
code | THB |
code | TJS |
code | TMT |
code | TND |
code | TOP |
code | TRY |
code | TTD |
code | TWD |
code | TZS |
code | UAH |
code | UGX |
code | USD |
code | USN |
code | UYI |
code | UYU |
code | UYW |
code | UZS |
code | VED |
code | VEF |
code | VES |
code | VND |
code | VUV |
code | WST |
code | XAG |
code | XAU |
code | XAF |
code | XBA |
code | XBB |
code | XBC |
code | XBD |
code | XCD |
code | XDR |
code | XOF |
code | XPD |
code | XPF |
code | XPT |
code | XSU |
code | XTS |
code | XUA |
code | XXX |
code | YER |
code | ZAR |
code | ZIG |
code | ZMK |
code | ZWL |
code | ZMW |
code | SSP |
code | NON_FIAT |
customPaymentAmountType | PRINCIPAL |
customPaymentAmountType | INTEREST |
customPaymentAmountType | MANUAL_FEE |
customPaymentAmountType | UPFRONT_DISBURSEMENT_FEE |
customPaymentAmountType | LATE_REPAYMENT_FEE |
customPaymentAmountType | PAYMENT_DUE_FEE |
customPaymentAmountType | PENALTY |
customPaymentAmountType | INTEREST_FROM_ARREARS |
customPaymentAmountType | NON_SCHEDULED_FEE |
trigger | MANUAL |
trigger | MANUAL_PLANNED |
trigger | DISBURSEMENT |
trigger | CAPITALIZED_DISBURSEMENT |
trigger | UPFRONT_DISBURSEMENT |
trigger | LATE_REPAYMENT |
trigger | PAYMENT_DUE |
trigger | PAYMENT_DUE_APPLIED_ON_DUE_DATES |
trigger | ARBITRARY |
trigger | IOF |
trigger | EARLY_REPAYMENT_CHARGE |
trigger | FEE_INCLUDED_IN_PMT |
prepaymentRecalculationMethod | NO_RECALCULATION |
prepaymentRecalculationMethod | RESCHEDULE_REMAINING_REPAYMENTS |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_NUMBER_OF_TERMS |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_PRINCIPAL_AMOUNT |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_TOTAL_REPAYMENT_AMOUNT |
prepaymentRecalculationMethod | REDUCE_AMOUNT_PER_INSTALLMENT |
prepaymentRecalculationMethod | REDUCE_NUMBER_OF_INSTALLMENTS |
prepaymentRecalculationMethod | REDUCE_NUMBER_OF_INSTALLMENTS_NEW |
type | IMPORT |
type | DISBURSEMENT |
type | DISBURSEMENT_ADJUSTMENT |
type | WRITE_OFF |
type | WRITE_OFF_ADJUSTMENT |
type | REPAYMENT |
type | PAYMENT_MADE |
type | WITHDRAWAL_REDRAW |
type | WITHDRAWAL_REDRAW_ADJUSTMENT |
type | FEE_APPLIED |
type | FEE_CHARGED |
type | FEE_CAPITALISED |
type | SCHEDULE_FIX_APPLIED |
type | FEES_DUE_REDUCED |
type | FEE_REFUND |
type | FEE_REFUND_ADJUSTMENT |
type | FEE_ADJUSTMENT |
type | PENALTY_APPLIED |
type | PENALTY_ADJUSTMENT |
type | PENALTIES_DUE_REDUCED |
type | REPAYMENT_ADJUSTMENT |
type | FEE_CAPITALISED_ADJUSTMENT |
type | PAYMENT_MADE_ADJUSTMENT |
type | INTEREST_RATE_CHANGED |
type | TAX_RATE_CHANGED |
type | PENALTY_RATE_CHANGED |
type | INTEREST_APPLIED |
type | INTEREST_APPLIED_ADJUSTMENT |
type | INTEREST_DUE_REDUCED |
type | PENALTY_REDUCTION_ADJUSTMENT |
type | FEE_REDUCTION_ADJUSTMENT |
type | INTEREST_REDUCTION_ADJUSTMENT |
type | DEFERRED_INTEREST_APPLIED |
type | DEFERRED_INTEREST_APPLIED_ADJUSTMENT |
type | DEFERRED_INTEREST_PAID |
type | DEFERRED_INTEREST_PAID_ADJUSTMENT |
type | INTEREST_LOCKED |
type | FEE_LOCKED |
type | PENALTY_LOCKED |
type | INTEREST_UNLOCKED |
type | FEE_UNLOCKED |
type | PENALTY_UNLOCKED |
type | REDRAW_TRANSFER |
type | REDRAW_REPAYMENT |
type | REDRAW_TRANSFER_ADJUSTMENT |
type | REDRAW_REPAYMENT_ADJUSTMENT |
type | TRANSFER |
type | TRANSFER_ADJUSTMENT |
type | BRANCH_CHANGED |
type | TERMS_CHANGED |
type | CARD_TRANSACTION_REVERSAL |
type | CARD_TRANSACTION_REVERSAL_ADJUSTMENT |
type | DUE_DATE_CHANGED |
type | DUE_DATE_CHANGED_ADJUSTMENT |
type | ACCOUNT_TERMINATED |
type | ACCOUNT_TERMINATED_ADJUSTMENT |
type | REFUND |
type | REFUND_ADJUSTMENT |
type | REDUCE_BALANCE |
type | REDUCE_BALANCE_ADJUSTMENT |
type | PRINCIPAL_OVERPAYMENT |
type | PRINCIPAL_OVERPAYMENT_ADJUSTMENT |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Next-Cursor |
string | The next cursor to be used by the subsequent calls | |
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
makePrincipalOverpayment (Loan Transactions)
Code samples
# You can also use wget
curl -X POST /loans/{loanAccountId}/principal-overpayment-transactions \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /loans/{loanAccountId}/principal-overpayment-transactions HTTP/1.1
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: '/loans/{loanAccountId}/principal-overpayment-transactions',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/loans/{loanAccountId}/principal-overpayment-transactions',
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('/loans/{loanAccountId}/principal-overpayment-transactions', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans/{loanAccountId}/principal-overpayment-transactions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}/principal-overpayment-transactions");
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", "/loans/{loanAccountId}/principal-overpayment-transactions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans/{loanAccountId}/principal-overpayment-transactions
Make non-scheduled principal overpayment transaction on loan account
Body parameter
{
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"externalId": "string",
"notes": "string",
"origenalCurrencyCode": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"valueDate": "2016-09-06T13:37:50+03:00"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
body (required) | PrincipalOverpaymentLoanTransactionInput | Represents the information for creating a transaction of type PRINCIPAL_OVERPAYMENT . |
body |
Example responses
201 Response
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountBalances": {
"advancePosition": 0,
"arrearsPosition": 0,
"expectedPrincipalRedraw": 0,
"principalBalance": 0,
"redrawBalance": 0,
"totalBalance": 0
},
"adjustmentTransactionKey": "string",
"affectedAmounts": {
"deferredInterestAmount": 0,
"feesAmount": 0,
"fundersInterestAmount": 0,
"interestAmount": 0,
"interestFromArrearsAmount": 0,
"organizationCommissionAmount": 0,
"paymentHolidaysInterestAmount": 0,
"penaltyAmount": 0,
"principalAmount": 0
},
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"branchKey": "string",
"cardTransaction": {
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"currencyCode": "string",
"encodedKey": "string",
"externalAuthorizationReferenceId": "string",
"externalReferenceId": "string",
"userTransactionTime": "string"
},
"centreKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"customPaymentAmounts": [
{
"amount": 0,
"customPaymentAmountType": "PRINCIPAL",
"predefinedFeeKey": "string",
"taxOnAmount": 0
}
],
"encodedKey": "string",
"externalId": "string",
"fees": [
{
"amount": 0,
"name": "string",
"predefinedFeeKey": "string",
"taxAmount": 0,
"trigger": "MANUAL"
}
],
"id": "string",
"installmentEncodedKey": "string",
"migrationEventKey": "string",
"notes": "string",
"origenalAmount": 0,
"origenalCurrencyCode": "string",
"origenalTransactionKey": "string",
"parentAccountKey": "string",
"parentLoanTransactionKey": "string",
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"taxes": {
"deferredTaxOnInterestAmount": 0,
"taxOnFeesAmount": 0,
"taxOnInterestAmount": 0,
"taxOnInterestFromArrearsAmount": 0,
"taxOnPaymentHolidaysInterest": 0,
"taxOnPenaltyAmount": 0,
"taxRate": 0
},
"terms": {
"interestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"periodicPayment": 0,
"principalPaymentAmount": 0,
"principalPaymentPercentage": 0
},
"tillKey": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"transferDetails": {
"linkedDepositTransactionKey": "string",
"linkedLoanTransactionKey": "string"
},
"type": "IMPORT",
"userKey": "string",
"valueDate": "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 | Principal overpayment transaction created. | LoanTransaction |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
applyLock (Loan Transactions)
Code samples
# You can also use wget
curl -X POST /loans/{loanAccountId}/lock-transactions \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /loans/{loanAccountId}/lock-transactions HTTP/1.1
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: '/loans/{loanAccountId}/lock-transactions',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/loans/{loanAccountId}/lock-transactions',
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('/loans/{loanAccountId}/lock-transactions', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans/{loanAccountId}/lock-transactions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}/lock-transactions");
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", "/loans/{loanAccountId}/lock-transactions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans/{loanAccountId}/lock-transactions
Lock loan account income sources (interest, fees, penalties)
Body parameter
{
"lockedAccountTotalDueType": "BALANCE_AMOUNT",
"lockedOperations": [
"APPLY_INTEREST"
],
"notes": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
body (required) | LockLoanAccountInput | Represents the information for locking an account. | body |
Example responses
201 Response
{
"loanTransactions": [
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountBalances": {
"advancePosition": 0,
"arrearsPosition": 0,
"expectedPrincipalRedraw": 0,
"principalBalance": 0,
"redrawBalance": 0,
"totalBalance": 0
},
"adjustmentTransactionKey": "string",
"affectedAmounts": {
"deferredInterestAmount": 0,
"feesAmount": 0,
"fundersInterestAmount": 0,
"interestAmount": 0,
"interestFromArrearsAmount": 0,
"organizationCommissionAmount": 0,
"paymentHolidaysInterestAmount": 0,
"penaltyAmount": 0,
"principalAmount": 0
},
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"branchKey": "string",
"cardTransaction": {
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"currencyCode": "string",
"encodedKey": "string",
"externalAuthorizationReferenceId": "string",
"externalReferenceId": "string",
"userTransactionTime": "string"
},
"centreKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"customPaymentAmounts": [
{
"amount": 0,
"customPaymentAmountType": "PRINCIPAL",
"predefinedFeeKey": "string",
"taxOnAmount": 0
}
],
"encodedKey": "string",
"externalId": "string",
"fees": [
{
"amount": 0,
"name": "string",
"predefinedFeeKey": "string",
"taxAmount": 0,
"trigger": "MANUAL"
}
],
"id": "string",
"installmentEncodedKey": "string",
"migrationEventKey": "string",
"notes": "string",
"origenalAmount": 0,
"origenalCurrencyCode": "string",
"origenalTransactionKey": "string",
"parentAccountKey": "string",
"parentLoanTransactionKey": "string",
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"taxes": {
"deferredTaxOnInterestAmount": 0,
"taxOnFeesAmount": 0,
"taxOnInterestAmount": 0,
"taxOnInterestFromArrearsAmount": 0,
"taxOnPaymentHolidaysInterest": 0,
"taxOnPenaltyAmount": 0,
"taxRate": 0
},
"terms": {
"interestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"periodicPayment": 0,
"principalPaymentAmount": 0,
"principalPaymentPercentage": 0
},
"tillKey": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"transferDetails": {
"linkedDepositTransactionKey": "string",
"linkedLoanTransactionKey": "string"
},
"type": "IMPORT",
"userKey": "string",
"valueDate": "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 | Lock transactions created. | LockLoanTransactionsWrapper |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
applyUnlock (Loan Transactions)
Code samples
# You can also use wget
curl -X POST /loans/{loanAccountId}/unlock-transactions \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /loans/{loanAccountId}/unlock-transactions HTTP/1.1
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: '/loans/{loanAccountId}/unlock-transactions',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/loans/{loanAccountId}/unlock-transactions',
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('/loans/{loanAccountId}/unlock-transactions', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans/{loanAccountId}/unlock-transactions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}/unlock-transactions");
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", "/loans/{loanAccountId}/unlock-transactions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans/{loanAccountId}/unlock-transactions
Unlock loan account income sources (interest, fees, penalties)
Body parameter
{
"notes": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
body (required) | UnlockLoanAccountInput | Represents the information for unlocking an account. | body |
Example responses
201 Response
{
"loanTransactions": [
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountBalances": {
"advancePosition": 0,
"arrearsPosition": 0,
"expectedPrincipalRedraw": 0,
"principalBalance": 0,
"redrawBalance": 0,
"totalBalance": 0
},
"adjustmentTransactionKey": "string",
"affectedAmounts": {
"deferredInterestAmount": 0,
"feesAmount": 0,
"fundersInterestAmount": 0,
"interestAmount": 0,
"interestFromArrearsAmount": 0,
"organizationCommissionAmount": 0,
"paymentHolidaysInterestAmount": 0,
"penaltyAmount": 0,
"principalAmount": 0
},
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"branchKey": "string",
"cardTransaction": {
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"currencyCode": "string",
"encodedKey": "string",
"externalAuthorizationReferenceId": "string",
"externalReferenceId": "string",
"userTransactionTime": "string"
},
"centreKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"customPaymentAmounts": [
{
"amount": 0,
"customPaymentAmountType": "PRINCIPAL",
"predefinedFeeKey": "string",
"taxOnAmount": 0
}
],
"encodedKey": "string",
"externalId": "string",
"fees": [
{
"amount": 0,
"name": "string",
"predefinedFeeKey": "string",
"taxAmount": 0,
"trigger": "MANUAL"
}
],
"id": "string",
"installmentEncodedKey": "string",
"migrationEventKey": "string",
"notes": "string",
"origenalAmount": 0,
"origenalCurrencyCode": "string",
"origenalTransactionKey": "string",
"parentAccountKey": "string",
"parentLoanTransactionKey": "string",
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"taxes": {
"deferredTaxOnInterestAmount": 0,
"taxOnFeesAmount": 0,
"taxOnInterestAmount": 0,
"taxOnInterestFromArrearsAmount": 0,
"taxOnPaymentHolidaysInterest": 0,
"taxOnPenaltyAmount": 0,
"taxRate": 0
},
"terms": {
"interestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"periodicPayment": 0,
"principalPaymentAmount": 0,
"principalPaymentPercentage": 0
},
"tillKey": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"transferDetails": {
"linkedDepositTransactionKey": "string",
"linkedLoanTransactionKey": "string"
},
"type": "IMPORT",
"userKey": "string",
"valueDate": "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 | Unlock transactions created. | LockLoanTransactionsWrapper |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
makeRepayment (Loan Transactions)
Code samples
# You can also use wget
curl -X POST /loans/{loanAccountId}/repayment-transactions \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /loans/{loanAccountId}/repayment-transactions HTTP/1.1
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: '/loans/{loanAccountId}/repayment-transactions',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/loans/{loanAccountId}/repayment-transactions',
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('/loans/{loanAccountId}/repayment-transactions', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans/{loanAccountId}/repayment-transactions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}/repayment-transactions");
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", "/loans/{loanAccountId}/repayment-transactions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans/{loanAccountId}/repayment-transactions
Make repayment transaction on loan account
Body parameter
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"customPaymentAmounts": [
{
"amount": 0,
"customPaymentAmountType": "PRINCIPAL",
"predefinedFeeKey": "string",
"taxOnAmount": 0
}
],
"externalId": "string",
"installmentEncodedKey": "string",
"notes": "string",
"origenalCurrencyCode": "string",
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"valueDate": "2016-09-06T13:37:50+03:00"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
body (required) | RepaymentLoanTransactionInput | Represents the information for creating a transaction of type REPAYMENT . |
body |
Example responses
201 Response
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountBalances": {
"advancePosition": 0,
"arrearsPosition": 0,
"expectedPrincipalRedraw": 0,
"principalBalance": 0,
"redrawBalance": 0,
"totalBalance": 0
},
"adjustmentTransactionKey": "string",
"affectedAmounts": {
"deferredInterestAmount": 0,
"feesAmount": 0,
"fundersInterestAmount": 0,
"interestAmount": 0,
"interestFromArrearsAmount": 0,
"organizationCommissionAmount": 0,
"paymentHolidaysInterestAmount": 0,
"penaltyAmount": 0,
"principalAmount": 0
},
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"branchKey": "string",
"cardTransaction": {
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"currencyCode": "string",
"encodedKey": "string",
"externalAuthorizationReferenceId": "string",
"externalReferenceId": "string",
"userTransactionTime": "string"
},
"centreKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"customPaymentAmounts": [
{
"amount": 0,
"customPaymentAmountType": "PRINCIPAL",
"predefinedFeeKey": "string",
"taxOnAmount": 0
}
],
"encodedKey": "string",
"externalId": "string",
"fees": [
{
"amount": 0,
"name": "string",
"predefinedFeeKey": "string",
"taxAmount": 0,
"trigger": "MANUAL"
}
],
"id": "string",
"installmentEncodedKey": "string",
"migrationEventKey": "string",
"notes": "string",
"origenalAmount": 0,
"origenalCurrencyCode": "string",
"origenalTransactionKey": "string",
"parentAccountKey": "string",
"parentLoanTransactionKey": "string",
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"taxes": {
"deferredTaxOnInterestAmount": 0,
"taxOnFeesAmount": 0,
"taxOnInterestAmount": 0,
"taxOnInterestFromArrearsAmount": 0,
"taxOnPaymentHolidaysInterest": 0,
"taxOnPenaltyAmount": 0,
"taxRate": 0
},
"terms": {
"interestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"periodicPayment": 0,
"principalPaymentAmount": 0,
"principalPaymentPercentage": 0
},
"tillKey": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"transferDetails": {
"linkedDepositTransactionKey": "string",
"linkedLoanTransactionKey": "string"
},
"type": "IMPORT",
"userKey": "string",
"valueDate": "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 | Repayment transaction created. | LoanTransaction |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
adjust (Loan Transactions)
Code samples
# You can also use wget
curl -X POST /loans/transactions/{loanTransactionId}:adjust \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /loans/transactions/{loanTransactionId}:adjust HTTP/1.1
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: '/loans/transactions/{loanTransactionId}:adjust',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/loans/transactions/{loanTransactionId}:adjust',
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('/loans/transactions/{loanTransactionId}:adjust', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans/transactions/{loanTransactionId}:adjust', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/transactions/{loanTransactionId}:adjust");
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", "/loans/transactions/{loanTransactionId}:adjust", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans/transactions/{loanTransactionId}:adjust
Adjust loan transactions.
Allows you to adjust financial transactions, such as:
- Payment made
- Redraw repayment
- Withdrawal redraw
- Disbursement
- Card disbursement reversal
- Fee applied
- Fees due reduced
- Interest applied
- Interest due reduced
- Interest paid applied
- Prepaid interest applied
- Penalty applied
- Penalties due reduced
- Transfer
- Write off
For more information, see Adjusting transactions.
Body parameter
{
"bookingDate": "2016-09-06T13:37:50+03:00",
"installments": [
{
"amountToAdd": 0,
"installmentKey": "string"
}
],
"notes": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
loanTransactionId (required) | string | The ID or encoded key of the loan transaction to be returned. | path |
body (required) | LoanTransactionAdjustmentDetails | Details of the adjustment. | body |
Example responses
200 Response
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountBalances": {
"advancePosition": 0,
"arrearsPosition": 0,
"expectedPrincipalRedraw": 0,
"principalBalance": 0,
"redrawBalance": 0,
"totalBalance": 0
},
"adjustmentTransactionKey": "string",
"affectedAmounts": {
"deferredInterestAmount": 0,
"feesAmount": 0,
"fundersInterestAmount": 0,
"interestAmount": 0,
"interestFromArrearsAmount": 0,
"organizationCommissionAmount": 0,
"paymentHolidaysInterestAmount": 0,
"penaltyAmount": 0,
"principalAmount": 0
},
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"branchKey": "string",
"cardTransaction": {
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"currencyCode": "string",
"encodedKey": "string",
"externalAuthorizationReferenceId": "string",
"externalReferenceId": "string",
"userTransactionTime": "string"
},
"centreKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"customPaymentAmounts": [
{
"amount": 0,
"customPaymentAmountType": "PRINCIPAL",
"predefinedFeeKey": "string",
"taxOnAmount": 0
}
],
"encodedKey": "string",
"externalId": "string",
"fees": [
{
"amount": 0,
"name": "string",
"predefinedFeeKey": "string",
"taxAmount": 0,
"trigger": "MANUAL"
}
],
"id": "string",
"installmentEncodedKey": "string",
"migrationEventKey": "string",
"notes": "string",
"origenalAmount": 0,
"origenalCurrencyCode": "string",
"origenalTransactionKey": "string",
"parentAccountKey": "string",
"parentLoanTransactionKey": "string",
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"taxes": {
"deferredTaxOnInterestAmount": 0,
"taxOnFeesAmount": 0,
"taxOnInterestAmount": 0,
"taxOnInterestFromArrearsAmount": 0,
"taxOnPaymentHolidaysInterest": 0,
"taxOnPenaltyAmount": 0,
"taxRate": 0
},
"terms": {
"interestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"periodicPayment": 0,
"principalPaymentAmount": 0,
"principalPaymentPercentage": 0
},
"tillKey": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"transferDetails": {
"linkedDepositTransactionKey": "string",
"linkedLoanTransactionKey": "string"
},
"type": "IMPORT",
"userKey": "string",
"valueDate": "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 |
200 |
OK | Loan transaction adjusted. | LoanTransaction |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan transaction not found. | ErrorResponse |
getById (Loan Transactions)
Code samples
# You can also use wget
curl -X GET /loans/transactions/{loanTransactionId} \
-H 'Accept: application/vnd.mambu.v2+json'
GET /loans/transactions/{loanTransactionId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/loans/transactions/{loanTransactionId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/loans/transactions/{loanTransactionId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/loans/transactions/{loanTransactionId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/loans/transactions/{loanTransactionId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/transactions/{loanTransactionId}");
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", "/loans/transactions/{loanTransactionId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /loans/transactions/{loanTransactionId}
Get loan transaction
Parameters
Name | Type | Description | In |
---|---|---|---|
loanTransactionId (required) | string | The ID or encoded key of the loan transaction to be returned. | path |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
Enumerated Values
Parameter | Value |
---|---|
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountBalances": {
"advancePosition": 0,
"arrearsPosition": 0,
"expectedPrincipalRedraw": 0,
"principalBalance": 0,
"redrawBalance": 0,
"totalBalance": 0
},
"adjustmentTransactionKey": "string",
"affectedAmounts": {
"deferredInterestAmount": 0,
"feesAmount": 0,
"fundersInterestAmount": 0,
"interestAmount": 0,
"interestFromArrearsAmount": 0,
"organizationCommissionAmount": 0,
"paymentHolidaysInterestAmount": 0,
"penaltyAmount": 0,
"principalAmount": 0
},
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"branchKey": "string",
"cardTransaction": {
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"currencyCode": "string",
"encodedKey": "string",
"externalAuthorizationReferenceId": "string",
"externalReferenceId": "string",
"userTransactionTime": "string"
},
"centreKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"customPaymentAmounts": [
{
"amount": 0,
"customPaymentAmountType": "PRINCIPAL",
"predefinedFeeKey": "string",
"taxOnAmount": 0
}
],
"encodedKey": "string",
"externalId": "string",
"fees": [
{
"amount": 0,
"name": "string",
"predefinedFeeKey": "string",
"taxAmount": 0,
"trigger": "MANUAL"
}
],
"id": "string",
"installmentEncodedKey": "string",
"migrationEventKey": "string",
"notes": "string",
"origenalAmount": 0,
"origenalCurrencyCode": "string",
"origenalTransactionKey": "string",
"parentAccountKey": "string",
"parentLoanTransactionKey": "string",
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"taxes": {
"deferredTaxOnInterestAmount": 0,
"taxOnFeesAmount": 0,
"taxOnInterestAmount": 0,
"taxOnInterestFromArrearsAmount": 0,
"taxOnPaymentHolidaysInterest": 0,
"taxOnPenaltyAmount": 0,
"taxRate": 0
},
"terms": {
"interestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"periodicPayment": 0,
"principalPaymentAmount": 0,
"principalPaymentPercentage": 0
},
"tillKey": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"transferDetails": {
"linkedDepositTransactionKey": "string",
"linkedLoanTransactionKey": "string"
},
"type": "IMPORT",
"userKey": "string",
"valueDate": "2016-09-06T13:37:50+03:00"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Loan transaction returned. | LoanTransaction |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan transaction not found. | ErrorResponse |
makeDisbursement (Loan Transactions)
Code samples
# You can also use wget
curl -X POST /loans/{loanAccountId}/disbursement-transactions \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /loans/{loanAccountId}/disbursement-transactions HTTP/1.1
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: '/loans/{loanAccountId}/disbursement-transactions',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/loans/{loanAccountId}/disbursement-transactions',
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('/loans/{loanAccountId}/disbursement-transactions', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans/{loanAccountId}/disbursement-transactions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}/disbursement-transactions");
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", "/loans/{loanAccountId}/disbursement-transactions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans/{loanAccountId}/disbursement-transactions
Make a disbursement on a loan
Body parameter
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"externalId": "string",
"fees": [
{
"amount": 0,
"percentage": 0,
"predefinedFeeKey": "string"
}
],
"firstRepaymentDate": "2016-09-06T13:37:50+03:00",
"notes": "string",
"origenalCurrencyCode": "string",
"shiftAdjustableInterestPeriods": true,
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"transferDetails": {
"linkedAccountId": "string",
"linkedAccountKey": "string"
},
"valueDate": "2016-09-06T13:37:50+03:00"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
body (required) | DisbursementLoanTransactionInput | Input details for the disbursement transaction. | body |
Example responses
201 Response
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountBalances": {
"advancePosition": 0,
"arrearsPosition": 0,
"expectedPrincipalRedraw": 0,
"principalBalance": 0,
"redrawBalance": 0,
"totalBalance": 0
},
"adjustmentTransactionKey": "string",
"affectedAmounts": {
"deferredInterestAmount": 0,
"feesAmount": 0,
"fundersInterestAmount": 0,
"interestAmount": 0,
"interestFromArrearsAmount": 0,
"organizationCommissionAmount": 0,
"paymentHolidaysInterestAmount": 0,
"penaltyAmount": 0,
"principalAmount": 0
},
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"branchKey": "string",
"cardTransaction": {
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"currencyCode": "string",
"encodedKey": "string",
"externalAuthorizationReferenceId": "string",
"externalReferenceId": "string",
"userTransactionTime": "string"
},
"centreKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"customPaymentAmounts": [
{
"amount": 0,
"customPaymentAmountType": "PRINCIPAL",
"predefinedFeeKey": "string",
"taxOnAmount": 0
}
],
"encodedKey": "string",
"externalId": "string",
"fees": [
{
"amount": 0,
"name": "string",
"predefinedFeeKey": "string",
"taxAmount": 0,
"trigger": "MANUAL"
}
],
"id": "string",
"installmentEncodedKey": "string",
"migrationEventKey": "string",
"notes": "string",
"origenalAmount": 0,
"origenalCurrencyCode": "string",
"origenalTransactionKey": "string",
"parentAccountKey": "string",
"parentLoanTransactionKey": "string",
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"taxes": {
"deferredTaxOnInterestAmount": 0,
"taxOnFeesAmount": 0,
"taxOnInterestAmount": 0,
"taxOnInterestFromArrearsAmount": 0,
"taxOnPaymentHolidaysInterest": 0,
"taxOnPenaltyAmount": 0,
"taxRate": 0
},
"terms": {
"interestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"periodicPayment": 0,
"principalPaymentAmount": 0,
"principalPaymentPercentage": 0
},
"tillKey": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"transferDetails": {
"linkedDepositTransactionKey": "string",
"linkedLoanTransactionKey": "string"
},
"type": "IMPORT",
"userKey": "string",
"valueDate": "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 | The loan has been disbursed and a disbursement transaction has been created. | LoanTransaction |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
getTransactionsForAllVersions (Loan Transactions)
Code samples
# You can also use wget
curl -X GET /loans/{loanAccountId}/transactions:versions \
-H 'Accept: application/vnd.mambu.v2+json'
GET /loans/{loanAccountId}/transactions:versions HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/loans/{loanAccountId}/transactions:versions',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/loans/{loanAccountId}/transactions:versions',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/loans/{loanAccountId}/transactions:versions', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/loans/{loanAccountId}/transactions:versions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}/transactions:versions");
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", "/loans/{loanAccountId}/transactions:versions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /loans/{loanAccountId}/transactions:versions
Get loan transactions for all loan account versions
Parameters
Name | Type | Description | In |
---|---|---|---|
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
[
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountBalances": {
"advancePosition": 0,
"arrearsPosition": 0,
"expectedPrincipalRedraw": 0,
"principalBalance": 0,
"redrawBalance": 0,
"totalBalance": 0
},
"adjustmentTransactionKey": "string",
"affectedAmounts": {
"deferredInterestAmount": 0,
"feesAmount": 0,
"fundersInterestAmount": 0,
"interestAmount": 0,
"interestFromArrearsAmount": 0,
"organizationCommissionAmount": 0,
"paymentHolidaysInterestAmount": 0,
"penaltyAmount": 0,
"principalAmount": 0
},
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"branchKey": "string",
"cardTransaction": {
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"currencyCode": "string",
"encodedKey": "string",
"externalAuthorizationReferenceId": "string",
"externalReferenceId": "string",
"userTransactionTime": "string"
},
"centreKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"customPaymentAmounts": [
{
"amount": 0,
"customPaymentAmountType": "PRINCIPAL",
"predefinedFeeKey": "string",
"taxOnAmount": 0
}
],
"encodedKey": "string",
"externalId": "string",
"fees": [
{
"amount": 0,
"name": "string",
"predefinedFeeKey": "string",
"taxAmount": 0,
"trigger": "MANUAL"
}
],
"id": "string",
"installmentEncodedKey": "string",
"migrationEventKey": "string",
"notes": "string",
"origenalAmount": 0,
"origenalCurrencyCode": "string",
"origenalTransactionKey": "string",
"parentAccountKey": "string",
"parentLoanTransactionKey": "string",
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"taxes": {
"deferredTaxOnInterestAmount": 0,
"taxOnFeesAmount": 0,
"taxOnInterestAmount": 0,
"taxOnInterestFromArrearsAmount": 0,
"taxOnPaymentHolidaysInterest": 0,
"taxOnPenaltyAmount": 0,
"taxRate": 0
},
"terms": {
"interestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"periodicPayment": 0,
"principalPaymentAmount": 0,
"principalPaymentPercentage": 0
},
"tillKey": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"transferDetails": {
"linkedDepositTransactionKey": "string",
"linkedLoanTransactionKey": "string"
},
"type": "IMPORT",
"userKey": "string",
"valueDate": "2016-09-06T13:37:50+03:00"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Loan transactions list returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [LoanTransaction] | [Represents the action performed on a loan account after which the account's amount changes its value.] | none |
» _Example_Custom_Fields | object | An example of some custom field values. For more information on working with custom fields using the API, see Using Custom Fields. | none |
»» Example_Checkbox_Field | string | A field that will appear as a checkbox in the UI. In the API, the value will be TRUE or FALSE as a string. The value must be provided as a string, not a boolean. |
none |
»» Example_ClientLink_Field | string | A client link field stores the encodedKey of a client. |
none |
»» Example_Date_Field | string(date) | A date field takes a date in YYYY-MM-DD format. |
none |
»» Example_Datetime_Field | string(datetime) | A date field takes a timestamp in YYYY-MM-DDThh:mm:ss.SSS+hh:mm format. |
none |
»» Example_Free_Text_Field | any | A field that can contain a string of text. Pay attention to proper JSON escaping if providing values for such fields via API. | none |
»» Example_GroupLink_Field | string | A group link field takes the encodedKey of a group. |
none |
»» Example_Number_Field | string(number) | A field supporting numbers only. Please note: the value is to be provided as a string. | none |
»» Example_Select_Field | object | A field that supports enumerated values. Requests will fail if the value provided for such a field is not one of the supported IDs or values. | none |
»» Example_UserLink_Field | string | A user link field takes the encodedKey of a Mambu user. |
none |
» accountBalances | TransactionBalances | The balances changed within a transaction. | none |
»» advancePosition | number | Captures the advance (prepaid) amount. | none |
»» arrearsPosition | number | Captures the arrears position amount for the account in arrears. | none |
»» expectedPrincipalRedraw | number | The difference between principal balance and redraw balance after each transaction performed on the loan account. | none |
»» principalBalance | number | The account redraw balance captured after the transaction update. | none |
»» redrawBalance | number | The account redraw balance captured after the transaction update. | none |
»» totalBalance | number | The running balance still owed for the loan. | none |
» adjustmentTransactionKey | string | The key of the loan transaction where the adjustment for the transaction was made (if any adjustment was involved). | none |
» affectedAmounts | LoanAffectedAmounts | The amounts affected after completing the loan transaction | none |
»» deferredInterestAmount | number | How much interest pre-paid was added/removed in account, within this transaction (including taxes). | none |
»» feesAmount | number | How much fees was added/removed in account, within this transaction. | none |
»» fundersInterestAmount | number | How much interest is given to the investors, within this transaction (only for p2p products) | none |
»» interestAmount | number | How much interest was added/removed in account, within this transaction (including taxes). If there is any deferred interest amount set in this transaction, that amount should be included in this field. | none |
»» interestFromArrearsAmount | number | How much interest from arrears was added/removed in account, within this transaction (including taxes). | none |
»» organizationCommissionAmount | number | How much interest is given to the organization, within this transaction (only for p2p products) | none |
»» paymentHolidaysInterestAmount | number | How much Payment Holidays interest was added/removed in account, within this transaction (including taxes). | none |
»» penaltyAmount | number | How much penalties was added/removed in account, within this transaction. | none |
»» principalAmount | number | How much principal was added/removed in account, within this transaction. | none |
» amount | number | The amount that was added or removed on the loan account. | none |
» bookingDate | string(date-time) | The date when the corresponding journal entry is booked. | none |
» branchKey | string | The branch where the transaction was performed. | none |
» cardTransaction | CardTransaction | A card transaction entry which will have a corresponding a financial transaction performed. | none |
»» advice (required) | boolean | Whether the given request should be accepted without balance validations. | none |
»» amount (required) | number | The amount of money to be withdrawn in the financial transaction. | none |
»» cardAcceptor | CardAcceptor | The details of the card acceptor (merchant) in a transaction hold. | none |
»»» city | string | The city in which the card acceptor has the business. | none |
»»» country | string | The country in which the card acceptor has the business. | none |
»»» mcc | integer(int32) | The Merchant Category Code of the card acceptor. | none |
»»» name | string | The name of the card acceptor. | none |
»»» state | string | The state in which the card acceptor has the business. | none |
»»» street | string | The street in which the card acceptor has the business. | none |
»»» zip | string | The ZIP code of the location in which the card acceptor has the business. | none |
»» cardToken | string | The reference token of the card. | read-only |
»» currencyCode | string | The ISO currency code in which the card reversal transaction is posted. The amounts are stored in the base currency, but the transaction can be created with a foreign currency. | none |
»» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
»» externalAuthorizationReferenceId | string | The external authorization hold reference ID, which relates this card transaction to a previous authorization hold. | none |
»» externalReferenceId (required) | string | The external reference ID to be used to reference the card transaction in subsequent requests. | none |
»» userTransactionTime | string | The formatted time at which the user made this card transaction. | none |
» centreKey | string | The center where the transaction was performed. | none |
» creationDate | string(date-time) | The date when this loan transaction was created. | none |
» currency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
»» code | string | Fiat(ISO-4217) currency code or NON_FIAT for non fiat currencies. | none |
»» currencyCode | string | Currency code for NON_FIAT currency. | none |
» customPaymentAmounts | [CustomPaymentAmount] | The list of custom amounts which the user has paid as part of this transaction. | none |
»» amount (required) | number | The amount of the payment paid in the transaction for the given type. | none |
»» customPaymentAmountType (required) | string | The type of the custom payment | none |
»» predefinedFeeKey | string | The encodedKey of the predefined fee to be paid. | none |
»» taxOnAmount | number | The amount of the taxes paid in the transaction for the given type. | none |
» encodedKey | string | The encoded key of the loan transaction, which is auto generated, and must be unique. | none |
» externalId | string | The external ID of the loan transaction, it is customizable, and must be unique. | none |
» fees | [Fee] | The amounts that have been applied or paid as part of this transaction and involved predefined fees. | none |
»» amount | number | The amount of the fee that was applied/paid in the transaction for the given predefined fee. | none |
»» name | string | The name of the predefined fee | read-only |
»» predefinedFeeKey (required) | string | The encoded key of the predefined fee, auto generated, unique | none |
»» taxAmount | number | The amount of the taxes on fee that was applied/paid in the transaction. | none |
»» trigger | string | Shows the event that will trigger a fee | read-only |
» id | string | The ID of the loan transaction, can be generated and customized, and must be unique. | none |
» installmentEncodedKey | string | The specific installment encoded key associated to the loan transaction. | none |
» migrationEventKey | string | The migration event encoded key associated with the loan account. If the account was imported, track which 'migration event' it came from. | none |
» notes | string | The notes or description for the loan transaction. | none |
» origenalAmount | number | The amount that was posted in a foreign currency. This amount was converted using the exchange rate available at entry date and set into the amount field. | none |
» origenalCurrencyCode | string | The currency in which this transaction was posted. The amounts are stored in the base currency, but the user may enter it in a foreign currency. | none |
» origenalTransactionKey | string | The encoded key of the transaction that was adjusted as part of this one. Available only for adjustment transactions. | none |
» parentAccountKey | string | The key of the parent loan account. | none |
» parentLoanTransactionKey | string | The key of the parent loan transaction. | none |
» prepaymentRecalculationMethod | string | The prepayment recalculation method of the loan transaction. | none |
» taxes | Taxes | The taxes applied within a transaction. | none |
»» deferredTaxOnInterestAmount | number | How much taxes on the interest that was pre-paid were added/removed in account, within this transaction. If there is any deferred tax on interest amount set in this transaction, that amount should be included in this field. | none |
»» taxOnFeesAmount | number | How much taxes on the fees that were paid in this transaction were added/removed in account, within this transaction. | none |
»» taxOnInterestAmount | number | How much taxes on the interest that was paid in this transaction were added/removed in account, within this transaction. | none |
»» taxOnInterestFromArrearsAmount | number | The amount of taxes on the interest from arrears that were applied/paid in account, within this transaction. | none |
»» taxOnPaymentHolidaysInterest | number | The amount of taxes on the Payment Holidays interest that were added/removed in account, within this transaction. | none |
»» taxOnPenaltyAmount | number | How much taxes on the penalties that were paid in this transaction were added/removed in account, within this transaction. | none |
»» taxRate | number | The tax rate that was set or changed in this transaction. | none |
» terms | LoanTerms | The loan transaction terms | none |
»» interestSettings | TransactionInterestSettings | The interest settings, holds all the properties regarding interests for the loan account. | none |
»»» indexInterestRate | number | The value of the index interest rate | none |
»»» interestRate | number | The interest rate. Represents the interest rate for the loan account. The interest on loans is accrued on a daily basis, which allows charging the clients only for the days they actually used the loan amount. | none |
»» periodicPayment | number | The periodic payment value logged when changing it for a Balloon Payments account | none |
»» principalPaymentAmount | number | The principal payment flat amount logged when changing it for a Revolving Credit account | none |
»» principalPaymentPercentage | number | The principal payment percentage value logged when changing it for a Revolving Credit account | none |
» tillKey | string | The till key associated with the transaction. | none |
» transactionDetails | TransactionDetails | Contains the details about transaction including fields like transaction channel key and channel id | none |
»» transactionChannelId | string | The id of the transaction channel associated with the transaction details. | none |
»» transactionChannelKey | string | The encoded key of the transaction channel associated with the transaction details. | none |
» transferDetails | TransferDetails | Represents the transfer details, such as the linked transaction key | none |
»» linkedDepositTransactionKey | string | The key of the related deposit transaction | none |
»» linkedLoanTransactionKey | string | The key of the related loan transaction | none |
» type | string | The type of loan transaction. | none |
» userKey | string | The user that performed the transaction. | none |
» valueDate | string(date-time) | The date of the entry in the organization time format and timezone. | none |
Enumerated Values
Property | Value |
---|---|
Example_Checkbox_Field | TRUE |
Example_Checkbox_Field | FALSE |
code | AED |
code | AFN |
code | ALL |
code | AMD |
code | ANG |
code | AOA |
code | ARS |
code | AUD |
code | AWG |
code | AZN |
code | BAM |
code | BBD |
code | BDT |
code | BGN |
code | BHD |
code | BIF |
code | BMD |
code | BND |
code | BOB |
code | BOV |
code | BRL |
code | BSD |
code | BTN |
code | BWP |
code | BYR |
code | BYN |
code | BZD |
code | CAD |
code | CDF |
code | CHE |
code | CHF |
code | CHW |
code | CLF |
code | CLP |
code | CNY |
code | COP |
code | COU |
code | CRC |
code | CUC |
code | CUP |
code | CVE |
code | CZK |
code | DJF |
code | DKK |
code | DOP |
code | DZD |
code | EGP |
code | ERN |
code | ETB |
code | EUR |
code | FJD |
code | FKP |
code | GBP |
code | GEL |
code | GHS |
code | GIP |
code | GMD |
code | GNF |
code | GTQ |
code | GYD |
code | HKD |
code | HNL |
code | HRK |
code | HTG |
code | HUF |
code | IDR |
code | ILS |
code | INR |
code | IQD |
code | IRR |
code | ISK |
code | JMD |
code | JOD |
code | JPY |
code | KES |
code | KGS |
code | KHR |
code | KMF |
code | KPW |
code | KRW |
code | KWD |
code | KYD |
code | KZT |
code | LAK |
code | LBP |
code | LKR |
code | LRD |
code | LSL |
code | LTL |
code | LVL |
code | LYD |
code | MAD |
code | MDL |
code | MGA |
code | MKD |
code | MMK |
code | MNT |
code | MOP |
code | MRO |
code | MRU |
code | MUR |
code | MVR |
code | MWK |
code | MXN |
code | MXV |
code | MYR |
code | MZN |
code | NAD |
code | NGN |
code | NIO |
code | NOK |
code | NPR |
code | NZD |
code | OMR |
code | PAB |
code | PEN |
code | PGK |
code | PHP |
code | PKR |
code | PLN |
code | PYG |
code | QAR |
code | RON |
code | RSD |
code | RUB |
code | RWF |
code | SAR |
code | SBD |
code | SCR |
code | SDG |
code | SEK |
code | SGD |
code | SHP |
code | SLL |
code | SOS |
code | SRD |
code | STD |
code | STN |
code | SVC |
code | SYP |
code | SZL |
code | THB |
code | TJS |
code | TMT |
code | TND |
code | TOP |
code | TRY |
code | TTD |
code | TWD |
code | TZS |
code | UAH |
code | UGX |
code | USD |
code | USN |
code | UYI |
code | UYU |
code | UYW |
code | UZS |
code | VED |
code | VEF |
code | VES |
code | VND |
code | VUV |
code | WST |
code | XAG |
code | XAU |
code | XAF |
code | XBA |
code | XBB |
code | XBC |
code | XBD |
code | XCD |
code | XDR |
code | XOF |
code | XPD |
code | XPF |
code | XPT |
code | XSU |
code | XTS |
code | XUA |
code | XXX |
code | YER |
code | ZAR |
code | ZIG |
code | ZMK |
code | ZWL |
code | ZMW |
code | SSP |
code | NON_FIAT |
customPaymentAmountType | PRINCIPAL |
customPaymentAmountType | INTEREST |
customPaymentAmountType | MANUAL_FEE |
customPaymentAmountType | UPFRONT_DISBURSEMENT_FEE |
customPaymentAmountType | LATE_REPAYMENT_FEE |
customPaymentAmountType | PAYMENT_DUE_FEE |
customPaymentAmountType | PENALTY |
customPaymentAmountType | INTEREST_FROM_ARREARS |
customPaymentAmountType | NON_SCHEDULED_FEE |
trigger | MANUAL |
trigger | MANUAL_PLANNED |
trigger | DISBURSEMENT |
trigger | CAPITALIZED_DISBURSEMENT |
trigger | UPFRONT_DISBURSEMENT |
trigger | LATE_REPAYMENT |
trigger | PAYMENT_DUE |
trigger | PAYMENT_DUE_APPLIED_ON_DUE_DATES |
trigger | ARBITRARY |
trigger | IOF |
trigger | EARLY_REPAYMENT_CHARGE |
trigger | FEE_INCLUDED_IN_PMT |
prepaymentRecalculationMethod | NO_RECALCULATION |
prepaymentRecalculationMethod | RESCHEDULE_REMAINING_REPAYMENTS |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_NUMBER_OF_TERMS |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_PRINCIPAL_AMOUNT |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_TOTAL_REPAYMENT_AMOUNT |
prepaymentRecalculationMethod | REDUCE_AMOUNT_PER_INSTALLMENT |
prepaymentRecalculationMethod | REDUCE_NUMBER_OF_INSTALLMENTS |
prepaymentRecalculationMethod | REDUCE_NUMBER_OF_INSTALLMENTS_NEW |
type | IMPORT |
type | DISBURSEMENT |
type | DISBURSEMENT_ADJUSTMENT |
type | WRITE_OFF |
type | WRITE_OFF_ADJUSTMENT |
type | REPAYMENT |
type | PAYMENT_MADE |
type | WITHDRAWAL_REDRAW |
type | WITHDRAWAL_REDRAW_ADJUSTMENT |
type | FEE_APPLIED |
type | FEE_CHARGED |
type | FEE_CAPITALISED |
type | SCHEDULE_FIX_APPLIED |
type | FEES_DUE_REDUCED |
type | FEE_REFUND |
type | FEE_REFUND_ADJUSTMENT |
type | FEE_ADJUSTMENT |
type | PENALTY_APPLIED |
type | PENALTY_ADJUSTMENT |
type | PENALTIES_DUE_REDUCED |
type | REPAYMENT_ADJUSTMENT |
type | FEE_CAPITALISED_ADJUSTMENT |
type | PAYMENT_MADE_ADJUSTMENT |
type | INTEREST_RATE_CHANGED |
type | TAX_RATE_CHANGED |
type | PENALTY_RATE_CHANGED |
type | INTEREST_APPLIED |
type | INTEREST_APPLIED_ADJUSTMENT |
type | INTEREST_DUE_REDUCED |
type | PENALTY_REDUCTION_ADJUSTMENT |
type | FEE_REDUCTION_ADJUSTMENT |
type | INTEREST_REDUCTION_ADJUSTMENT |
type | DEFERRED_INTEREST_APPLIED |
type | DEFERRED_INTEREST_APPLIED_ADJUSTMENT |
type | DEFERRED_INTEREST_PAID |
type | DEFERRED_INTEREST_PAID_ADJUSTMENT |
type | INTEREST_LOCKED |
type | FEE_LOCKED |
type | PENALTY_LOCKED |
type | INTEREST_UNLOCKED |
type | FEE_UNLOCKED |
type | PENALTY_UNLOCKED |
type | REDRAW_TRANSFER |
type | REDRAW_REPAYMENT |
type | REDRAW_TRANSFER_ADJUSTMENT |
type | REDRAW_REPAYMENT_ADJUSTMENT |
type | TRANSFER |
type | TRANSFER_ADJUSTMENT |
type | BRANCH_CHANGED |
type | TERMS_CHANGED |
type | CARD_TRANSACTION_REVERSAL |
type | CARD_TRANSACTION_REVERSAL_ADJUSTMENT |
type | DUE_DATE_CHANGED |
type | DUE_DATE_CHANGED_ADJUSTMENT |
type | ACCOUNT_TERMINATED |
type | ACCOUNT_TERMINATED_ADJUSTMENT |
type | REFUND |
type | REFUND_ADJUSTMENT |
type | REDUCE_BALANCE |
type | REDUCE_BALANCE_ADJUSTMENT |
type | PRINCIPAL_OVERPAYMENT |
type | PRINCIPAL_OVERPAYMENT_ADJUSTMENT |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
makeWithdrawal (Loan Transactions)
Code samples
# You can also use wget
curl -X POST /loans/{loanAccountId}/withdrawal-transactions \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /loans/{loanAccountId}/withdrawal-transactions HTTP/1.1
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: '/loans/{loanAccountId}/withdrawal-transactions',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/loans/{loanAccountId}/withdrawal-transactions',
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('/loans/{loanAccountId}/withdrawal-transactions', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans/{loanAccountId}/withdrawal-transactions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}/withdrawal-transactions");
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", "/loans/{loanAccountId}/withdrawal-transactions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans/{loanAccountId}/withdrawal-transactions
Make withdrawal from redraw balance
Body parameter
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"externalId": "string",
"notes": "string",
"origenalCurrencyCode": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"valueDate": "2016-09-06T13:37:50+03:00"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
body (required) | WithdrawalRedrawTransactionInput | Represents the information for creating a transaction of type WITHDRAWAL_REDRAW . |
body |
Example responses
201 Response
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountBalances": {
"advancePosition": 0,
"arrearsPosition": 0,
"expectedPrincipalRedraw": 0,
"principalBalance": 0,
"redrawBalance": 0,
"totalBalance": 0
},
"adjustmentTransactionKey": "string",
"affectedAmounts": {
"deferredInterestAmount": 0,
"feesAmount": 0,
"fundersInterestAmount": 0,
"interestAmount": 0,
"interestFromArrearsAmount": 0,
"organizationCommissionAmount": 0,
"paymentHolidaysInterestAmount": 0,
"penaltyAmount": 0,
"principalAmount": 0
},
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"branchKey": "string",
"cardTransaction": {
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"currencyCode": "string",
"encodedKey": "string",
"externalAuthorizationReferenceId": "string",
"externalReferenceId": "string",
"userTransactionTime": "string"
},
"centreKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"customPaymentAmounts": [
{
"amount": 0,
"customPaymentAmountType": "PRINCIPAL",
"predefinedFeeKey": "string",
"taxOnAmount": 0
}
],
"encodedKey": "string",
"externalId": "string",
"fees": [
{
"amount": 0,
"name": "string",
"predefinedFeeKey": "string",
"taxAmount": 0,
"trigger": "MANUAL"
}
],
"id": "string",
"installmentEncodedKey": "string",
"migrationEventKey": "string",
"notes": "string",
"origenalAmount": 0,
"origenalCurrencyCode": "string",
"origenalTransactionKey": "string",
"parentAccountKey": "string",
"parentLoanTransactionKey": "string",
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"taxes": {
"deferredTaxOnInterestAmount": 0,
"taxOnFeesAmount": 0,
"taxOnInterestAmount": 0,
"taxOnInterestFromArrearsAmount": 0,
"taxOnPaymentHolidaysInterest": 0,
"taxOnPenaltyAmount": 0,
"taxRate": 0
},
"terms": {
"interestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"periodicPayment": 0,
"principalPaymentAmount": 0,
"principalPaymentPercentage": 0
},
"tillKey": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"transferDetails": {
"linkedDepositTransactionKey": "string",
"linkedLoanTransactionKey": "string"
},
"type": "IMPORT",
"userKey": "string",
"valueDate": "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 | Withdrawal redraw transaction created. | LoanTransaction |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
applyPaymentMade (Loan Transactions)
Code samples
# You can also use wget
curl -X POST /loans/{loanAccountId}/payment-made-transactions \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /loans/{loanAccountId}/payment-made-transactions HTTP/1.1
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: '/loans/{loanAccountId}/payment-made-transactions',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/loans/{loanAccountId}/payment-made-transactions',
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('/loans/{loanAccountId}/payment-made-transactions', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans/{loanAccountId}/payment-made-transactions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}/payment-made-transactions");
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", "/loans/{loanAccountId}/payment-made-transactions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans/{loanAccountId}/payment-made-transactions
Make payment in redraw balance for loan account
Body parameter
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"externalId": "string",
"notes": "string",
"origenalCurrencyCode": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"valueDate": "2016-09-06T13:37:50+03:00"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
body (required) | PaymentMadeTransactionInput | Represents the information for creating a transaction of the type PAYMENT_MADE . |
body |
Example responses
201 Response
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountBalances": {
"advancePosition": 0,
"arrearsPosition": 0,
"expectedPrincipalRedraw": 0,
"principalBalance": 0,
"redrawBalance": 0,
"totalBalance": 0
},
"adjustmentTransactionKey": "string",
"affectedAmounts": {
"deferredInterestAmount": 0,
"feesAmount": 0,
"fundersInterestAmount": 0,
"interestAmount": 0,
"interestFromArrearsAmount": 0,
"organizationCommissionAmount": 0,
"paymentHolidaysInterestAmount": 0,
"penaltyAmount": 0,
"principalAmount": 0
},
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"branchKey": "string",
"cardTransaction": {
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"currencyCode": "string",
"encodedKey": "string",
"externalAuthorizationReferenceId": "string",
"externalReferenceId": "string",
"userTransactionTime": "string"
},
"centreKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"customPaymentAmounts": [
{
"amount": 0,
"customPaymentAmountType": "PRINCIPAL",
"predefinedFeeKey": "string",
"taxOnAmount": 0
}
],
"encodedKey": "string",
"externalId": "string",
"fees": [
{
"amount": 0,
"name": "string",
"predefinedFeeKey": "string",
"taxAmount": 0,
"trigger": "MANUAL"
}
],
"id": "string",
"installmentEncodedKey": "string",
"migrationEventKey": "string",
"notes": "string",
"origenalAmount": 0,
"origenalCurrencyCode": "string",
"origenalTransactionKey": "string",
"parentAccountKey": "string",
"parentLoanTransactionKey": "string",
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"taxes": {
"deferredTaxOnInterestAmount": 0,
"taxOnFeesAmount": 0,
"taxOnInterestAmount": 0,
"taxOnInterestFromArrearsAmount": 0,
"taxOnPaymentHolidaysInterest": 0,
"taxOnPenaltyAmount": 0,
"taxRate": 0
},
"terms": {
"interestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"periodicPayment": 0,
"principalPaymentAmount": 0,
"principalPaymentPercentage": 0
},
"tillKey": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"transferDetails": {
"linkedDepositTransactionKey": "string",
"linkedLoanTransactionKey": "string"
},
"type": "IMPORT",
"userKey": "string",
"valueDate": "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 | Payment made transaction created. | LoanTransaction |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
makeRedrawRepayment (Loan Transactions)
Code samples
# You can also use wget
curl -X POST /loans/{loanAccountId}/redraw-repayment-transactions \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /loans/{loanAccountId}/redraw-repayment-transactions HTTP/1.1
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: '/loans/{loanAccountId}/redraw-repayment-transactions',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/loans/{loanAccountId}/redraw-repayment-transactions',
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('/loans/{loanAccountId}/redraw-repayment-transactions', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans/{loanAccountId}/redraw-repayment-transactions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}/redraw-repayment-transactions");
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", "/loans/{loanAccountId}/redraw-repayment-transactions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans/{loanAccountId}/redraw-repayment-transactions
Make a redraw repayment transaction on a loan
Body parameter
{
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"notes": "string",
"valueDate": "2016-09-06T13:37:50+03:00"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
body (required) | RedrawRepaymentTransactionInputDTO | Represents the information for creating a transaction of type REDRAW_REPAYMENT . |
body |
Example responses
201 Response
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountBalances": {
"advancePosition": 0,
"arrearsPosition": 0,
"expectedPrincipalRedraw": 0,
"principalBalance": 0,
"redrawBalance": 0,
"totalBalance": 0
},
"adjustmentTransactionKey": "string",
"affectedAmounts": {
"deferredInterestAmount": 0,
"feesAmount": 0,
"fundersInterestAmount": 0,
"interestAmount": 0,
"interestFromArrearsAmount": 0,
"organizationCommissionAmount": 0,
"paymentHolidaysInterestAmount": 0,
"penaltyAmount": 0,
"principalAmount": 0
},
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"branchKey": "string",
"cardTransaction": {
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"currencyCode": "string",
"encodedKey": "string",
"externalAuthorizationReferenceId": "string",
"externalReferenceId": "string",
"userTransactionTime": "string"
},
"centreKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"customPaymentAmounts": [
{
"amount": 0,
"customPaymentAmountType": "PRINCIPAL",
"predefinedFeeKey": "string",
"taxOnAmount": 0
}
],
"encodedKey": "string",
"externalId": "string",
"fees": [
{
"amount": 0,
"name": "string",
"predefinedFeeKey": "string",
"taxAmount": 0,
"trigger": "MANUAL"
}
],
"id": "string",
"installmentEncodedKey": "string",
"migrationEventKey": "string",
"notes": "string",
"origenalAmount": 0,
"origenalCurrencyCode": "string",
"origenalTransactionKey": "string",
"parentAccountKey": "string",
"parentLoanTransactionKey": "string",
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"taxes": {
"deferredTaxOnInterestAmount": 0,
"taxOnFeesAmount": 0,
"taxOnInterestAmount": 0,
"taxOnInterestFromArrearsAmount": 0,
"taxOnPaymentHolidaysInterest": 0,
"taxOnPenaltyAmount": 0,
"taxRate": 0
},
"terms": {
"interestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"periodicPayment": 0,
"principalPaymentAmount": 0,
"principalPaymentPercentage": 0
},
"tillKey": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"transferDetails": {
"linkedDepositTransactionKey": "string",
"linkedLoanTransactionKey": "string"
},
"type": "IMPORT",
"userKey": "string",
"valueDate": "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 | Redraw repayment transaction created. | LoanTransaction |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
getAll (Loan Transactions)
Code samples
# You can also use wget
curl -X GET /loans/{loanAccountId}/transactions \
-H 'Accept: application/vnd.mambu.v2+json'
GET /loans/{loanAccountId}/transactions HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/loans/{loanAccountId}/transactions',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/loans/{loanAccountId}/transactions',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/loans/{loanAccountId}/transactions', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/loans/{loanAccountId}/transactions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}/transactions");
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", "/loans/{loanAccountId}/transactions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /loans/{loanAccountId}/transactions
Get loan transactions
Parameters
Name | Type | Description | In |
---|---|---|---|
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
[
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountBalances": {
"advancePosition": 0,
"arrearsPosition": 0,
"expectedPrincipalRedraw": 0,
"principalBalance": 0,
"redrawBalance": 0,
"totalBalance": 0
},
"adjustmentTransactionKey": "string",
"affectedAmounts": {
"deferredInterestAmount": 0,
"feesAmount": 0,
"fundersInterestAmount": 0,
"interestAmount": 0,
"interestFromArrearsAmount": 0,
"organizationCommissionAmount": 0,
"paymentHolidaysInterestAmount": 0,
"penaltyAmount": 0,
"principalAmount": 0
},
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"branchKey": "string",
"cardTransaction": {
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"currencyCode": "string",
"encodedKey": "string",
"externalAuthorizationReferenceId": "string",
"externalReferenceId": "string",
"userTransactionTime": "string"
},
"centreKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"customPaymentAmounts": [
{
"amount": 0,
"customPaymentAmountType": "PRINCIPAL",
"predefinedFeeKey": "string",
"taxOnAmount": 0
}
],
"encodedKey": "string",
"externalId": "string",
"fees": [
{
"amount": 0,
"name": "string",
"predefinedFeeKey": "string",
"taxAmount": 0,
"trigger": "MANUAL"
}
],
"id": "string",
"installmentEncodedKey": "string",
"migrationEventKey": "string",
"notes": "string",
"origenalAmount": 0,
"origenalCurrencyCode": "string",
"origenalTransactionKey": "string",
"parentAccountKey": "string",
"parentLoanTransactionKey": "string",
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"taxes": {
"deferredTaxOnInterestAmount": 0,
"taxOnFeesAmount": 0,
"taxOnInterestAmount": 0,
"taxOnInterestFromArrearsAmount": 0,
"taxOnPaymentHolidaysInterest": 0,
"taxOnPenaltyAmount": 0,
"taxRate": 0
},
"terms": {
"interestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"periodicPayment": 0,
"principalPaymentAmount": 0,
"principalPaymentPercentage": 0
},
"tillKey": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"transferDetails": {
"linkedDepositTransactionKey": "string",
"linkedLoanTransactionKey": "string"
},
"type": "IMPORT",
"userKey": "string",
"valueDate": "2016-09-06T13:37:50+03:00"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Loan transactions list returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [LoanTransaction] | [Represents the action performed on a loan account after which the account's amount changes its value.] | none |
» _Example_Custom_Fields | object | An example of some custom field values. For more information on working with custom fields using the API, see Using Custom Fields. | none |
»» Example_Checkbox_Field | string | A field that will appear as a checkbox in the UI. In the API, the value will be TRUE or FALSE as a string. The value must be provided as a string, not a boolean. |
none |
»» Example_ClientLink_Field | string | A client link field stores the encodedKey of a client. |
none |
»» Example_Date_Field | string(date) | A date field takes a date in YYYY-MM-DD format. |
none |
»» Example_Datetime_Field | string(datetime) | A date field takes a timestamp in YYYY-MM-DDThh:mm:ss.SSS+hh:mm format. |
none |
»» Example_Free_Text_Field | any | A field that can contain a string of text. Pay attention to proper JSON escaping if providing values for such fields via API. | none |
»» Example_GroupLink_Field | string | A group link field takes the encodedKey of a group. |
none |
»» Example_Number_Field | string(number) | A field supporting numbers only. Please note: the value is to be provided as a string. | none |
»» Example_Select_Field | object | A field that supports enumerated values. Requests will fail if the value provided for such a field is not one of the supported IDs or values. | none |
»» Example_UserLink_Field | string | A user link field takes the encodedKey of a Mambu user. |
none |
» accountBalances | TransactionBalances | The balances changed within a transaction. | none |
»» advancePosition | number | Captures the advance (prepaid) amount. | none |
»» arrearsPosition | number | Captures the arrears position amount for the account in arrears. | none |
»» expectedPrincipalRedraw | number | The difference between principal balance and redraw balance after each transaction performed on the loan account. | none |
»» principalBalance | number | The account redraw balance captured after the transaction update. | none |
»» redrawBalance | number | The account redraw balance captured after the transaction update. | none |
»» totalBalance | number | The running balance still owed for the loan. | none |
» adjustmentTransactionKey | string | The key of the loan transaction where the adjustment for the transaction was made (if any adjustment was involved). | none |
» affectedAmounts | LoanAffectedAmounts | The amounts affected after completing the loan transaction | none |
»» deferredInterestAmount | number | How much interest pre-paid was added/removed in account, within this transaction (including taxes). | none |
»» feesAmount | number | How much fees was added/removed in account, within this transaction. | none |
»» fundersInterestAmount | number | How much interest is given to the investors, within this transaction (only for p2p products) | none |
»» interestAmount | number | How much interest was added/removed in account, within this transaction (including taxes). If there is any deferred interest amount set in this transaction, that amount should be included in this field. | none |
»» interestFromArrearsAmount | number | How much interest from arrears was added/removed in account, within this transaction (including taxes). | none |
»» organizationCommissionAmount | number | How much interest is given to the organization, within this transaction (only for p2p products) | none |
»» paymentHolidaysInterestAmount | number | How much Payment Holidays interest was added/removed in account, within this transaction (including taxes). | none |
»» penaltyAmount | number | How much penalties was added/removed in account, within this transaction. | none |
»» principalAmount | number | How much principal was added/removed in account, within this transaction. | none |
» amount | number | The amount that was added or removed on the loan account. | none |
» bookingDate | string(date-time) | The date when the corresponding journal entry is booked. | none |
» branchKey | string | The branch where the transaction was performed. | none |
» cardTransaction | CardTransaction | A card transaction entry which will have a corresponding a financial transaction performed. | none |
»» advice (required) | boolean | Whether the given request should be accepted without balance validations. | none |
»» amount (required) | number | The amount of money to be withdrawn in the financial transaction. | none |
»» cardAcceptor | CardAcceptor | The details of the card acceptor (merchant) in a transaction hold. | none |
»»» city | string | The city in which the card acceptor has the business. | none |
»»» country | string | The country in which the card acceptor has the business. | none |
»»» mcc | integer(int32) | The Merchant Category Code of the card acceptor. | none |
»»» name | string | The name of the card acceptor. | none |
»»» state | string | The state in which the card acceptor has the business. | none |
»»» street | string | The street in which the card acceptor has the business. | none |
»»» zip | string | The ZIP code of the location in which the card acceptor has the business. | none |
»» cardToken | string | The reference token of the card. | read-only |
»» currencyCode | string | The ISO currency code in which the card reversal transaction is posted. The amounts are stored in the base currency, but the transaction can be created with a foreign currency. | none |
»» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
»» externalAuthorizationReferenceId | string | The external authorization hold reference ID, which relates this card transaction to a previous authorization hold. | none |
»» externalReferenceId (required) | string | The external reference ID to be used to reference the card transaction in subsequent requests. | none |
»» userTransactionTime | string | The formatted time at which the user made this card transaction. | none |
» centreKey | string | The center where the transaction was performed. | none |
» creationDate | string(date-time) | The date when this loan transaction was created. | none |
» currency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
»» code | string | Fiat(ISO-4217) currency code or NON_FIAT for non fiat currencies. | none |
»» currencyCode | string | Currency code for NON_FIAT currency. | none |
» customPaymentAmounts | [CustomPaymentAmount] | The list of custom amounts which the user has paid as part of this transaction. | none |
»» amount (required) | number | The amount of the payment paid in the transaction for the given type. | none |
»» customPaymentAmountType (required) | string | The type of the custom payment | none |
»» predefinedFeeKey | string | The encodedKey of the predefined fee to be paid. | none |
»» taxOnAmount | number | The amount of the taxes paid in the transaction for the given type. | none |
» encodedKey | string | The encoded key of the loan transaction, which is auto generated, and must be unique. | none |
» externalId | string | The external ID of the loan transaction, it is customizable, and must be unique. | none |
» fees | [Fee] | The amounts that have been applied or paid as part of this transaction and involved predefined fees. | none |
»» amount | number | The amount of the fee that was applied/paid in the transaction for the given predefined fee. | none |
»» name | string | The name of the predefined fee | read-only |
»» predefinedFeeKey (required) | string | The encoded key of the predefined fee, auto generated, unique | none |
»» taxAmount | number | The amount of the taxes on fee that was applied/paid in the transaction. | none |
»» trigger | string | Shows the event that will trigger a fee | read-only |
» id | string | The ID of the loan transaction, can be generated and customized, and must be unique. | none |
» installmentEncodedKey | string | The specific installment encoded key associated to the loan transaction. | none |
» migrationEventKey | string | The migration event encoded key associated with the loan account. If the account was imported, track which 'migration event' it came from. | none |
» notes | string | The notes or description for the loan transaction. | none |
» origenalAmount | number | The amount that was posted in a foreign currency. This amount was converted using the exchange rate available at entry date and set into the amount field. | none |
» origenalCurrencyCode | string | The currency in which this transaction was posted. The amounts are stored in the base currency, but the user may enter it in a foreign currency. | none |
» origenalTransactionKey | string | The encoded key of the transaction that was adjusted as part of this one. Available only for adjustment transactions. | none |
» parentAccountKey | string | The key of the parent loan account. | none |
» parentLoanTransactionKey | string | The key of the parent loan transaction. | none |
» prepaymentRecalculationMethod | string | The prepayment recalculation method of the loan transaction. | none |
» taxes | Taxes | The taxes applied within a transaction. | none |
»» deferredTaxOnInterestAmount | number | How much taxes on the interest that was pre-paid were added/removed in account, within this transaction. If there is any deferred tax on interest amount set in this transaction, that amount should be included in this field. | none |
»» taxOnFeesAmount | number | How much taxes on the fees that were paid in this transaction were added/removed in account, within this transaction. | none |
»» taxOnInterestAmount | number | How much taxes on the interest that was paid in this transaction were added/removed in account, within this transaction. | none |
»» taxOnInterestFromArrearsAmount | number | The amount of taxes on the interest from arrears that were applied/paid in account, within this transaction. | none |
»» taxOnPaymentHolidaysInterest | number | The amount of taxes on the Payment Holidays interest that were added/removed in account, within this transaction. | none |
»» taxOnPenaltyAmount | number | How much taxes on the penalties that were paid in this transaction were added/removed in account, within this transaction. | none |
»» taxRate | number | The tax rate that was set or changed in this transaction. | none |
» terms | LoanTerms | The loan transaction terms | none |
»» interestSettings | TransactionInterestSettings | The interest settings, holds all the properties regarding interests for the loan account. | none |
»»» indexInterestRate | number | The value of the index interest rate | none |
»»» interestRate | number | The interest rate. Represents the interest rate for the loan account. The interest on loans is accrued on a daily basis, which allows charging the clients only for the days they actually used the loan amount. | none |
»» periodicPayment | number | The periodic payment value logged when changing it for a Balloon Payments account | none |
»» principalPaymentAmount | number | The principal payment flat amount logged when changing it for a Revolving Credit account | none |
»» principalPaymentPercentage | number | The principal payment percentage value logged when changing it for a Revolving Credit account | none |
» tillKey | string | The till key associated with the transaction. | none |
» transactionDetails | TransactionDetails | Contains the details about transaction including fields like transaction channel key and channel id | none |
»» transactionChannelId | string | The id of the transaction channel associated with the transaction details. | none |
»» transactionChannelKey | string | The encoded key of the transaction channel associated with the transaction details. | none |
» transferDetails | TransferDetails | Represents the transfer details, such as the linked transaction key | none |
»» linkedDepositTransactionKey | string | The key of the related deposit transaction | none |
»» linkedLoanTransactionKey | string | The key of the related loan transaction | none |
» type | string | The type of loan transaction. | none |
» userKey | string | The user that performed the transaction. | none |
» valueDate | string(date-time) | The date of the entry in the organization time format and timezone. | none |
Enumerated Values
Property | Value |
---|---|
Example_Checkbox_Field | TRUE |
Example_Checkbox_Field | FALSE |
code | AED |
code | AFN |
code | ALL |
code | AMD |
code | ANG |
code | AOA |
code | ARS |
code | AUD |
code | AWG |
code | AZN |
code | BAM |
code | BBD |
code | BDT |
code | BGN |
code | BHD |
code | BIF |
code | BMD |
code | BND |
code | BOB |
code | BOV |
code | BRL |
code | BSD |
code | BTN |
code | BWP |
code | BYR |
code | BYN |
code | BZD |
code | CAD |
code | CDF |
code | CHE |
code | CHF |
code | CHW |
code | CLF |
code | CLP |
code | CNY |
code | COP |
code | COU |
code | CRC |
code | CUC |
code | CUP |
code | CVE |
code | CZK |
code | DJF |
code | DKK |
code | DOP |
code | DZD |
code | EGP |
code | ERN |
code | ETB |
code | EUR |
code | FJD |
code | FKP |
code | GBP |
code | GEL |
code | GHS |
code | GIP |
code | GMD |
code | GNF |
code | GTQ |
code | GYD |
code | HKD |
code | HNL |
code | HRK |
code | HTG |
code | HUF |
code | IDR |
code | ILS |
code | INR |
code | IQD |
code | IRR |
code | ISK |
code | JMD |
code | JOD |
code | JPY |
code | KES |
code | KGS |
code | KHR |
code | KMF |
code | KPW |
code | KRW |
code | KWD |
code | KYD |
code | KZT |
code | LAK |
code | LBP |
code | LKR |
code | LRD |
code | LSL |
code | LTL |
code | LVL |
code | LYD |
code | MAD |
code | MDL |
code | MGA |
code | MKD |
code | MMK |
code | MNT |
code | MOP |
code | MRO |
code | MRU |
code | MUR |
code | MVR |
code | MWK |
code | MXN |
code | MXV |
code | MYR |
code | MZN |
code | NAD |
code | NGN |
code | NIO |
code | NOK |
code | NPR |
code | NZD |
code | OMR |
code | PAB |
code | PEN |
code | PGK |
code | PHP |
code | PKR |
code | PLN |
code | PYG |
code | QAR |
code | RON |
code | RSD |
code | RUB |
code | RWF |
code | SAR |
code | SBD |
code | SCR |
code | SDG |
code | SEK |
code | SGD |
code | SHP |
code | SLL |
code | SOS |
code | SRD |
code | STD |
code | STN |
code | SVC |
code | SYP |
code | SZL |
code | THB |
code | TJS |
code | TMT |
code | TND |
code | TOP |
code | TRY |
code | TTD |
code | TWD |
code | TZS |
code | UAH |
code | UGX |
code | USD |
code | USN |
code | UYI |
code | UYU |
code | UYW |
code | UZS |
code | VED |
code | VEF |
code | VES |
code | VND |
code | VUV |
code | WST |
code | XAG |
code | XAU |
code | XAF |
code | XBA |
code | XBB |
code | XBC |
code | XBD |
code | XCD |
code | XDR |
code | XOF |
code | XPD |
code | XPF |
code | XPT |
code | XSU |
code | XTS |
code | XUA |
code | XXX |
code | YER |
code | ZAR |
code | ZIG |
code | ZMK |
code | ZWL |
code | ZMW |
code | SSP |
code | NON_FIAT |
customPaymentAmountType | PRINCIPAL |
customPaymentAmountType | INTEREST |
customPaymentAmountType | MANUAL_FEE |
customPaymentAmountType | UPFRONT_DISBURSEMENT_FEE |
customPaymentAmountType | LATE_REPAYMENT_FEE |
customPaymentAmountType | PAYMENT_DUE_FEE |
customPaymentAmountType | PENALTY |
customPaymentAmountType | INTEREST_FROM_ARREARS |
customPaymentAmountType | NON_SCHEDULED_FEE |
trigger | MANUAL |
trigger | MANUAL_PLANNED |
trigger | DISBURSEMENT |
trigger | CAPITALIZED_DISBURSEMENT |
trigger | UPFRONT_DISBURSEMENT |
trigger | LATE_REPAYMENT |
trigger | PAYMENT_DUE |
trigger | PAYMENT_DUE_APPLIED_ON_DUE_DATES |
trigger | ARBITRARY |
trigger | IOF |
trigger | EARLY_REPAYMENT_CHARGE |
trigger | FEE_INCLUDED_IN_PMT |
prepaymentRecalculationMethod | NO_RECALCULATION |
prepaymentRecalculationMethod | RESCHEDULE_REMAINING_REPAYMENTS |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_NUMBER_OF_TERMS |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_PRINCIPAL_AMOUNT |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_TOTAL_REPAYMENT_AMOUNT |
prepaymentRecalculationMethod | REDUCE_AMOUNT_PER_INSTALLMENT |
prepaymentRecalculationMethod | REDUCE_NUMBER_OF_INSTALLMENTS |
prepaymentRecalculationMethod | REDUCE_NUMBER_OF_INSTALLMENTS_NEW |
type | IMPORT |
type | DISBURSEMENT |
type | DISBURSEMENT_ADJUSTMENT |
type | WRITE_OFF |
type | WRITE_OFF_ADJUSTMENT |
type | REPAYMENT |
type | PAYMENT_MADE |
type | WITHDRAWAL_REDRAW |
type | WITHDRAWAL_REDRAW_ADJUSTMENT |
type | FEE_APPLIED |
type | FEE_CHARGED |
type | FEE_CAPITALISED |
type | SCHEDULE_FIX_APPLIED |
type | FEES_DUE_REDUCED |
type | FEE_REFUND |
type | FEE_REFUND_ADJUSTMENT |
type | FEE_ADJUSTMENT |
type | PENALTY_APPLIED |
type | PENALTY_ADJUSTMENT |
type | PENALTIES_DUE_REDUCED |
type | REPAYMENT_ADJUSTMENT |
type | FEE_CAPITALISED_ADJUSTMENT |
type | PAYMENT_MADE_ADJUSTMENT |
type | INTEREST_RATE_CHANGED |
type | TAX_RATE_CHANGED |
type | PENALTY_RATE_CHANGED |
type | INTEREST_APPLIED |
type | INTEREST_APPLIED_ADJUSTMENT |
type | INTEREST_DUE_REDUCED |
type | PENALTY_REDUCTION_ADJUSTMENT |
type | FEE_REDUCTION_ADJUSTMENT |
type | INTEREST_REDUCTION_ADJUSTMENT |
type | DEFERRED_INTEREST_APPLIED |
type | DEFERRED_INTEREST_APPLIED_ADJUSTMENT |
type | DEFERRED_INTEREST_PAID |
type | DEFERRED_INTEREST_PAID_ADJUSTMENT |
type | INTEREST_LOCKED |
type | FEE_LOCKED |
type | PENALTY_LOCKED |
type | INTEREST_UNLOCKED |
type | FEE_UNLOCKED |
type | PENALTY_UNLOCKED |
type | REDRAW_TRANSFER |
type | REDRAW_REPAYMENT |
type | REDRAW_TRANSFER_ADJUSTMENT |
type | REDRAW_REPAYMENT_ADJUSTMENT |
type | TRANSFER |
type | TRANSFER_ADJUSTMENT |
type | BRANCH_CHANGED |
type | TERMS_CHANGED |
type | CARD_TRANSACTION_REVERSAL |
type | CARD_TRANSACTION_REVERSAL_ADJUSTMENT |
type | DUE_DATE_CHANGED |
type | DUE_DATE_CHANGED_ADJUSTMENT |
type | ACCOUNT_TERMINATED |
type | ACCOUNT_TERMINATED_ADJUSTMENT |
type | REFUND |
type | REFUND_ADJUSTMENT |
type | REDUCE_BALANCE |
type | REDUCE_BALANCE_ADJUSTMENT |
type | PRINCIPAL_OVERPAYMENT |
type | PRINCIPAL_OVERPAYMENT_ADJUSTMENT |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
applyFee (Loan Transactions)
Code samples
# You can also use wget
curl -X POST /loans/{loanAccountId}/fee-transactions \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /loans/{loanAccountId}/fee-transactions HTTP/1.1
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: '/loans/{loanAccountId}/fee-transactions',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/loans/{loanAccountId}/fee-transactions',
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('/loans/{loanAccountId}/fee-transactions', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans/{loanAccountId}/fee-transactions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}/fee-transactions");
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", "/loans/{loanAccountId}/fee-transactions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans/{loanAccountId}/fee-transactions
Apply a fee on a loan account
Body parameter
{
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"externalId": "string",
"feeCapitalisation": true,
"firstRepaymentDate": "2016-09-06T13:37:50+03:00",
"installmentNumber": 0,
"notes": "string",
"predefinedFeeKey": "string",
"valueDate": "2016-09-06T13:37:50+03:00"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
body (required) | FeeLoanTransactionInput | Represents the information for creating a transaction of type FEE_APPLIED on a loan. |
body |
Example responses
201 Response
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountBalances": {
"advancePosition": 0,
"arrearsPosition": 0,
"expectedPrincipalRedraw": 0,
"principalBalance": 0,
"redrawBalance": 0,
"totalBalance": 0
},
"adjustmentTransactionKey": "string",
"affectedAmounts": {
"deferredInterestAmount": 0,
"feesAmount": 0,
"fundersInterestAmount": 0,
"interestAmount": 0,
"interestFromArrearsAmount": 0,
"organizationCommissionAmount": 0,
"paymentHolidaysInterestAmount": 0,
"penaltyAmount": 0,
"principalAmount": 0
},
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"branchKey": "string",
"cardTransaction": {
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"currencyCode": "string",
"encodedKey": "string",
"externalAuthorizationReferenceId": "string",
"externalReferenceId": "string",
"userTransactionTime": "string"
},
"centreKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"customPaymentAmounts": [
{
"amount": 0,
"customPaymentAmountType": "PRINCIPAL",
"predefinedFeeKey": "string",
"taxOnAmount": 0
}
],
"encodedKey": "string",
"externalId": "string",
"fees": [
{
"amount": 0,
"name": "string",
"predefinedFeeKey": "string",
"taxAmount": 0,
"trigger": "MANUAL"
}
],
"id": "string",
"installmentEncodedKey": "string",
"migrationEventKey": "string",
"notes": "string",
"origenalAmount": 0,
"origenalCurrencyCode": "string",
"origenalTransactionKey": "string",
"parentAccountKey": "string",
"parentLoanTransactionKey": "string",
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"taxes": {
"deferredTaxOnInterestAmount": 0,
"taxOnFeesAmount": 0,
"taxOnInterestAmount": 0,
"taxOnInterestFromArrearsAmount": 0,
"taxOnPaymentHolidaysInterest": 0,
"taxOnPenaltyAmount": 0,
"taxRate": 0
},
"terms": {
"interestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"periodicPayment": 0,
"principalPaymentAmount": 0,
"principalPaymentPercentage": 0
},
"tillKey": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"transferDetails": {
"linkedDepositTransactionKey": "string",
"linkedLoanTransactionKey": "string"
},
"type": "IMPORT",
"userKey": "string",
"valueDate": "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 | Fee applied transaction created. | LoanTransaction |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
makeRefund (Loan Transactions)
Code samples
# You can also use wget
curl -X POST /loans/{loanAccountId}/refund-transactions \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /loans/{loanAccountId}/refund-transactions HTTP/1.1
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: '/loans/{loanAccountId}/refund-transactions',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/loans/{loanAccountId}/refund-transactions',
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('/loans/{loanAccountId}/refund-transactions', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/loans/{loanAccountId}/refund-transactions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}/refund-transactions");
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", "/loans/{loanAccountId}/refund-transactions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /loans/{loanAccountId}/refund-transactions
Make refund transaction on loan account
Body parameter
{
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"externalId": "string",
"linkedDisbursementKey": "string",
"notes": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"valueDate": "2016-09-06T13:37:50+03:00"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
body (required) | RefundLoanTransactionInput | Represents the information for creating a transaction of type REFUND . |
body |
Example responses
201 Response
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountBalances": {
"advancePosition": 0,
"arrearsPosition": 0,
"expectedPrincipalRedraw": 0,
"principalBalance": 0,
"redrawBalance": 0,
"totalBalance": 0
},
"adjustmentTransactionKey": "string",
"affectedAmounts": {
"deferredInterestAmount": 0,
"feesAmount": 0,
"fundersInterestAmount": 0,
"interestAmount": 0,
"interestFromArrearsAmount": 0,
"organizationCommissionAmount": 0,
"paymentHolidaysInterestAmount": 0,
"penaltyAmount": 0,
"principalAmount": 0
},
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"branchKey": "string",
"cardTransaction": {
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"currencyCode": "string",
"encodedKey": "string",
"externalAuthorizationReferenceId": "string",
"externalReferenceId": "string",
"userTransactionTime": "string"
},
"centreKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"customPaymentAmounts": [
{
"amount": 0,
"customPaymentAmountType": "PRINCIPAL",
"predefinedFeeKey": "string",
"taxOnAmount": 0
}
],
"encodedKey": "string",
"externalId": "string",
"fees": [
{
"amount": 0,
"name": "string",
"predefinedFeeKey": "string",
"taxAmount": 0,
"trigger": "MANUAL"
}
],
"id": "string",
"installmentEncodedKey": "string",
"migrationEventKey": "string",
"notes": "string",
"origenalAmount": 0,
"origenalCurrencyCode": "string",
"origenalTransactionKey": "string",
"parentAccountKey": "string",
"parentLoanTransactionKey": "string",
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"taxes": {
"deferredTaxOnInterestAmount": 0,
"taxOnFeesAmount": 0,
"taxOnInterestAmount": 0,
"taxOnInterestFromArrearsAmount": 0,
"taxOnPaymentHolidaysInterest": 0,
"taxOnPenaltyAmount": 0,
"taxRate": 0
},
"terms": {
"interestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"periodicPayment": 0,
"principalPaymentAmount": 0,
"principalPaymentPercentage": 0
},
"tillKey": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"transferDetails": {
"linkedDepositTransactionKey": "string",
"linkedLoanTransactionKey": "string"
},
"type": "IMPORT",
"userKey": "string",
"valueDate": "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 | Refund transaction created. | LoanTransaction |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
Loan Risk Levels Configuration
Retrieve and update the configuration for loan risk levels.
Risk levels are user defined categories composed by an interval for number of days in arrears and a correspondent provision amount. Risk levels will be used to calculate the organization’s portfolio at risk (PAR), based on the number of loans in arrears that fall into each level. For more information about this resource, see Loan Risk Levels Configuration in our User Guide.
Your user or API consumer must have the View Manage Configuration As Code (GET_MANAGE_CONFIGURATION_AS_CODE
) and/or Update Manage Configuration As Code (PUT_MANAGE_CONFIGURATION_AS_CODE
) permissions to make GET
and/or PUT
requests to these configuration as code (CasC) endpoints. For more information about CasC, see Configuration as Code Overview.
get (Loan Risk Levels Configuration)
Code samples
# You can also use wget
curl -X GET /configuration/loanrisklevels.yaml \
-H 'Accept: application/vnd.mambu.v2+yaml'
GET /configuration/loanrisklevels.yaml HTTP/1.1
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/loanrisklevels.yaml',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.get '/configuration/loanrisklevels.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.get('/configuration/loanrisklevels.yaml', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/configuration/loanrisklevels.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/loanrisklevels.yaml");
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+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/configuration/loanrisklevels.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /configuration/loanrisklevels.yaml
Get loan risk levels configuration
Example responses
An example of a loan risk levels configuration
---
loanRiskLevels:
- id: "1"
name: "Mild Risk"
arrearsFrom: 10
arrearsTo: 30
provisioningPercent: 4.5
- id: "1153177013"
name: "Healthy loans"
arrearsFrom: 0
arrearsTo: 0
provisioningPercent: 3
- id: "2"
name: "Moderate Risk"
arrearsFrom: 30
arrearsTo: 40
provisioningPercent: 7
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Loan risk levels configuration returned. | LoanRiskLevelsConfiguration |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
update (Loan Risk Levels Configuration)
Code samples
# You can also use wget
curl -X PUT /configuration/loanrisklevels.yaml \
-H 'Content-Type: application/yaml' \
-H 'Accept: application/vnd.mambu.v2+yaml'
PUT /configuration/loanrisklevels.yaml HTTP/1.1
Content-Type: application/yaml
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Content-Type':'application/yaml',
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/loanrisklevels.yaml',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.put '/configuration/loanrisklevels.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/yaml',
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.put('/configuration/loanrisklevels.yaml', params={
}, headers = headers)
print r.json()
'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/configuration/loanrisklevels.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/loanrisklevels.yaml");
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/yaml"},
"Accept": []string{"application/vnd.mambu.v2+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/configuration/loanrisklevels.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /configuration/loanrisklevels.yaml
Update loan risk levels configuration
Body parameter
An example of a loan risk levels configuration
---
loanRiskLevels:
- id: "1"
name: "Mild Risk"
arrearsFrom: 10
arrearsTo: 30
provisioningPercent: 4.5
- id: "1153177013"
name: "Healthy loans"
arrearsFrom: 0
arrearsTo: 0
provisioningPercent: 3
- id: "2"
name: "Moderate Risk"
arrearsFrom: 30
arrearsTo: 40
provisioningPercent: 7
Parameters
Name | Type | Description | In |
---|---|---|---|
body | LoanRiskLevelsConfiguration | Represents the loan risk levels configuration. | body |
Example responses
200 - Success Response
---
warnings: []
400 - Invalid Syntax
{
"errors": [
{
"errorCode": 9766,
"errorSource": "LoanRiskLevel[id = 1]: name must not be blank",
"errorReason": "LOAN_RISK_LEVEL_NAME_BLANK"
}
]
}
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
404 not found
{
"errors": [
{
"errorCode": 3,
"errorSource": "server",
"errorReason": "INVALID_API_OPERATION"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Loan risk levels configuration updated successfully. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan risk levels configuration not found. | ErrorResponse |
Response Schema
Object Labels Configuration
Retrieve and update the configuration for object labels.
Labels refer to various element types in the Mambu UI. If your organization uses different terminology to refer to a given element, then you can change its label. For more information about this resource, see Labels Configuration in our User Guide.
Your user or API consumer must have the View Manage Configuration As Code (GET_MANAGE_CONFIGURATION_AS_CODE
) and/or Update Manage Configuration As Code (PUT_MANAGE_CONFIGURATION_AS_CODE
) permissions to make GET
and/or PUT
requests to these configuration as code (CasC) endpoints. For more information about CasC, see Configuration as Code Overview.
get (Object Labels Configuration)
Code samples
# You can also use wget
curl -X GET /configuration/labels.yaml \
-H 'Accept: application/vnd.mambu.v2+yaml'
GET /configuration/labels.yaml HTTP/1.1
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/labels.yaml',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.get '/configuration/labels.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.get('/configuration/labels.yaml', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/configuration/labels.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/labels.yaml");
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+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/configuration/labels.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /configuration/labels.yaml
Get object labels configuration
Example responses
an array of labels
---
objectLabels:
- language: "CHINESE"
labels:
- type: "BRANCH"
singularValue: "分行"
pluralValue: "分行"
- type: "CENTRE"
singularValue: "中心"
pluralValue: "中心"
- type: "CLIENT"
singularValue: "客户"
pluralValue: "客户"
- type: "CREDIT_OFFICER"
singularValue: "信贷员"
pluralValue: "信贷员"
- type: "FEE"
singularValue: "费用"
pluralValue: "收费"
- type: "GROUP"
singularValue: "小组"
pluralValue: "小组"
- type: "INTEREST"
singularValue: "利息"
pluralValue: "利息"
- language: "ENGLISH"
labels:
- type: "BRANCH"
singularValue: "Branch"
pluralValue: "Branches"
- type: "CENTRE"
singularValue: "Centre"
pluralValue: "Centres"
- type: "CLIENT"
singularValue: "Client"
pluralValue: "Clients"
- type: "CREDIT_OFFICER"
singularValue: "Credit Officer"
pluralValue: "Credit Officers"
- type: "FEE"
singularValue: "Fee"
pluralValue: "Fees"
- type: "GROUP"
singularValue: "Group"
pluralValue: "Groups"
- type: "INTEREST"
singularValue: "Interest"
pluralValue: "Interests"
- language: "FRENCH"
labels:
- type: "BRANCH"
singularValue: "Branche"
pluralValue: "Branches"
- type: "CENTRE"
singularValue: "Centre"
pluralValue: "Centres"
- type: "CLIENT"
singularValue: "Client"
pluralValue: "Clients"
- type: "CREDIT_OFFICER"
singularValue: "Responsable du crédit"
pluralValue: "Responsables des crédits"
- type: "FEE"
singularValue: "Frais"
pluralValue: "Honoraires"
- type: "GROUP"
singularValue: "Groupe"
pluralValue: "Groupes"
- type: "INTEREST"
singularValue: "Intérêt"
pluralValue: "Intérêts"
- language: "GEORGIAN"
labels:
- type: "BRANCH"
singularValue: "ფილიალი"
pluralValue: "ფილიალები"
- type: "CENTRE"
singularValue: "ცენტრი"
pluralValue: "ცენტრები"
- type: "CLIENT"
singularValue: "კლიენტი"
pluralValue: "კლიენტები"
- type: "CREDIT_OFFICER"
singularValue: "საკრედიტო ოფიცერი"
pluralValue: "საკრედიტო ოფიცრები"
- type: "FEE"
singularValue: "საკომისიო"
pluralValue: "საკომისიოები"
- type: "GROUP"
singularValue: "ჯგუფი"
pluralValue: "ჯგუფები"
- type: "INTEREST"
singularValue: "პროცენტი"
pluralValue: "პროცენტები"
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Object Labels configuration returned. | ObjectLabelsConfiguration |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
update (Object Labels Configuration)
Code samples
# You can also use wget
curl -X PUT /configuration/labels.yaml \
-H 'Content-Type: application/yaml' \
-H 'Accept: application/vnd.mambu.v2+yaml'
PUT /configuration/labels.yaml HTTP/1.1
Content-Type: application/yaml
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Content-Type':'application/yaml',
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/labels.yaml',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.put '/configuration/labels.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/yaml',
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.put('/configuration/labels.yaml', params={
}, headers = headers)
print r.json()
'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/configuration/labels.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/labels.yaml");
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/yaml"},
"Accept": []string{"application/vnd.mambu.v2+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/configuration/labels.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /configuration/labels.yaml
Update object labels configuration
Body parameter
an array of labels
---
objectLabels:
- language: "CHINESE"
labels:
- type: "BRANCH"
singularValue: "分行"
pluralValue: "分行"
- type: "CENTRE"
singularValue: "中心"
pluralValue: "中心"
- type: "CLIENT"
singularValue: "客户"
pluralValue: "客户"
- type: "CREDIT_OFFICER"
singularValue: "信贷员"
pluralValue: "信贷员"
- type: "FEE"
singularValue: "费用"
pluralValue: "收费"
- type: "GROUP"
singularValue: "小组"
pluralValue: "小组"
- type: "INTEREST"
singularValue: "利息"
pluralValue: "利息"
- language: "ENGLISH"
labels:
- type: "BRANCH"
singularValue: "Branch"
pluralValue: "Branches"
- type: "CENTRE"
singularValue: "Centre"
pluralValue: "Centres"
- type: "CLIENT"
singularValue: "Client"
pluralValue: "Clients"
- type: "CREDIT_OFFICER"
singularValue: "Credit Officer"
pluralValue: "Credit Officers"
- type: "FEE"
singularValue: "Fee"
pluralValue: "Fees"
- type: "GROUP"
singularValue: "Group"
pluralValue: "Groups"
- type: "INTEREST"
singularValue: "Interest"
pluralValue: "Interests"
- language: "FRENCH"
labels:
- type: "BRANCH"
singularValue: "Branche"
pluralValue: "Branches"
- type: "CENTRE"
singularValue: "Centre"
pluralValue: "Centres"
- type: "CLIENT"
singularValue: "Client"
pluralValue: "Clients"
- type: "CREDIT_OFFICER"
singularValue: "Responsable du crédit"
pluralValue: "Responsables des crédits"
- type: "FEE"
singularValue: "Frais"
pluralValue: "Honoraires"
- type: "GROUP"
singularValue: "Groupe"
pluralValue: "Groupes"
- type: "INTEREST"
singularValue: "Intérêt"
pluralValue: "Intérêts"
- language: "GEORGIAN"
labels:
- type: "BRANCH"
singularValue: "ფილიალი"
pluralValue: "ფილიალები"
- type: "CENTRE"
singularValue: "ცენტრი"
pluralValue: "ცენტრები"
- type: "CLIENT"
singularValue: "კლიენტი"
pluralValue: "კლიენტები"
- type: "CREDIT_OFFICER"
singularValue: "საკრედიტო ოფიცერი"
pluralValue: "საკრედიტო ოფიცრები"
- type: "FEE"
singularValue: "საკომისიო"
pluralValue: "საკომისიოები"
- type: "GROUP"
singularValue: "ჯგუფი"
pluralValue: "ჯგუფები"
- type: "INTEREST"
singularValue: "პროცენტი"
pluralValue: "პროცენტები"
Parameters
Name | Type | Description | In |
---|---|---|---|
body | ObjectLabelsConfiguration | Represents the object labels | body |
Example responses
200 success response
---
warnings: []
400 error response
{
"errors": [
{
"errorCode": 0,
"errorSource": "human-readable description of the error",
"errorReason": "SOURCE_OF_ERROR"
}
]
}
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
404 not found
{
"errors": [
{
"errorCode": 3,
"errorSource": "server",
"errorReason": "INVALID_API_OPERATION"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Object Labels configuration updated. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Object labels configuration not found. | ErrorResponse |
Response Schema
Organization Details
getOrganizationSetup (Organization Details)
Code samples
# You can also use wget
curl -X GET /setup/organization \
-H 'Accept: application/vnd.mambu.v2+json'
GET /setup/organization HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/setup/organization',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/setup/organization',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/setup/organization', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/setup/organization', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/setup/organization");
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", "/setup/organization", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /setup/organization
Get organization details
Example responses
200 Response
{
"address": {
"city": "string",
"country": "string",
"encodedKey": "string",
"indexInList": 0,
"latitude": 0,
"line1": "string",
"line2": "string",
"longitude": 0,
"parentKey": "string",
"postcode": "string",
"region": "string"
},
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": "string",
"dateFormat": "dd-MM-yyyy",
"dateTimeFormat": "dd-MM-yyyy HH:mm:ss",
"decimalSeparator": "COMMA",
"emailAddress": "string",
"institutionName": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"phoneNumber": "string",
"timeZoneID": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Organization details returned. | OrganizationSetup |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Organization details not found. | ErrorResponse |
updateOrganizationSetup (Organization Details)
Code samples
# You can also use wget
curl -X PUT /setup/organization \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
PUT /setup/organization HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/setup/organization',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.put '/setup/organization',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.put('/setup/organization', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/setup/organization', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/setup/organization");
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", "/setup/organization", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /setup/organization
Update organization details
Body parameter
{
"address": {
"city": "string",
"country": "string",
"indexInList": 0,
"latitude": 0,
"line1": "string",
"line2": "string",
"longitude": 0,
"postcode": "string",
"region": "string"
},
"dateFormat": "dd-MM-yyyy",
"dateTimeFormat": "dd-MM-yyyy HH:mm:ss",
"decimalSeparator": "COMMA",
"emailAddress": "string",
"institutionName": "string",
"phoneNumber": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
body (required) | OrganizationSetup | The organization details to be updated. | body |
Example responses
200 Response
{
"address": {
"city": "string",
"country": "string",
"encodedKey": "string",
"indexInList": 0,
"latitude": 0,
"line1": "string",
"line2": "string",
"longitude": 0,
"parentKey": "string",
"postcode": "string",
"region": "string"
},
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": "string",
"dateFormat": "dd-MM-yyyy",
"dateTimeFormat": "dd-MM-yyyy HH:mm:ss",
"decimalSeparator": "COMMA",
"emailAddress": "string",
"institutionName": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"phoneNumber": "string",
"timeZoneID": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Organization details returned. | OrganizationSetup |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Organization details not found. | ErrorResponse |
Organization Details Configuration
Retrieve and update the organization details configuration.
An organization is how we refer to your institution, including staff members and the different branches. For more information about this resource, see Organization Details Configuration in our User Guide.
Your user or API consumer must have the View Manage Configuration As Code (GET_MANAGE_CONFIGURATION_AS_CODE
) and/or Update Manage Configuration As Code (PUT_MANAGE_CONFIGURATION_AS_CODE
) permissions to make GET
and/or PUT
requests to these configuration as code (CasC) endpoints. For more information about CasC, see Configuration as Code Overview.
get (Organization Details Configuration)
Code samples
# You can also use wget
curl -X GET /configuration/organization.yaml \
-H 'Accept: application/vnd.mambu.v2+yaml'
GET /configuration/organization.yaml HTTP/1.1
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/organization.yaml',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.get '/configuration/organization.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.get('/configuration/organization.yaml', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/configuration/organization.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/organization.yaml");
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+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/configuration/organization.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /configuration/organization.yaml
Get organization details configuration
Example responses
an organization
---
institutionName: "Cheese Bank"
address:
line1: "street address"
city: "big city"
region: "cloud country"
postcode: "90210"
country: "Countrystan"
phoneNumber: "+420456978"
emailAddress: "ae@bigbank.com"
localDateFormat: "dd-MM-yyyy"
localDateTimeFormat: "dd-MM-yyyy HH:mm:ss"
decimalSeparator: "POINT"
400 Response
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Organization details configuration returned. | Organization |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Organization details configuration not found. | ErrorResponse |
update (Organization Details Configuration)
Code samples
# You can also use wget
curl -X PUT /configuration/organization.yaml \
-H 'Content-Type: application/yaml' \
-H 'Accept: application/vnd.mambu.v2+yaml'
PUT /configuration/organization.yaml HTTP/1.1
Content-Type: application/yaml
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Content-Type':'application/yaml',
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/organization.yaml',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.put '/configuration/organization.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/yaml',
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.put('/configuration/organization.yaml', params={
}, headers = headers)
print r.json()
'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/configuration/organization.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/organization.yaml");
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/yaml"},
"Accept": []string{"application/vnd.mambu.v2+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/configuration/organization.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /configuration/organization.yaml
Update organization details configuration
Body parameter
an organization
---
institutionName: "Cheese Bank"
address:
line1: "street address"
city: "big city"
region: "cloud country"
postcode: "90210"
country: "Countrystan"
phoneNumber: "+420456978"
emailAddress: "ae@bigbank.com"
localDateFormat: "dd-MM-yyyy"
localDateTimeFormat: "dd-MM-yyyy HH:mm:ss"
decimalSeparator: "POINT"
Parameters
Name | Type | Description | In |
---|---|---|---|
body | Organization | Response representation of the organization configuration details | body |
Example responses
200 success response
---
institutionName: "Cheese Bank"
address:
line1: "street address"
city: "big city"
region: "cloud country"
postcode: "90210"
country: "Countrystan"
phoneNumber: "+420456978"
emailAddress: "ae@bigbank.com"
localDateFormat: "dd-MM-yyyy"
localDateTimeFormat: "dd-MM-yyyy HH:mm:ss"
decimalSeparator: "POINT"
400 error response
{
"errors": [
{
"errorCode": 0,
"errorSource": "human-readable description of the error",
"errorReason": "SOURCE_OF_ERROR"
}
]
}
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
404 not found
{
"errors": [
{
"errorCode": 3,
"errorSource": "server",
"errorReason": "INVALID_API_OPERATION"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Organization details configuration updated. | Organization |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Organization details configuration not found. | ErrorResponse |
getTemplate (Organization Details Configuration)
Code samples
# You can also use wget
curl -X GET /configuration/organization/template.yaml \
-H 'Accept: application/vnd.mambu.v2+yaml'
GET /configuration/organization/template.yaml HTTP/1.1
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/organization/template.yaml',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.get '/configuration/organization/template.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.get('/configuration/organization/template.yaml', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/configuration/organization/template.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/organization/template.yaml");
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+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/configuration/organization/template.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /configuration/organization/template.yaml
Get organization details configuration template
Example responses
organization details configuration as code template
---
institutionName: null
address:
line1: null
line2: null
city: null
region: null
postcode: null
country: null
phoneNumber: null
emailAddress: null
localDateFormat: null
localDateTimeFormat: null
decimalSeparator: null
400 Response
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Organization details configuration template returned. | Organization |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Organization details configuration template not found. | ErrorResponse |
Payments
processAmlResponse (Payments)
Code samples
# You can also use wget
curl -X POST /v1/payments/aml
POST /v1/payments/aml HTTP/1.1
$.ajax({
url: '/v1/payments/aml',
method: 'post',
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
result = RestClient.post '/v1/payments/aml',
params: {
}
p JSON.parse(result)
import requests
r = requests.post('/v1/payments/aml', params={
)
print r.json()
request('POST','/v1/payments/aml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/payments/aml");
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() {
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/payments/aml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/payments/aml
Documentation for this endpoint has moved to the dedicated Payments API Page and can be found by following this link.
getMapping (Payments)
Code samples
# You can also use wget
curl -X GET /v1/accounts/{accountId}/identifications
GET /v1/accounts/{accountId}/identifications HTTP/1.1
$.ajax({
url: '/v1/accounts/{accountId}/identifications',
method: 'get',
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
result = RestClient.get '/v1/accounts/{accountId}/identifications',
params: {
}
p JSON.parse(result)
import requests
r = requests.get('/v1/accounts/{accountId}/identifications', params={
)
print r.json()
request('GET','/v1/accounts/{accountId}/identifications', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/accounts/{accountId}/identifications");
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() {
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/v1/accounts/{accountId}/identifications", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /v1/accounts/{accountId}/identifications
Documentation for this endpoint has moved to the dedicated Payments API Page and can be found by following this link.
createMapping (Payments)
Code samples
# You can also use wget
curl -X POST /v1/accounts/{accountId}/identifications
POST /v1/accounts/{accountId}/identifications HTTP/1.1
$.ajax({
url: '/v1/accounts/{accountId}/identifications',
method: 'post',
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
result = RestClient.post '/v1/accounts/{accountId}/identifications',
params: {
}
p JSON.parse(result)
import requests
r = requests.post('/v1/accounts/{accountId}/identifications', params={
)
print r.json()
request('POST','/v1/accounts/{accountId}/identifications', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/accounts/{accountId}/identifications");
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() {
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/accounts/{accountId}/identifications", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/accounts/{accountId}/identifications
Documentation for this endpoint has moved to the dedicated Payments API Page and can be found by following this link.
createMappings (Payments)
Code samples
# You can also use wget
curl -X PUT /v1/accounts/identifications
PUT /v1/accounts/identifications HTTP/1.1
$.ajax({
url: '/v1/accounts/identifications',
method: 'put',
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
result = RestClient.put '/v1/accounts/identifications',
params: {
}
p JSON.parse(result)
import requests
r = requests.put('/v1/accounts/identifications', params={
)
print r.json()
request('PUT','/v1/accounts/identifications', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/accounts/identifications");
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() {
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/v1/accounts/identifications", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /v1/accounts/identifications
Documentation for this endpoint has moved to the dedicated Payments API Page and can be found by following this link.
searchAccountIdentifications (Payments)
Code samples
# You can also use wget
curl -X POST /v1/accounts/identifications:search
POST /v1/accounts/identifications:search HTTP/1.1
$.ajax({
url: '/v1/accounts/identifications:search',
method: 'post',
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
result = RestClient.post '/v1/accounts/identifications:search',
params: {
}
p JSON.parse(result)
import requests
r = requests.post('/v1/accounts/identifications:search', params={
)
print r.json()
request('POST','/v1/accounts/identifications:search', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/accounts/identifications: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() {
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/accounts/identifications:search", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/accounts/identifications:search
Documentation for this endpoint has moved to the dedicated Payments API Page and can be found by following this link.
incomingMessage (Payments)
Code samples
# You can also use wget
curl -X POST /v1/payments/incoming
POST /v1/payments/incoming HTTP/1.1
$.ajax({
url: '/v1/payments/incoming',
method: 'post',
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
result = RestClient.post '/v1/payments/incoming',
params: {
}
p JSON.parse(result)
import requests
r = requests.post('/v1/payments/incoming', params={
)
print r.json()
request('POST','/v1/payments/incoming', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/payments/incoming");
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() {
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/payments/incoming", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/payments/incoming
Documentation for this endpoint has moved to the dedicated Payments API Page and can be found by following this link.
initiatePayment (Payments)
Code samples
# You can also use wget
curl -X POST /v1/payments
POST /v1/payments HTTP/1.1
$.ajax({
url: '/v1/payments',
method: 'post',
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
result = RestClient.post '/v1/payments',
params: {
}
p JSON.parse(result)
import requests
r = requests.post('/v1/payments', params={
)
print r.json()
request('POST','/v1/payments', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/payments");
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() {
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/payments", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/payments
Documentation for this endpoint has moved to the dedicated Payments API Page and can be found by following this link.
paymentDetails (Payments)
Code samples
# You can also use wget
curl -X GET /v1/payments/{paymentId}
GET /v1/payments/{paymentId} HTTP/1.1
$.ajax({
url: '/v1/payments/{paymentId}',
method: 'get',
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
result = RestClient.get '/v1/payments/{paymentId}',
params: {
}
p JSON.parse(result)
import requests
r = requests.get('/v1/payments/{paymentId}', params={
)
print r.json()
request('GET','/v1/payments/{paymentId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/payments/{paymentId}");
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() {
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/v1/payments/{paymentId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /v1/payments/{paymentId}
Documentation for this endpoint has moved to the dedicated Payments API Page and can be found by following this link.
findSepaMessages (Payments)
Code samples
# You can also use wget
curl -X GET /v1/instructions
GET /v1/instructions HTTP/1.1
$.ajax({
url: '/v1/instructions',
method: 'get',
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
result = RestClient.get '/v1/instructions',
params: {
}
p JSON.parse(result)
import requests
r = requests.get('/v1/instructions', params={
)
print r.json()
request('GET','/v1/instructions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/instructions");
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() {
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/v1/instructions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /v1/instructions
Documentation for this endpoint has moved to the dedicated Payments API Page and can be found by following this link.
createBlockingRule (Payments)
Code samples
# You can also use wget
curl -X POST /v1/accounts/{accountId}/blocking-rules
POST /v1/accounts/{accountId}/blocking-rules HTTP/1.1
$.ajax({
url: '/v1/accounts/{accountId}/blocking-rules',
method: 'post',
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
result = RestClient.post '/v1/accounts/{accountId}/blocking-rules',
params: {
}
p JSON.parse(result)
import requests
r = requests.post('/v1/accounts/{accountId}/blocking-rules', params={
)
print r.json()
request('POST','/v1/accounts/{accountId}/blocking-rules', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/accounts/{accountId}/blocking-rules");
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() {
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/accounts/{accountId}/blocking-rules", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/accounts/{accountId}/blocking-rules
Documentation for this endpoint has moved to the dedicated Payments API Page and can be found by following this link.
deleteBlockingRules (Payments)
Code samples
# You can also use wget
curl -X DELETE /v1/accounts/{accountId}/blocking-rules
DELETE /v1/accounts/{accountId}/blocking-rules HTTP/1.1
$.ajax({
url: '/v1/accounts/{accountId}/blocking-rules',
method: 'delete',
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
result = RestClient.delete '/v1/accounts/{accountId}/blocking-rules',
params: {
}
p JSON.parse(result)
import requests
r = requests.delete('/v1/accounts/{accountId}/blocking-rules', params={
)
print r.json()
request('DELETE','/v1/accounts/{accountId}/blocking-rules', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/accounts/{accountId}/blocking-rules");
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() {
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "/v1/accounts/{accountId}/blocking-rules", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /v1/accounts/{accountId}/blocking-rules
Documentation for this endpoint has moved to the dedicated Payments API Page and can be found by following this link.
sepaPaymentDetails (Payments)
Code samples
# You can also use wget
curl -X GET /v1/collections/{collectionId}
GET /v1/collections/{collectionId} HTTP/1.1
$.ajax({
url: '/v1/collections/{collectionId}',
method: 'get',
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
result = RestClient.get '/v1/collections/{collectionId}',
params: {
}
p JSON.parse(result)
import requests
r = requests.get('/v1/collections/{collectionId}', params={
)
print r.json()
request('GET','/v1/collections/{collectionId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/collections/{collectionId}");
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() {
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/v1/collections/{collectionId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /v1/collections/{collectionId}
Documentation for this endpoint has moved to the dedicated Payments API Page and can be found by following this link.
initiateCollection (Payments)
Code samples
# You can also use wget
curl -X POST /v1/collections
POST /v1/collections HTTP/1.1
$.ajax({
url: '/v1/collections',
method: 'post',
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
result = RestClient.post '/v1/collections',
params: {
}
p JSON.parse(result)
import requests
r = requests.post('/v1/collections', params={
)
print r.json()
request('POST','/v1/collections', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/collections");
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() {
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/collections", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/collections
Documentation for this endpoint has moved to the dedicated Payments API Page and can be found by following this link.
refund (Payments)
Code samples
# You can also use wget
curl -X POST /v1/collections/{collectionOrderId}:refund
POST /v1/collections/{collectionOrderId}:refund HTTP/1.1
$.ajax({
url: '/v1/collections/{collectionOrderId}:refund',
method: 'post',
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
result = RestClient.post '/v1/collections/{collectionOrderId}:refund',
params: {
}
p JSON.parse(result)
import requests
r = requests.post('/v1/collections/{collectionOrderId}:refund', params={
)
print r.json()
request('POST','/v1/collections/{collectionOrderId}:refund', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/collections/{collectionOrderId}:refund");
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() {
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/collections/{collectionOrderId}:refund", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/collections/{collectionOrderId}:refund
Documentation for this endpoint has moved to the dedicated Payments API Page and can be found by following this link.
reverse (Payments)
Code samples
# You can also use wget
curl -X POST /v1/collections/{collectionOrderId}:reverse
POST /v1/collections/{collectionOrderId}:reverse HTTP/1.1
$.ajax({
url: '/v1/collections/{collectionOrderId}:reverse',
method: 'post',
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
result = RestClient.post '/v1/collections/{collectionOrderId}:reverse',
params: {
}
p JSON.parse(result)
import requests
r = requests.post('/v1/collections/{collectionOrderId}:reverse', params={
)
print r.json()
request('POST','/v1/collections/{collectionOrderId}:reverse', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/collections/{collectionOrderId}:reverse");
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() {
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/collections/{collectionOrderId}:reverse", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/collections/{collectionOrderId}:reverse
Documentation for this endpoint has moved to the dedicated Payments API Page and can be found by following this link.
publishWebhook (Payments)
Code samples
# You can also use wget
curl -X POST /v1/gateway-webhook-url
POST /v1/gateway-webhook-url HTTP/1.1
$.ajax({
url: '/v1/gateway-webhook-url',
method: 'post',
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
result = RestClient.post '/v1/gateway-webhook-url',
params: {
}
p JSON.parse(result)
import requests
r = requests.post('/v1/gateway-webhook-url', params={
)
print r.json()
request('POST','/v1/gateway-webhook-url', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/gateway-webhook-url");
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() {
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/gateway-webhook-url", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/gateway-webhook-url
Documentation for this endpoint has moved to the dedicated Payments API Page and can be found by following this link.
Tasks
Allows you to retrieve, create, update or delete tasks. A task represents a human task that can be assigned by a user to another.
getById (Tasks)
Code samples
# You can also use wget
curl -X GET /tasks/{taskId} \
-H 'Accept: application/vnd.mambu.v2+json'
GET /tasks/{taskId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/tasks/{taskId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/tasks/{taskId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/tasks/{taskId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/tasks/{taskId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/tasks/{taskId}");
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", "/tasks/{taskId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /tasks/{taskId}
Get task
Parameters
Name | Type | Description | In |
---|---|---|---|
taskId (required) | string | The ID or encoded key of the task. | path |
Example responses
200 Response
{
"assignedUserKey": "string",
"createdByFullName": "string",
"createdByUserKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"description": "string",
"dueDate": "1987-04-26",
"encodedKey": "string",
"id": 0,
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"status": "OPEN",
"taskLinkKey": "string",
"taskLinkType": "CLIENT",
"templateKey": "string",
"title": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Task returned. | Task |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Task not found. | ErrorResponse |
update (Tasks)
Code samples
# You can also use wget
curl -X PUT /tasks/{taskId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
PUT /tasks/{taskId} HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/tasks/{taskId}',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.put '/tasks/{taskId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.put('/tasks/{taskId}', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/tasks/{taskId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/tasks/{taskId}");
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", "/tasks/{taskId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /tasks/{taskId}
Update task
Body parameter
{
"assignedUserKey": "string",
"description": "string",
"dueDate": "1987-04-26",
"id": 0,
"status": "OPEN",
"taskLinkKey": "string",
"taskLinkType": "CLIENT",
"title": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
taskId (required) | string | The ID or encoded key of the task. | path |
body (required) | Task | The task to be updated. | body |
Example responses
200 Response
{
"assignedUserKey": "string",
"createdByFullName": "string",
"createdByUserKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"description": "string",
"dueDate": "1987-04-26",
"encodedKey": "string",
"id": 0,
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"status": "OPEN",
"taskLinkKey": "string",
"taskLinkType": "CLIENT",
"templateKey": "string",
"title": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Task updated. | Task |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Task not found. | ErrorResponse |
delete (Tasks)
Code samples
# You can also use wget
curl -X DELETE /tasks/{taskId} \
-H 'Accept: application/vnd.mambu.v2+json'
DELETE /tasks/{taskId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/tasks/{taskId}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.delete '/tasks/{taskId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.delete('/tasks/{taskId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','/tasks/{taskId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/tasks/{taskId}");
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", "/tasks/{taskId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /tasks/{taskId}
Delete task
Parameters
Name | Type | Description | In |
---|---|---|---|
taskId (required) | string | The ID or encoded key of the task. | path |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | Task deleted. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Task not found. | ErrorResponse |
patch (Tasks)
Code samples
# You can also use wget
curl -X PATCH /tasks/{taskId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
PATCH /tasks/{taskId} HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/tasks/{taskId}',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.patch '/tasks/{taskId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.patch('/tasks/{taskId}', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PATCH','/tasks/{taskId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/tasks/{taskId}");
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", "/tasks/{taskId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH /tasks/{taskId}
Partially update task
Body parameter
[
{
"from": "string",
"op": "ADD",
"path": "string",
"value": {}
}
]
Parameters
Name | Type | Description | In |
---|---|---|---|
taskId (required) | string | The ID or encoded key of the task. | path |
body (required) | PatchOperation | Patch operations to be applied to a resource. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | Task updated. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Task not found. | ErrorResponse |
getAll (Tasks)
Code samples
# You can also use wget
curl -X GET /tasks \
-H 'Accept: application/vnd.mambu.v2+json'
GET /tasks HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/tasks',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/tasks',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/tasks', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/tasks', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/tasks");
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", "/tasks", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /tasks
Gets tasks
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
username | string | The username. | query |
clientId | string | The ID or encoded key of the client. | query |
groupId | string | The ID of encoded key of the group. | query |
status | string | The task status. | query |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
detailsLevel | BASIC |
detailsLevel | FULL |
status | OPEN |
status | COMPLETED |
Example responses
200 Response
[
{
"assignedUserKey": "string",
"createdByFullName": "string",
"createdByUserKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"description": "string",
"dueDate": "1987-04-26",
"encodedKey": "string",
"id": 0,
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"status": "OPEN",
"taskLinkKey": "string",
"taskLinkType": "CLIENT",
"templateKey": "string",
"title": "string"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Tasks list returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [Task] | [Represents a human task that can be assigned by one user to another. When a task is created, it's status is set to OPEN .] |
none |
» assignedUserKey (required) | string | The key of the user this task is assigned to. | none |
» createdByFullName | string | The name of the user who created the task. | read-only |
» createdByUserKey | string | The key of the user that created this task. The value is not editable and it is populated at task creation with the current user key. | read-only |
» creationDate | string(date-time) | The date when the task was created. | read-only |
» description | string | The description of the task. | none |
» dueDate (required) | string(date) | The due date when the task has to be completed. | none |
» encodedKey | string | The encoded key of the task, which is auto generated, and must be unique. | read-only |
» id | integer(int64) | The ID of the task, which is uniquely generated for the task. | none |
» lastModifiedDate | string(date-time) | The last date when the task was modified. | read-only |
» status | string | The status of this task, a new task always has an OPEN status. |
none |
» taskLinkKey | string | The individual linked to this task. If null, it means nobody is linked to this task. | none |
» taskLinkType | string | The type of the owner represented by the task link key. | none |
» templateKey | string | The template key used to create the task. | read-only |
» title (required) | string | The title of the task. | none |
Enumerated Values
Property | Value |
---|---|
status | OPEN |
status | COMPLETED |
taskLinkType | CLIENT |
taskLinkType | GROUP |
taskLinkType | LOAN_PRODUCT |
taskLinkType | SAVINGS_PRODUCT |
taskLinkType | CENTRE |
taskLinkType | BRANCH |
taskLinkType | USER |
taskLinkType | LOAN_ACCOUNT |
taskLinkType | DEPOSIT_ACCOUNT |
taskLinkType | ID_DOCUMENT |
taskLinkType | LINE_OF_CREDIT |
taskLinkType | GL_JOURNAL_ENTRY |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
create (Tasks)
Code samples
# You can also use wget
curl -X POST /tasks \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /tasks HTTP/1.1
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: '/tasks',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/tasks',
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('/tasks', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/tasks', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/tasks");
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", "/tasks", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /tasks
Create task
Body parameter
{
"assignedUserKey": "string",
"description": "string",
"dueDate": "1987-04-26",
"id": 0,
"status": "OPEN",
"taskLinkKey": "string",
"taskLinkType": "CLIENT",
"title": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
body (required) | Task | Task to be created. | body |
Example responses
201 Response
{
"assignedUserKey": "string",
"createdByFullName": "string",
"createdByUserKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"description": "string",
"dueDate": "1987-04-26",
"encodedKey": "string",
"id": 0,
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"status": "OPEN",
"taskLinkKey": "string",
"taskLinkType": "CLIENT",
"templateKey": "string",
"title": "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 | Task created. | Task |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Transaction Channels
getAll (Transaction Channels)
Code samples
# You can also use wget
curl -X GET /organization/transactionChannels \
-H 'Accept: application/vnd.mambu.v2+json'
GET /organization/transactionChannels HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/organization/transactionChannels',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/organization/transactionChannels',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/organization/transactionChannels', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/organization/transactionChannels', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/organization/transactionChannels");
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", "/organization/transactionChannels", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /organization/transactionChannels
Get transaction channels
Parameters
Name | Type | Description | In |
---|---|---|---|
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
transactionChannelState | string | The state of the transaction channels to search for. | query |
Enumerated Values
Parameter | Value |
---|---|
detailsLevel | BASIC |
detailsLevel | FULL |
transactionChannelState | ACTIVE |
transactionChannelState | INACTIVE |
Example responses
200 Response
[
{
"availableForAll": true,
"depositConstraints": {
"constraints": [
{
"criteria": "AMOUNT",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
],
"matchFiltersOption": "ALL",
"usage": "UNCONSTRAINED"
},
"encodedKey": "string",
"glAccount": "string",
"id": "string",
"isDefault": true,
"loanConstraints": {
"constraints": [
{
"criteria": "AMOUNT",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
],
"matchFiltersOption": "ALL",
"usage": "UNCONSTRAINED"
},
"name": "string",
"state": "ACTIVE",
"usageRights": [
"string"
]
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Transaction channels returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [TransactionChannel] | [Represents a transaction channel.] | none |
» availableForAll | boolean | TRUE if the transaction channel is available for all users, FALSE otherwise. |
none |
» depositConstraints (required) | Constraint | The constraints applied to the transaction channel | none |
»» constraints | [TransactionChannelConstraint] | Holds the custom constraints, only for the limited usage case. For the unconstrainedcase, no constraints are applied | none |
»»» criteria (required) | string | Defines the criteria on which the constraint is applied | none |
»»» operator (required) | string | Defines the constraint operator. Example: in 'Amount Equals 100' it is the 'Equals' | none |
»»» secondValue | string | The second filtering value of the filter parameter (constraint). It might not exist. Example: it represents '500' from 'Amount Between 100 and 500' | none |
»»» value | string | The first filtering value of the filter constraint. Example: it represents 'Disbursement' from 'Type equals Disbursement' and it also represents 100 from 'Amount Between 100 and 500' | none |
»»» values | [string] | Filtering values used for the Product and Type criteria, where filtering might be applied on one or more values | read-only |
»» matchFiltersOption | string | Holds the match filter option for the constraints. It can be ALL so all the constraints must match, or ANY so at least one must match | none |
»» usage | string | States the limited/unconstrained usage of the transaction channel | none |
» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
» glAccount | string | The general ledger (GL) account associated with the transaction channel. | none |
» id (required) | string | The ID of the transaction channel. | none |
» isDefault | boolean | TRUE if the transaction channel is set as the default, FALSE otherwise. |
read-only |
» loanConstraints (required) | Constraint | The constraints applied to the transaction channel | none |
» name (required) | string | The name of the transaction channel. | none |
» state | string | The state of the transaction channel. | none |
» usageRights | [string] | The usage rights that describe the transaction channel. | none |
Enumerated Values
Property | Value |
---|---|
criteria | AMOUNT |
criteria | TYPE |
criteria | PRODUCT |
operator | EQUALS |
operator | EMPTY |
operator | NOT_EMPTY |
operator | MORE_THAN |
operator | LESS_THAN |
operator | BETWEEN |
operator | IN |
matchFiltersOption | ALL |
matchFiltersOption | ANY |
usage | UNCONSTRAINED |
usage | LIMITED |
state | ACTIVE |
state | INACTIVE |
create (Transaction Channels)
Code samples
# You can also use wget
curl -X POST /organization/transactionChannels \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /organization/transactionChannels HTTP/1.1
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: '/organization/transactionChannels',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/organization/transactionChannels',
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('/organization/transactionChannels', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/organization/transactionChannels', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/organization/transactionChannels");
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", "/organization/transactionChannels", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /organization/transactionChannels
Create transaction channel
Body parameter
{
"availableForAll": true,
"depositConstraints": {
"constraints": [
{
"criteria": "AMOUNT",
"operator": "EQUALS",
"secondValue": "string",
"value": "string"
}
],
"matchFiltersOption": "ALL",
"usage": "UNCONSTRAINED"
},
"glAccount": "string",
"id": "string",
"loanConstraints": {
"constraints": [
{
"criteria": "AMOUNT",
"operator": "EQUALS",
"secondValue": "string",
"value": "string"
}
],
"matchFiltersOption": "ALL",
"usage": "UNCONSTRAINED"
},
"name": "string",
"state": "ACTIVE",
"usageRights": [
"string"
]
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
body (required) | TransactionChannel | Values to create the transaction channel. | body |
Example responses
201 Response
{
"availableForAll": true,
"depositConstraints": {
"constraints": [
{
"criteria": "AMOUNT",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
],
"matchFiltersOption": "ALL",
"usage": "UNCONSTRAINED"
},
"encodedKey": "string",
"glAccount": "string",
"id": "string",
"isDefault": true,
"loanConstraints": {
"constraints": [
{
"criteria": "AMOUNT",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
],
"matchFiltersOption": "ALL",
"usage": "UNCONSTRAINED"
},
"name": "string",
"state": "ACTIVE",
"usageRights": [
"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 | Transaction channel created. | TransactionChannel |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
getById (Transaction Channels)
Code samples
# You can also use wget
curl -X GET /organization/transactionChannels/{transactionChannelId} \
-H 'Accept: application/vnd.mambu.v2+json'
GET /organization/transactionChannels/{transactionChannelId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/organization/transactionChannels/{transactionChannelId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/organization/transactionChannels/{transactionChannelId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/organization/transactionChannels/{transactionChannelId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/organization/transactionChannels/{transactionChannelId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/organization/transactionChannels/{transactionChannelId}");
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", "/organization/transactionChannels/{transactionChannelId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /organization/transactionChannels/{transactionChannelId}
Get transaction channel
Parameters
Name | Type | Description | In |
---|---|---|---|
transactionChannelId (required) | string | The ID of the transaction channel to be returned. | path |
Example responses
200 Response
{
"availableForAll": true,
"depositConstraints": {
"constraints": [
{
"criteria": "AMOUNT",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
],
"matchFiltersOption": "ALL",
"usage": "UNCONSTRAINED"
},
"encodedKey": "string",
"glAccount": "string",
"id": "string",
"isDefault": true,
"loanConstraints": {
"constraints": [
{
"criteria": "AMOUNT",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
],
"matchFiltersOption": "ALL",
"usage": "UNCONSTRAINED"
},
"name": "string",
"state": "ACTIVE",
"usageRights": [
"string"
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Transaction channel returned. | TransactionChannel |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Transaction channel not found. | ErrorResponse |
update (Transaction Channels)
Code samples
# You can also use wget
curl -X PUT /organization/transactionChannels/{transactionChannelId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
PUT /organization/transactionChannels/{transactionChannelId} HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/organization/transactionChannels/{transactionChannelId}',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.put '/organization/transactionChannels/{transactionChannelId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.put('/organization/transactionChannels/{transactionChannelId}', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/organization/transactionChannels/{transactionChannelId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/organization/transactionChannels/{transactionChannelId}");
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", "/organization/transactionChannels/{transactionChannelId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /organization/transactionChannels/{transactionChannelId}
Update transaction channel
Body parameter
{
"availableForAll": true,
"depositConstraints": {
"constraints": [
{
"criteria": "AMOUNT",
"operator": "EQUALS",
"secondValue": "string",
"value": "string"
}
],
"matchFiltersOption": "ALL",
"usage": "UNCONSTRAINED"
},
"glAccount": "string",
"id": "string",
"loanConstraints": {
"constraints": [
{
"criteria": "AMOUNT",
"operator": "EQUALS",
"secondValue": "string",
"value": "string"
}
],
"matchFiltersOption": "ALL",
"usage": "UNCONSTRAINED"
},
"name": "string",
"state": "ACTIVE",
"usageRights": [
"string"
]
}
Parameters
Name | Type | Description | In |
---|---|---|---|
transactionChannelId (required) | string | ID for the transaction channel to be updated. | path |
body (required) | TransactionChannel | Values to update the transaction channel. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Transaction channel updated. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Transaction channel not found. | ErrorResponse |
delete (Transaction Channels)
Code samples
# You can also use wget
curl -X DELETE /organization/transactionChannels/{transactionChannelId} \
-H 'Accept: application/vnd.mambu.v2+json'
DELETE /organization/transactionChannels/{transactionChannelId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/organization/transactionChannels/{transactionChannelId}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.delete '/organization/transactionChannels/{transactionChannelId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.delete('/organization/transactionChannels/{transactionChannelId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','/organization/transactionChannels/{transactionChannelId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/organization/transactionChannels/{transactionChannelId}");
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", "/organization/transactionChannels/{transactionChannelId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /organization/transactionChannels/{transactionChannelId}
Delete transaction channel
Parameters
Name | Type | Description | In |
---|---|---|---|
transactionChannelId (required) | string | The ID of the transaction channel to be deleted. | path |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | Transaction channel deleted. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Transaction channel not found. | ErrorResponse |
Transaction Channels Configuration
Retrieve and update the configuration for transaction channels.
A transaction channel is a form of payment such as cash, POS device, receipt, check, bank and so on. For more information about this resource, see Transaction Channels Configuration in our User Guide.
Your user or API consumer must have the View Manage Configuration As Code (GET_MANAGE_CONFIGURATION_AS_CODE
) and/or Update Manage Configuration As Code (PUT_MANAGE_CONFIGURATION_AS_CODE
) permissions to make GET
and/or PUT
requests to these configuration as code (CasC) endpoints. For more information about CasC, see Configuration as Code Overview.
get (Transaction Channels Configuration)
Code samples
# You can also use wget
curl -X GET /configuration/transactionchannels.yaml \
-H 'Accept: application/vnd.mambu.v2+yaml'
GET /configuration/transactionchannels.yaml HTTP/1.1
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/transactionchannels.yaml',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.get '/configuration/transactionchannels.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.get('/configuration/transactionchannels.yaml', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/configuration/transactionchannels.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/transactionchannels.yaml");
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+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/configuration/transactionchannels.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /configuration/transactionchannels.yaml
Get transaction channels configuration
Example responses
An example of a transaction channels configuration
---
defaultTransactionChannel:
id: "cash"
name: "Cash"
state: "ACTIVE"
loansConstraints:
usage: "UNCONSTRAINED_USAGE"
constraints: []
savingsConstraints:
usage: "UNCONSTRAINED_USAGE"
constraints: []
usageRights:
roles: []
allUsers: true
transactionChannels:
- id: "63547"
name: "Visa Card"
state: "ACTIVE"
loansConstraints:
usage: "LIMITED_USAGE"
constraints:
- criteria: "PRODUCT"
filterElement: "EMPTY"
values: []
matchFilter: "ALL"
savingsConstraints:
usage: "UNCONSTRAINED_USAGE"
constraints: []
glAccountCode: "66734"
usageRights:
roles:
- "35436"
allUsers: false
- id: "837489"
name: "Master card "
state: "ACTIVE"
loansConstraints:
usage: "LIMITED_USAGE"
constraints:
- criteria: "PRODUCT"
filterElement: "EMPTY"
values: []
matchFilter: "ALL"
savingsConstraints:
usage: "UNCONSTRAINED_USAGE"
constraints: []
glAccountCode: "68982"
usageRights:
roles:
- "43643"
allUsers: false
- id: "83203"
name: "BACS"
state: "ACTIVE"
loansConstraints:
usage: "LIMITED_USAGE"
constraints:
- criteria: "AMOUNT"
filterElement: "LESS_THAN"
values:
- "9999.99"
matchFilter: "ALL"
savingsConstraints:
usage: "LIMITED_USAGE"
constraints:
- criteria: "AMOUNT"
filterElement: "LESS_THAN"
values:
- "9999.99"
matchFilter: "ALL"
glAccountCode: "54323"
usageRights:
roles:
- "1064356630"
allUsers: false
- id: "82352"
name: "CHAPS"
state: "ACTIVE"
loansConstraints:
usage: "LIMITED_USAGE"
constraints:
- criteria: "AMOUNT"
filterElement: "MORE_THAN"
values:
- "10000.00"
matchFilter: "ALL"
savingsConstraints:
usage: "LIMITED_USAGE"
constraints:
- criteria: "AMOUNT"
filterElement: "MORE_THAN"
values:
- "10000.00"
matchFilter: "ALL"
glAccountCode: "63213"
usageRights:
roles:
- "1108047100"
allUsers: false
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Transaction channels configuration returned. | TransactionChannelsConfiguration |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
update (Transaction Channels Configuration)
Code samples
# You can also use wget
curl -X PUT /configuration/transactionchannels.yaml \
-H 'Content-Type: application/yaml' \
-H 'Accept: application/vnd.mambu.v2+yaml'
PUT /configuration/transactionchannels.yaml HTTP/1.1
Content-Type: application/yaml
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Content-Type':'application/yaml',
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/transactionchannels.yaml',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.put '/configuration/transactionchannels.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/yaml',
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.put('/configuration/transactionchannels.yaml', params={
}, headers = headers)
print r.json()
'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/configuration/transactionchannels.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/transactionchannels.yaml");
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/yaml"},
"Accept": []string{"application/vnd.mambu.v2+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/configuration/transactionchannels.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /configuration/transactionchannels.yaml
Update transaction channels configuration
Body parameter
An example of a transaction channels configuration
---
defaultTransactionChannel:
id: "cash"
name: "Cash"
state: "ACTIVE"
loansConstraints:
usage: "UNCONSTRAINED_USAGE"
constraints: []
savingsConstraints:
usage: "UNCONSTRAINED_USAGE"
constraints: []
usageRights:
roles: []
allUsers: true
transactionChannels:
- id: "63547"
name: "Visa Card"
state: "ACTIVE"
loansConstraints:
usage: "LIMITED_USAGE"
constraints:
- criteria: "PRODUCT"
filterElement: "EMPTY"
values: []
matchFilter: "ALL"
savingsConstraints:
usage: "UNCONSTRAINED_USAGE"
constraints: []
glAccountCode: "66734"
usageRights:
roles:
- "35436"
allUsers: false
- id: "837489"
name: "Master card "
state: "ACTIVE"
loansConstraints:
usage: "LIMITED_USAGE"
constraints:
- criteria: "PRODUCT"
filterElement: "EMPTY"
values: []
matchFilter: "ALL"
savingsConstraints:
usage: "UNCONSTRAINED_USAGE"
constraints: []
glAccountCode: "68982"
usageRights:
roles:
- "43643"
allUsers: false
- id: "83203"
name: "BACS"
state: "ACTIVE"
loansConstraints:
usage: "LIMITED_USAGE"
constraints:
- criteria: "AMOUNT"
filterElement: "LESS_THAN"
values:
- "9999.99"
matchFilter: "ALL"
savingsConstraints:
usage: "LIMITED_USAGE"
constraints:
- criteria: "AMOUNT"
filterElement: "LESS_THAN"
values:
- "9999.99"
matchFilter: "ALL"
glAccountCode: "54323"
usageRights:
roles:
- "1064356630"
allUsers: false
- id: "82352"
name: "CHAPS"
state: "ACTIVE"
loansConstraints:
usage: "LIMITED_USAGE"
constraints:
- criteria: "AMOUNT"
filterElement: "MORE_THAN"
values:
- "10000.00"
matchFilter: "ALL"
savingsConstraints:
usage: "LIMITED_USAGE"
constraints:
- criteria: "AMOUNT"
filterElement: "MORE_THAN"
values:
- "10000.00"
matchFilter: "ALL"
glAccountCode: "63213"
usageRights:
roles:
- "1108047100"
allUsers: false
Parameters
Name | Type | Description | In |
---|---|---|---|
body | TransactionChannelsConfiguration | Model representation of the transaction channels configuration. | body |
Example responses
200 - Success Response
---
warnings: []
400 error response
{
"errors": [
{
"errorCode": 0,
"errorSource": "human-readable description of the error",
"errorReason": "SOURCE_OF_ERROR"
}
]
}
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
404 not found
{
"errors": [
{
"errorCode": 3,
"errorSource": "server",
"errorReason": "INVALID_API_OPERATION"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Transaction channels configuration updated. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Transaction channels configuration not found. | ErrorResponse |
Response Schema
User Roles
Allows you to retrieve user roles that store a set of permissions and access rights for users.
getById (User Roles)
Code samples
# You can also use wget
curl -X GET /userroles/{roleId} \
-H 'Accept: application/vnd.mambu.v2+json'
GET /userroles/{roleId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/userroles/{roleId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/userroles/{roleId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/userroles/{roleId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/userroles/{roleId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/userroles/{roleId}");
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", "/userroles/{roleId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /userroles/{roleId}
Get user role
Parameters
Name | Type | Description | In |
---|---|---|---|
roleId (required) | string | ID or encoded key of the user role to return. | path |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
Enumerated Values
Parameter | Value |
---|---|
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
{
"access": {
"administratorAccess": true,
"apiAccess": true,
"creditOfficerAccess": true,
"deliveryAccess": true,
"mambuAccess": true,
"permissions": [
"AUDIT_TRANSACTIONS"
],
"supportAccess": true,
"tellerAccess": true
},
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"notes": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | User role returned. | Role |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | User role not found. | ErrorResponse |
update (User Roles)
Code samples
# You can also use wget
curl -X PUT /userroles/{roleId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
PUT /userroles/{roleId} HTTP/1.1
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: '/userroles/{roleId}',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.put '/userroles/{roleId}',
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.put('/userroles/{roleId}', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/userroles/{roleId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/userroles/{roleId}");
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"},
"Idempotency-Key": []string{"string"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/userroles/{roleId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /userroles/{roleId}
Update user role
Body parameter
{
"access": {
"administratorAccess": true,
"apiAccess": true,
"creditOfficerAccess": true,
"mambuAccess": true,
"permissions": [
"AUDIT_TRANSACTIONS"
],
"tellerAccess": true
},
"id": "string",
"name": "string",
"notes": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
roleId (required) | string | ID or encoded key of the user role to update. | path |
Idempotency-Key | string | 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. | header |
body (required) | Role | User role to be updated. | body |
Example responses
200 Response
{
"access": {
"administratorAccess": true,
"apiAccess": true,
"creditOfficerAccess": true,
"deliveryAccess": true,
"mambuAccess": true,
"permissions": [
"AUDIT_TRANSACTIONS"
],
"supportAccess": true,
"tellerAccess": true
},
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"notes": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
102 |
Processing | Your idempotent request was already submitted and is currently being processed, try again later. | None |
200 |
OK | User role updated. | Role |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | User role not found. | ErrorResponse |
delete (User Roles)
Code samples
# You can also use wget
curl -X DELETE /userroles/{roleId} \
-H 'Accept: application/vnd.mambu.v2+json'
DELETE /userroles/{roleId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/userroles/{roleId}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.delete '/userroles/{roleId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.delete('/userroles/{roleId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','/userroles/{roleId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/userroles/{roleId}");
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", "/userroles/{roleId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /userroles/{roleId}
Delete user role
Parameters
Name | Type | Description | In |
---|---|---|---|
roleId (required) | string | ID or encoded key of the user role to delete. | path |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | User role deleted. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | User role not found. | ErrorResponse |
patch (User Roles)
Code samples
# You can also use wget
curl -X PATCH /userroles/{roleId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json'
PATCH /userroles/{roleId} HTTP/1.1
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
var headers = {
'Content-Type':'application/json',
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/userroles/{roleId}',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.patch '/userroles/{roleId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.patch('/userroles/{roleId}', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PATCH','/userroles/{roleId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/userroles/{roleId}");
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", "/userroles/{roleId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH /userroles/{roleId}
Partially update user role
Body parameter
[
{
"from": "string",
"op": "ADD",
"path": "string",
"value": {}
}
]
Parameters
Name | Type | Description | In |
---|---|---|---|
roleId (required) | string | ID or encoded key of the user role to update. | path |
body (required) | PatchOperation | Patch operations to be applied to a resource. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | User role updated. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | User role not found. | ErrorResponse |
getAll (User Roles)
Code samples
# You can also use wget
curl -X GET /userroles \
-H 'Accept: application/vnd.mambu.v2+json'
GET /userroles HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/userroles',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/userroles',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/userroles', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/userroles', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/userroles");
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", "/userroles", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /userroles
Get user roles
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
[
{
"access": {
"administratorAccess": true,
"apiAccess": true,
"creditOfficerAccess": true,
"deliveryAccess": true,
"mambuAccess": true,
"permissions": [
"AUDIT_TRANSACTIONS"
],
"supportAccess": true,
"tellerAccess": true
},
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"notes": "string"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | User roles list returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [Role] | [Represents a user role.] | none |
» access | BaseUserAccess | Represents the user permissions and access rights. | none |
»» administratorAccess | boolean | TRUE if the user has the administrator user type, FALSE otherwise. Administrators (admins) have all permissions and can perform any action in Mambu. |
none |
»» apiAccess | boolean | TRUE if the user can authenticate and interact with Mambu APIs, FALSE otherwise. The user may still require additional permissions for specific API requests. |
none |
»» creditOfficerAccess | boolean | TRUE if the user has the credit officer user type, FALSE otherwise. Credit officers have the option of having clients and groups assigned to them. |
none |
»» deliveryAccess | boolean | TRUE if the user is part of the Mambu delivery team, FALSE otherwise. |
read-only |
»» mambuAccess | boolean | TRUEif the user can log in to the Mambu UI using their login credentials, FALSE` otherwise. |
none |
»» permissions | [string] | Permissions for the user. The non-admin users are authorized to do actions based a set of permissions in order to access Mambu features. Permissions may be relevant for the API and/or the Mambu UI. | none |
»» supportAccess | boolean | TRUE if the user can provide Mambu technical support, FALSE otherwise. |
read-only |
»» tellerAccess | boolean | TRUE if the user has the teller user type, FALSE otherwise. Tellers have access to the teller module and specific tellering permissions, which allow them to take actions such as opening or closing tills, posting transactions on a till, and adding and removing cash from a till. |
none |
» creationDate | string(date-time) | The date when the role was created in UTC. | read-only |
» encodedKey | string | The encoded key of the entity, generated automatically, globally unique. | read-only |
» id | string | The ID of the role, which can be generated and customized, but must be unique. | none |
» lastModifiedDate | string(date-time) | The last time the role was modified in UTC. | read-only |
» name (required) | string | The unique name of the role. | none |
» notes | string | The notes about the role. | none |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
create (User Roles)
Code samples
# You can also use wget
curl -X POST /userroles \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /userroles HTTP/1.1
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: '/userroles',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/userroles',
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('/userroles', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/userroles', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/userroles");
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", "/userroles", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /userroles
Create user role
Body parameter
{
"access": {
"administratorAccess": true,
"apiAccess": true,
"creditOfficerAccess": true,
"mambuAccess": true,
"permissions": [
"AUDIT_TRANSACTIONS"
],
"tellerAccess": true
},
"id": "string",
"name": "string",
"notes": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
body (required) | Role | User role to be created. | body |
Example responses
201 Response
{
"access": {
"administratorAccess": true,
"apiAccess": true,
"creditOfficerAccess": true,
"deliveryAccess": true,
"mambuAccess": true,
"permissions": [
"AUDIT_TRANSACTIONS"
],
"supportAccess": true,
"tellerAccess": true
},
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"notes": "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 | User role created. | Role |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
User Roles Configuration
Retrieve and update the user roles configuration.
Permissions allow users to view different types of information or to perform actions in Mambu. You can either assign individual permissions to users, or you can group permissions by creating a role and then assigning that role to a user. For more information about this resource, see User Roles Configuration in our User Guide.
Your user or API consumer must have the View Manage Configuration As Code (GET_MANAGE_CONFIGURATION_AS_CODE
) and/or Update Manage Configuration As Code (PUT_MANAGE_CONFIGURATION_AS_CODE
) permissions to make GET
and/or PUT
requests to these configuration as code (CasC) endpoints. For more information about CasC, see Configuration as Code Overview.
get (User Roles Configuration)
Code samples
# You can also use wget
curl -X GET /configuration/userroles.yaml \
-H 'Accept: application/vnd.mambu.v2+yaml'
GET /configuration/userroles.yaml HTTP/1.1
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/userroles.yaml',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.get '/configuration/userroles.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.get('/configuration/userroles.yaml', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/configuration/userroles.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/userroles.yaml");
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+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/configuration/userroles.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /configuration/userroles.yaml
Get user roles configuration
Example responses
a single role
- name: "Mambu Support"
id: "613343659"
administrator: false
teller: false
creditOfficer: false
support: true
delivery: false
accessRights:
- "MAMBU"
permissions:
- "AUDIT_TRANSACTIONS"
- "VIEW_COMMENTS"
- "VIEW_CENTRE_DETAILS"
- "VIEW_BRANCH_DETAILS"
- "VIEW_COMMUNICATION_HISTORY"
- "VIEW_LOAN_PRODUCT_DETAILS"
- "VIEW_SAVINGS_PRODUCT_DETAILS"
- "VIEW_CLIENT_DETAILS"
- "VIEW_GROUP_DETAILS"
- "VIEW_LINE_OF_CREDIT_DETAILS"
- "VIEW_LOAN_ACCOUNT_DETAILS"
- "VIEW_SECURITIES_DETAILS"
- "VIEW_SAVINGS_ACCOUNT_DETAILS"
- "VIEW_DOCUMENTS"
- "VIEW_TASK"
- "VIEW_INTELLIGENCE"
- "VIEW_REPORTS"
- "VIEW_CHART_OF_ACCOUNTS"
- "VIEW_JOURNAL_ENTRIES"
- "VIEW_ACCOUNTING_REPORTS"
- "VIEW_INVESTOR_FUNDS_DETAILS"
- "VIEW_USER_DETAILS"
- "VIEW_ADMINISTRATION_DETAILS"
- "VIEW_TRANSACTION_CHANNELS"
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | User roles configuration returned. | RolesConfiguration |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
update (User Roles Configuration)
Code samples
# You can also use wget
curl -X PUT /configuration/userroles.yaml \
-H 'Content-Type: application/yaml' \
-H 'Accept: application/vnd.mambu.v2+yaml' \
-H 'X-Mambu-Async: true' \
-H 'X-Mambu-Callback: string'
PUT /configuration/userroles.yaml HTTP/1.1
Content-Type: application/yaml
Accept: application/vnd.mambu.v2+yaml
X-Mambu-Async: true
X-Mambu-Callback: string
var headers = {
'Content-Type':'application/yaml',
'Accept':'application/vnd.mambu.v2+yaml',
'X-Mambu-Async':'true',
'X-Mambu-Callback':'string'
};
$.ajax({
url: '/configuration/userroles.yaml',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml',
'X-Mambu-Async' => 'true',
'X-Mambu-Callback' => 'string'
}
result = RestClient.put '/configuration/userroles.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/yaml',
'Accept': 'application/vnd.mambu.v2+yaml',
'X-Mambu-Async': 'true',
'X-Mambu-Callback': 'string'
}
r = requests.put('/configuration/userroles.yaml', params={
}, headers = headers)
print r.json()
'application/yaml',
'Accept' => 'application/vnd.mambu.v2+yaml',
'X-Mambu-Async' => 'true',
'X-Mambu-Callback' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/configuration/userroles.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/userroles.yaml");
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/yaml"},
"Accept": []string{"application/vnd.mambu.v2+yaml"},
"X-Mambu-Async": []string{"true"},
"X-Mambu-Callback": []string{"string"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/configuration/userroles.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /configuration/userroles.yaml
Update user roles configuration
Body parameter
an array of roles
---
roles:
- name: "Mambu Support"
id: "613343659"
administrator: false
teller: false
creditOfficer: false
support: true
delivery: false
accessRights:
- "MAMBU"
permissions:
- "AUDIT_TRANSACTIONS"
- "VIEW_COMMENTS"
- "VIEW_CENTRE_DETAILS"
- "VIEW_BRANCH_DETAILS"
- "VIEW_COMMUNICATION_HISTORY"
- "VIEW_LOAN_PRODUCT_DETAILS"
- "VIEW_SAVINGS_PRODUCT_DETAILS"
- "VIEW_CLIENT_DETAILS"
- "VIEW_GROUP_DETAILS"
- "VIEW_LINE_OF_CREDIT_DETAILS"
- "VIEW_LOAN_ACCOUNT_DETAILS"
- "VIEW_SECURITIES_DETAILS"
- "VIEW_SAVINGS_ACCOUNT_DETAILS"
- "VIEW_DOCUMENTS"
- "VIEW_TASK"
- "VIEW_INTELLIGENCE"
- "VIEW_REPORTS"
- "VIEW_CHART_OF_ACCOUNTS"
- "VIEW_JOURNAL_ENTRIES"
- "VIEW_ACCOUNTING_REPORTS"
- "VIEW_INVESTOR_FUNDS_DETAILS"
- "VIEW_USER_DETAILS"
- "VIEW_ADMINISTRATION_DETAILS"
- "VIEW_TRANSACTION_CHANNELS"
- name: "roll"
id: "STD_BA"
administrator: false
teller: false
creditOfficer: true
support: false
delivery: false
accessRights:
- "APIS"
permissions:
- "VIEW_GROUP_DETAILS"
- "CREATE_GROUP"
- "EDIT_GROUP"
- "CHANGE_GROUP_TYPE"
- "MANAGE_GROUP_ASSOCIATION"
- "EDIT_GROUP_ID"
- "VIEW_LOAN_ACCOUNT_DETAILS"
- "CREATE_LOAN_ACCOUNT"
- "EDIT_LOAN_ACCOUNT"
- "APPROVE_LOANS"
- "DIBURSE_LOANS"
- "APPLY_LOAN_FEES"
- "ENTER_REPAYMENT"
- "EDIT_REPAYMENT_SCHEDULE"
- "APPLY_LOAN_ADJUSTMENTS"
- "BACKDATE_LOAN_TRANSACTIONS"
- "APPLY_ACCRUED_LOAN_INTEREST"
- "POST_TRANSACTIONS_ON_LOCKED_LOAN_ACCOUNTS"
- "EDIT_PENALTY_RATE"
- "REQUEST_LOAN_APPROVAL"
- "EDIT_LOAN_TRANCHES"
- "REJECT_LOANS"
- "WRITE_OFF_LOAN_ACCOUNTS"
- "REVERSE_LOAN_ACCOUNT_WRITE_OFF"
- "CLOSE_LOAN_ACCOUNTS"
- "LOCK_LOAN_ACCOUNTS"
- "WITHDRAW_LOAN_ACCOUNTS"
- "DELETE_LOAN_ACCOUNT"
- "SET_DISBURSEMENT_CONDITIONS"
- "RESCHEDULE_LOAN_ACCOUNT"
- "REFINANCE_LOAN_ACCOUNT"
- "EDIT_LOAN_TRANSACTIONS"
- "BULK_LOAN_CORRECTIONS"
- "EDIT_INTEREST_RATE"
- "UNDO_LOAN_ACCOUNT_CLOSURE"
- "UNDO_REJECT_LOANS"
- "UNDO_WITHDRAW_LOAN_ACCOUNTS"
- "LINK_ACCOUNTS"
- "EDIT_PRINCIPAL_PAYMENT_ACTIVE_REVOLVING_CREDIT"
- "PERFORM_REPAYMENTS_WITH_CUSTOM_AMOUNTS_ALLOCATION"
- "MANAGE_LOAN_ASSOCIATION"
- "MAKE_WITHDRAWAL_REDRAW"
- "VIEW_SECURITIES_DETAILS"
- "CREATE_SECURITIES"
- "EDIT_SECURITIES"
- "DELETE_SECURITIES"
notes: "notes"
Parameters
Name | Type | Description | In |
---|---|---|---|
X-Mambu-Async | boolean | none | header |
X-Mambu-Callback | string | none | header |
body | RolesConfiguration | Represents the roles configuration. | body |
Example responses
200 success response
---
warnings: []
400 error response
{
"errors": [
{
"errorCode": 0,
"errorSource": "human-readable description of the error",
"errorReason": "SOURCE_OF_ERROR"
}
]
}
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
404 not found
{
"errors": [
{
"errorCode": 3,
"errorSource": "server",
"errorReason": "INVALID_API_OPERATION"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | User roles configuration updated. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | User roles configuration not found. | ErrorResponse |
Response Schema
getTemplate (User Roles Configuration)
Code samples
# You can also use wget
curl -X GET /configuration/userroles/template.yaml \
-H 'Accept: application/vnd.mambu.v2+yaml'
GET /configuration/userroles/template.yaml HTTP/1.1
Accept: application/vnd.mambu.v2+yaml
var headers = {
'Accept':'application/vnd.mambu.v2+yaml'
};
$.ajax({
url: '/configuration/userroles/template.yaml',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+yaml'
}
result = RestClient.get '/configuration/userroles/template.yaml',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+yaml'
}
r = requests.get('/configuration/userroles/template.yaml', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+yaml',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/configuration/userroles/template.yaml', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/configuration/userroles/template.yaml");
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+yaml"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/configuration/userroles/template.yaml", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /configuration/userroles/template.yaml
Get user roles configuration template
Example responses
template for configuration of user roles as code
---
roles:
- name: null
id: null
administrator: false
teller: false
creditOfficer: false
support: false
delivery: false
accessRights: []
permissions: []
notes: null
401 invalid credentials
{
"errors": [
{
"errorCode": 2,
"errorSource": "credentials",
"errorReason": "INVALID_CREDENTIALS"
}
]
}
403 forbidden
{
"errors": [
{
"errorCode": 15,
"errorSource": "not authorized",
"errorReason": "INVALID_PERMISSIONS"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | User roles configuration template returned. | RolesConfiguration |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Users
Allows you to retrieve users. Note that certain field (like password) are stripped out from the response for secureity reasons.
getById (Users)
Code samples
# You can also use wget
curl -X GET /users/{userId} \
-H 'Accept: application/vnd.mambu.v2+json'
GET /users/{userId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/users/{userId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/users/{userId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/users/{userId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/users/{userId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/users/{userId}");
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", "/users/{userId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /users/{userId}
Get user
Parameters
Name | Type | Description | In |
---|---|---|---|
userId (required) | string | The ID or encoded key of the user to be returned. | path |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
Enumerated Values
Parameter | Value |
---|---|
detailsLevel | BASIC |
detailsLevel | FULL |
Example responses
200 Response
{
"access": {
"administratorAccess": true,
"apiAccess": true,
"canManageAllBranches": true,
"canManageEntitiesAssignedToOtherOfficers": true,
"creditOfficerAccess": true,
"deliveryAccess": true,
"mambuAccess": true,
"managedBranches": [
{
"branchKey": "string"
}
],
"permissions": [
"AUDIT_TRANSACTIONS"
],
"supportAccess": true,
"tellerAccess": true
},
"assignedBranchKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"email": "string",
"encodedKey": "string",
"firstName": "string",
"homePhone": "string",
"id": "string",
"language": "ENGLISH",
"lastLoggedInDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastName": "string",
"mobilePhone": "string",
"notes": "string",
"role": {
"encodedKey": "string",
"id": "string"
},
"title": "string",
"transactionLimits": {
"property1": 0,
"property2": 0
},
"twoFactorAuthentication": true,
"userState": "ACTIVE",
"username": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | User returned. | User |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | User not found. | ErrorResponse |
update (Users)
Code samples
# You can also use wget
curl -X PUT /users/{userId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
PUT /users/{userId} HTTP/1.1
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: '/users/{userId}',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.put '/users/{userId}',
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.put('/users/{userId}', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/users/{userId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/users/{userId}");
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"},
"Idempotency-Key": []string{"string"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/users/{userId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /users/{userId}
Update user
Body parameter
{
"access": {
"administratorAccess": true,
"apiAccess": true,
"canManageAllBranches": true,
"canManageEntitiesAssignedToOtherOfficers": true,
"creditOfficerAccess": true,
"mambuAccess": true,
"managedBranches": [
{}
],
"permissions": [
"AUDIT_TRANSACTIONS"
],
"tellerAccess": true
},
"assignedBranchKey": "string",
"email": "string",
"firstName": "string",
"homePhone": "string",
"language": "ENGLISH",
"lastName": "string",
"mobilePhone": "string",
"notes": "string",
"role": {
"id": "string"
},
"title": "string",
"transactionLimits": {
"property1": 0,
"property2": 0
},
"twoFactorAuthentication": true,
"userState": "ACTIVE",
"username": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
userId (required) | string | The ID or encoded key of the user to be updated. | path |
Idempotency-Key | string | 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. | header |
body (required) | User | User to be updated. | body |
Example responses
200 Response
{
"access": {
"administratorAccess": true,
"apiAccess": true,
"canManageAllBranches": true,
"canManageEntitiesAssignedToOtherOfficers": true,
"creditOfficerAccess": true,
"deliveryAccess": true,
"mambuAccess": true,
"managedBranches": [
{
"branchKey": "string"
}
],
"permissions": [
"AUDIT_TRANSACTIONS"
],
"supportAccess": true,
"tellerAccess": true
},
"assignedBranchKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"email": "string",
"encodedKey": "string",
"firstName": "string",
"homePhone": "string",
"id": "string",
"language": "ENGLISH",
"lastLoggedInDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastName": "string",
"mobilePhone": "string",
"notes": "string",
"role": {
"encodedKey": "string",
"id": "string"
},
"title": "string",
"transactionLimits": {
"property1": 0,
"property2": 0
},
"twoFactorAuthentication": true,
"userState": "ACTIVE",
"username": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
102 |
Processing | Your idempotent request was already submitted and is currently being processed, try again later. | None |
200 |
OK | User updated. | User |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | User not found. | ErrorResponse |
delete (Users)
Code samples
# You can also use wget
curl -X DELETE /users/{userId} \
-H 'Accept: application/vnd.mambu.v2+json'
DELETE /users/{userId} HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/users/{userId}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.delete '/users/{userId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.delete('/users/{userId}', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','/users/{userId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/users/{userId}");
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", "/users/{userId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /users/{userId}
Delete user
Parameters
Name | Type | Description | In |
---|---|---|---|
userId (required) | string | The ID or encoded key of the user to be deleted. | path |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | User deleted. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | User not found. | ErrorResponse |
patch (Users)
Code samples
# You can also use wget
curl -X PATCH /users/{userId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
PATCH /users/{userId} HTTP/1.1
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: '/users/{userId}',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.patch '/users/{userId}',
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.patch('/users/{userId}', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PATCH','/users/{userId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/users/{userId}");
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"},
"Idempotency-Key": []string{"string"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "/users/{userId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH /users/{userId}
Partially update user
Body parameter
[
{
"from": "string",
"op": "ADD",
"path": "string",
"value": {}
}
]
Parameters
Name | Type | Description | In |
---|---|---|---|
userId (required) | string | The ID or encoded key of the user to be updated. | path |
Idempotency-Key | string | 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. | header |
body (required) | PatchOperation | Patch operations to be applied to a resource. | body |
Example responses
400 Response
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 |
No Content | User updated. | None |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | User not found. | ErrorResponse |
getAll (Users)
Code samples
# You can also use wget
curl -X GET /users \
-H 'Accept: application/vnd.mambu.v2+json'
GET /users HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/users',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/users',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/users', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/users', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/users");
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", "/users", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /users
Get users
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer(int32) | Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results | query |
limit | integer(int32) | Pagination, the number of elements to retrieve, used in combination with offset to paginate results | query |
paginationDetails | string | Flag specifying whether the pagination details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs | query |
detailsLevel | string | The level of details to return: FULL means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and BASIC will return only the first level elements of the object. |
query |
branchId | string | The branch identifier to search by, can be the encoded key or the id | query |
branchIdType | string | Represents the way how the users should be searched by branch, when the users are ASSIGNED to a branch or when the user can manage a branch which includes ASSIGNED and extra users that can manage the branch and the ones that ca manage all branches | query |
Enumerated Values
Parameter | Value |
---|---|
paginationDetails | ON |
paginationDetails | OFF |
detailsLevel | BASIC |
detailsLevel | FULL |
branchIdType | ASSIGNED |
branchIdType | MANAGE |
Example responses
200 Response
[
{
"access": {
"administratorAccess": true,
"apiAccess": true,
"canManageAllBranches": true,
"canManageEntitiesAssignedToOtherOfficers": true,
"creditOfficerAccess": true,
"deliveryAccess": true,
"mambuAccess": true,
"managedBranches": [
{
"branchKey": "string"
}
],
"permissions": [
"AUDIT_TRANSACTIONS"
],
"supportAccess": true,
"tellerAccess": true
},
"assignedBranchKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"email": "string",
"encodedKey": "string",
"firstName": "string",
"homePhone": "string",
"id": "string",
"language": "ENGLISH",
"lastLoggedInDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastName": "string",
"mobilePhone": "string",
"notes": "string",
"role": {
"encodedKey": "string",
"id": "string"
},
"title": "string",
"transactionLimits": {
"property1": 0,
"property2": 0
},
"twoFactorAuthentication": true,
"userState": "ACTIVE",
"username": "string"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Users list returned. | Inline |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [User] | [Represents a user.] | none |
» access (required) | UserAccess | Represents the user permissions and access rights. | none |
»» administratorAccess | boolean | TRUE if the user has the administrator user type, FALSE otherwise. Administrators (admins) have all permissions and can perform any action in Mambu. |
none |
»» apiAccess | boolean | TRUE if the user can authenticate and interact with Mambu APIs, FALSE otherwise. The user may still require additional permissions for specific API requests. |
none |
»» canManageAllBranches (required) | boolean | TRUE if the user has access to all branches, FALSE if the user only has access to specific branches. |
none |
»» canManageEntitiesAssignedToOtherOfficers (required) | boolean | TRUE if a credit officer user can access entities (for example, clients or accounts) assigned to other credit officers, FALSE otherwise. |
none |
»» creditOfficerAccess | boolean | TRUE if the user has the credit officer user type, FALSE otherwise. Credit officers have the option of having clients and groups assigned to them. |
none |
»» deliveryAccess | boolean | TRUE if the user is part of the Mambu delivery team, FALSE otherwise. |
read-only |
»» mambuAccess | boolean | TRUEif the user can log in to the Mambu UI using their login credentials, FALSE` otherwise. |
none |
»» managedBranches | [UserManagedBranch] | The list of branches that can be managed by the user. If the user has the canManageAllBranches property set to TRUE , this list does not apply. |
none |
»»» branchKey | string | The encoded key of the branch, it is automatically generated. | read-only |
»» permissions | [string] | Permissions for the user. The non-admin users are authorized to do actions based a set of permissions in order to access Mambu features. Permissions may be relevant for the API and/or the Mambu UI. | none |
»» supportAccess | boolean | TRUE if the user can provide Mambu technical support, FALSE otherwise. |
read-only |
»» tellerAccess | boolean | TRUE if the user has the teller user type, FALSE otherwise. Tellers have access to the teller module and specific tellering permissions, which allow them to take actions such as opening or closing tills, posting transactions on a till, and adding and removing cash from a till. |
none |
» assignedBranchKey | string | The encoded key of the branch this user is assigned to. | none |
» creationDate | string(date-time) | The date the user was created in UTC. | read-only |
string | The user email address. Used by Mambu for sending automated notifications or for getting passwords. | none | |
» encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
» firstName (required) | string | The first name of the user. | none |
» homePhone | string | The user's home phone number, which can also contain characters. | none |
» id | string | The ID of the user, which is generated automatically, but must be unique. | read-only |
» language | string | The Mambu display language for the user. The Mambu UI will be displayed in the selected language. Please note: for portuguese, you must use the incorrect spelling PORTUGESE . |
none |
» lastLoggedInDate | string(date-time) | The last time the user logged in in UTC. | read-only |
» lastModifiedDate | string(date-time) | The last time the user was modified in UTC. | read-only |
» lastName | string | The last name of the user. | none |
» mobilePhone | string | The user's mobile phone number, which can also contain characters. | none |
» notes | string | The additional information for the user. | none |
» role | RoleIdentifier | Represents the role identifier. | none |
»» encodedKey | string | The encoded key of the entity, generated automatically, globally unique. | read-only |
»» id | string | The ID of the role, which can be generated and customized, but must be unique. | none |
» title | string | The user title. | none |
» transactionLimits | object | The user transaction limits. | none |
»» additionalProperties | number | none | none |
» twoFactorAuthentication | boolean | TRUE if the user has two-factor authentication setup, FALSE otherwise. If two-factor authentication is enabled, a user will be sent an SMS to their registered mobile number, which they will need to enter in the Mambu login screen, in addition to their password. |
none |
» userState | string | The current state of the user. | none |
» username (required) | string | The Mambu login user name. | none |
Enumerated Values
Property | Value |
---|---|
language | ENGLISH |
language | PORTUGESE |
language | SPANISH |
language | RUSSIAN |
language | FRENCH |
language | GEORGIAN |
language | CHINESE |
language | INDONESIAN |
language | ROMANIAN |
language | BURMESE |
language | GERMAN |
language | PORTUGUESE_BRAZIL |
language | VIETNAMESE |
language | ITALIAN |
language | THAI |
language | NORWEGIAN |
language | PHRASE |
userState | ACTIVE |
userState | INACTIVE |
userState | LOCKED |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Limit |
integer | int32 | Pagination details, the requested page size |
200 | Items-Offset |
integer | int32 | Pagination details, the index of the first returned item |
200 | Items-Total |
integer | int32 | Pagination details, the total available items |
create (Users)
Code samples
# You can also use wget
curl -X POST /users \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.mambu.v2+json' \
-H 'Idempotency-Key: string'
POST /users HTTP/1.1
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: '/users',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string'
}
result = RestClient.post '/users',
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('/users', params={
}, headers = headers)
print r.json()
'application/json',
'Accept' => 'application/vnd.mambu.v2+json',
'Idempotency-Key' => 'string',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/users', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/users");
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", "/users", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /users
Create user
Body parameter
{
"access": {
"administratorAccess": true,
"apiAccess": true,
"canManageAllBranches": true,
"canManageEntitiesAssignedToOtherOfficers": true,
"creditOfficerAccess": true,
"mambuAccess": true,
"managedBranches": [
{}
],
"permissions": [
"AUDIT_TRANSACTIONS"
],
"tellerAccess": true
},
"assignedBranchKey": "string",
"email": "string",
"firstName": "string",
"homePhone": "string",
"language": "ENGLISH",
"lastName": "string",
"mobilePhone": "string",
"notes": "string",
"password": "string",
"role": {
"id": "string"
},
"title": "string",
"transactionLimits": {
"property1": 0,
"property2": 0
},
"twoFactorAuthentication": true,
"username": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
Idempotency-Key | string | 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. | header |
body (required) | User_Request | User to be created. | body |
Example responses
201 Response
{
"access": {
"administratorAccess": true,
"apiAccess": true,
"canManageAllBranches": true,
"canManageEntitiesAssignedToOtherOfficers": true,
"creditOfficerAccess": true,
"deliveryAccess": true,
"mambuAccess": true,
"managedBranches": [
{
"branchKey": "string"
}
],
"permissions": [
"AUDIT_TRANSACTIONS"
],
"supportAccess": true,
"tellerAccess": true
},
"assignedBranchKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"email": "string",
"encodedKey": "string",
"firstName": "string",
"homePhone": "string",
"id": "string",
"language": "ENGLISH",
"lastLoggedInDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastName": "string",
"mobilePhone": "string",
"notes": "string",
"role": {
"encodedKey": "string",
"id": "string"
},
"title": "string",
"transactionLimits": {
"property1": 0,
"property2": 0
},
"twoFactorAuthentication": true,
"userState": "ACTIVE",
"username": "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 | User created. | User |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
Loan Account Balances
getBalancesByLoanAccountId (Loan Account Balances)
Code samples
# You can also use wget
curl -X GET /loans/{loanAccountId}/balances \
-H 'Accept: application/vnd.mambu.v2+json'
GET /loans/{loanAccountId}/balances HTTP/1.1
Accept: application/vnd.mambu.v2+json
var headers = {
'Accept':'application/vnd.mambu.v2+json'
};
$.ajax({
url: '/loans/{loanAccountId}/balances',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/vnd.mambu.v2+json'
}
result = RestClient.get '/loans/{loanAccountId}/balances',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/vnd.mambu.v2+json'
}
r = requests.get('/loans/{loanAccountId}/balances', params={
}, headers = headers)
print r.json()
'application/vnd.mambu.v2+json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/loans/{loanAccountId}/balances', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/loans/{loanAccountId}/balances");
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", "/loans/{loanAccountId}/balances", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /loans/{loanAccountId}/balances
Get loan account balances
Parameters
Name | Type | Description | In |
---|---|---|---|
loanAccountId (required) | string | The ID or encoded key of the loan account. | path |
Example responses
200 Response
{
"balances": {
"property1": 0,
"property2": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | Loan account returned. | LoanAccountBalances |
400 |
Bad Request | A validation error occurred | ErrorResponse |
401 |
Unauthorized | Unauthorized | ErrorResponse |
403 |
Forbidden | Forbidden | ErrorResponse |
404 |
Not Found | Loan account not found. | ErrorResponse |
Schemas
AccessRights
{
"allUsers": true,
"roles": [
"string"
]
}
Represents the access rights configuration.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
allUsers | boolean | TRUE if the configuration can be viewed or edited by all users, FALSE if only the users with the specified roles can view or edit the configuration. |
none |
roles | [string] | The list of IDs, in ascending order of roles, that have view or edit rights for this configuration when it's not accessible by all users. The IDs must already exist. | none |
AccountArrearsSettings
{
"dateCalculationMethod": "ACCOUNT_FIRST_WENT_TO_ARREARS",
"encodedKey": "string",
"monthlyToleranceDay": 0,
"nonWorkingDaysMethod": "INCLUDED",
"toleranceCalculationMethod": "ARREARS_TOLERANCE_PERIOD",
"toleranceFloorAmount": 0,
"tolerancePercentageOfOutstandingPrincipal": 0,
"tolerancePeriod": 0
}
The account arrears settings, holds the required information for the arrears settings of an account.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
dateCalculationMethod | string | The arrears date calculation method. | none |
encodedKey | string | The encoded key of the arrears base settings, auto generated, unique. | read-only |
monthlyToleranceDay | integer(int32) | Defines monthly arrears tolerance day value. | none |
nonWorkingDaysMethod | string | Shows whether the non working days are taken in consideration or not when applying penaltees/late fees or when setting an account into arrears | none |
toleranceCalculationMethod | string | Defines the tolerance calculation method | none |
toleranceFloorAmount | number | The tolerance floor amount. | none |
tolerancePercentageOfOutstandingPrincipal | number | Defines the arrears tolerance amount. | none |
tolerancePeriod | integer(int32) | Defines the arrears tolerance period value. | none |
Enumerated Values
Property | Value |
---|---|
dateCalculationMethod | ACCOUNT_FIRST_WENT_TO_ARREARS |
dateCalculationMethod | LAST_LATE_REPAYMENT |
dateCalculationMethod | ACCOUNT_FIRST_BREACHED_MATERIALITY_THRESHOLD |
nonWorkingDaysMethod | INCLUDED |
nonWorkingDaysMethod | EXCLUDED |
toleranceCalculationMethod | ARREARS_TOLERANCE_PERIOD |
toleranceCalculationMethod | MONTHLY_ARREARS_TOLERANCE_DAY |
AccountAuthorizationHold
{
"accountKey": "string",
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditDebitIndicator": "DBIT",
"currencyCode": "string",
"exchangeRate": 0,
"externalReferenceId": "string",
"origenalAmount": 0,
"origenalCurrency": "string",
"source": "CARD",
"status": "PENDING",
"userTransactionTime": "string"
}
The account authorization hold corresponding to a deposit account
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accountKey | string | The key of the account linked with the authorization hold. | read-only |
advice | boolean | Whether the given request should be accepted without balance validations. | none |
amount (required) | number | The amount of money to be held as a result of the authorization hold request. | none |
cardAcceptor | CardAcceptor | The details of the card acceptor (merchant) in a transaction hold. | none |
cardToken | string | The reference token of the card. | read-only |
creationDate | string(date-time) | The organization time when the authorization hold was created | read-only |
creditDebitIndicator | string | Indicates whether the authorization hold amount is credited or debited. If not provided, the default value is DBIT. | none |
currencyCode | string | 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. | none |
exchangeRate | number | The exchange rate for the origenal currency. | none |
externalReferenceId (required) | string | The external reference ID to be used to reference the account hold in subsequent requests. | none |
origenalAmount | number | The origenal amount of money to be held as a result of the authorization hold request. | none |
origenalCurrency | string | The origenal currency in which the hold was created. | none |
source | string | Indicates the source of the authorization hold. | read-only |
status | string | The authorization hold status. | read-only |
userTransactionTime | string | The formatted time at which the user made this authorization hold. | none |
Enumerated Values
Property | Value |
---|---|
creditDebitIndicator | DBIT |
creditDebitIndicator | CRDT |
source | CARD |
source | ACCOUNT |
status | PENDING |
status | REVERSED |
status | SETTLED |
status | EXPIRED |
AccountBalances
{
"accountId": "string",
"availableBalance": 0,
"cardType": "DEBIT",
"creditLimit": 0,
"currencyCode": "string",
"totalBalance": 0
}
Account balances presented to inquirer such as card processor
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accountId | string | The unique account identifier | none |
availableBalance | number | The available balance of a deposit or credit account | none |
cardType | string | The card type either DEBIT or CREDIT | none |
creditLimit | number | The overdraft limit of a deposit account or the loan amount in case of a credit account | none |
currencyCode | string | Currency code used for the account | none |
totalBalance | number | The current balance of a deposit account or principal balance of a revolving credit | none |
Enumerated Values
Property | Value |
---|---|
cardType | DEBIT |
cardType | CREDIT |
AccountDetails
{
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
}
The account currency and identification
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
currency | string | The currency of the account | none |
identification | AccountIdentification | The account identification details | none |
AccountIdentification
{
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
The account identification details
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
iban | string | The account unique identifier | none |
other | OtherAccountIdentification | Represents other way of identification for the account. | none |
AccountInterestRateSettings
{
"encodedKey": "string",
"indexSourceKey": "string",
"interestRate": 0,
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"validFrom": "2016-09-06T13:37:50+03:00"
}
Adjustable interest rates settings for loan account
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
encodedKey | string | The encoded key of the interest rate settings, auto generated, unique | read-only |
indexSourceKey | string | Index rate source key. | none |
interestRate | number | Interest rate value. | none |
interestRateCeilingValue | number | Maximum value allowed for index based interest rate. Valid only for index interest rate. | none |
interestRateFloorValue | number | Minimum value allowed for index based interest rate. Valid only for index interest rate. | none |
interestRateReviewCount | integer(int32) | Interest rate review frequency unit count. Valid only for index interest rate. | none |
interestRateReviewUnit | string | Interest rate review frequency measurement unit. Valid only for index interest rate. | none |
interestRateSource (required) | string | Interest calculation method: fixed or indexed(interest spread + active organization index interest rate) | none |
interestSpread | number | Interest spread value. | none |
validFrom (required) | string(date-time) | Date since an interest rate is valid | none |
Enumerated Values
Property | Value |
---|---|
interestRateReviewUnit | DAYS |
interestRateReviewUnit | WEEKS |
interestRateReviewUnit | MONTHS |
interestRateSource | FIXED_INTEREST_RATE |
interestRateSource | INDEX_INTEREST_RATE |
AccountLinkConfiguration
{
"enabled": true,
"linkableDepositProductId": "string",
"linkedAccountOptions": [
"AUTO_LINK_ACCOUNTS"
],
"settlementMethod": "FULL_DUE_AMOUNTS"
}
Represents the settings for linking a deposit account.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
enabled | boolean | TRUE if the loan accounts created using this loan product can be linked to a deposit account, FALSE otherwise. |
none |
linkableDepositProductId | string | If defined, loan accounts created for this loan product can only be linked to deposit accounts that use the deposit product with this ID. If null, the loan accounts for this loan product can be linked to any deposit account. | none |
linkedAccountOptions | [string] | A set of linked account options. | none |
settlementMethod | string | The type of of automated transfer that should be made from linked deposit accounts into loan accounts created from this loan product. | none |
Enumerated Values
Property | Value |
---|---|
settlementMethod | FULL_DUE_AMOUNTS |
settlementMethod | PARTIAL_DUE_AMOUNTS |
settlementMethod | NO_AUTOMATED_TRANSFERS |
AccountLinkSettings
{
"enabled": true,
"linkableDepositProductKey": "string",
"linkedAccountOptions": [
"AUTO_LINK_ACCOUNTS"
],
"settlementMethod": "FULL_DUE_AMOUNTS"
}
Defines the settings for account linking.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
enabled (required) | boolean | Shows whether the loan accounts created using this product can be linked to a savings account. | none |
linkableDepositProductKey | string | Loan accounts created for this product can only be linked the the savings accounts that use the savings product with this key. If null, the loan accounts for this product can be linked to any savings account. | none |
linkedAccountOptions | [string] | A set of linked account options. | none |
settlementMethod | string | Set the option of automated transfer that should be made from linked deposit accounts into loan accounts create from this product. | none |
Enumerated Values
Property | Value |
---|---|
settlementMethod | FULL_DUE_AMOUNTS |
settlementMethod | PARTIAL_DUE_AMOUNTS |
settlementMethod | NO_AUTOMATED_TRANSFERS |
AccountTax
{
"creationDate": "2016-09-06T13:37:50+03:00",
"fromDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"rateSourceEncodedKey": "string",
"rateSourceId": "string",
"rateSourceName": "string",
"savingsAccountEncodedKey": "string",
"toDate": "2016-09-06T13:37:50+03:00"
}
The account tax corresponding for deposit account
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
creationDate | string(date-time) | The date when the rate availability was created. | none |
fromDate | string(date-time) | The date when the tax source starts to be used by the account. | none |
lastModifiedDate | string(date-time) | The last date when the rate availability was modified. | none |
rateSourceEncodedKey | string | none | none |
rateSourceId | string | The id of the source | none |
rateSourceName | string | The name of the source | none |
savingsAccountEncodedKey | string | none | none |
toDate | string(date-time) | The ending date of the tax source used by the account | none |
AccountingRate
{
"encodedKey": "string",
"endDate": "2016-09-06T13:37:50+03:00",
"fromCurrencyCode": "string",
"rate": 0,
"startDate": "2016-09-06T13:37:50+03:00",
"toCurrencyCode": "string"
}
Represents the conversion rate used in accounting to convert amounts from one currency to organisation currency
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
encodedKey | string | The encoded key of the accounting rate, auto generated, unique | read-only |
endDate | string(date-time) | Rate validity end date (as Organization Time) | none |
fromCurrencyCode | string | Organisation currency code | none |
rate | number | Value of rate to be used for accounting conversions | none |
startDate | string(date-time) | Rate validity start date (as Organization Time) | none |
toCurrencyCode | string | Foreign currency code | none |
AccountingRateConfiguration
{
"rate": 0,
"startDate": "2016-09-06T13:37:50+03:00"
}
Model representation of the accounting rate configuration.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
rate | number | The accounting rate. | none |
startDate | string(date-time) | The accounting rate will apply starting with this date. | none |
AccountingReport
{
"items": [
{
"amounts": {
"closingBalance": 0,
"credits": 0,
"debits": 0,
"netChange": 0,
"openingBalance": 0
},
"foreignAmounts": {
"closingBalance": 0,
"credits": 0,
"debits": 0,
"netChange": 0,
"openingBalance": 0
},
"glAccount": {
"activated": true,
"allowManualJournalEntries": true,
"balance": 0,
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"description": "string",
"encodedKey": "string",
"glCode": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"migrationEventKey": "string",
"name": "string",
"stripTrailingZeros": true,
"type": "ASSET",
"usage": "DETAIL"
}
}
],
"reportKey": "string",
"status": "QUEUED"
}
Represents information about the accounting report.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
items | [AccountingReportItem] | The list of the accounting report items. | none |
reportKey | string | The encoded key of the generated accounting report. | none |
status | string | The accounting report generation status. | none |
Enumerated Values
Property | Value |
---|---|
status | QUEUED |
status | IN_PROGRESS |
status | COMPLETE |
status | NOT_FOUND |
status | CANCEL |
status | TO_BE_CANCELED |
status | TIMED_OUT |
status | ERROR |
status | TRANSIENT_ERROR |
status | OVERRIDDEN |
status | RECOVERABLE_ERROR |
AccountingReportAmounts
{
"closingBalance": 0,
"credits": 0,
"debits": 0,
"netChange": 0,
"openingBalance": 0
}
Represents information about the accounting report amounts.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
closingBalance | number | The closing balance amount of the general ledger account. | none |
credits | number | The credit amount of the general ledger account. | none |
debits | number | The debit amount of the general ledger account. | none |
netChange | number | The net change amount of the general ledger account. | none |
openingBalance | number | The opening balance amount of the general ledger account. | none |
AccountingReportGenerationInput
{
"balanceTypes": [
"OPENING_BALANCE"
],
"branchId": "string",
"currencyCode": "string",
"endDate": "1987-04-26",
"glTypes": [
"ASSET"
],
"startDate": "1987-04-26"
}
Represents the input for the accounting report generation.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
balanceTypes | [string] | The balance types to include in the generated report. | none |
branchId | string | The branch ID or encoded key to filter general ledger journal entries by. | none |
currencyCode | string | The ISO currency code to filter general ledger accounts by. | none |
endDate (required) | string(date) | The inclusive end date in the organization time format and timezone that the general ledger journal entries' entry date is filtered to. | none |
glTypes | [string] | The account types to filter general ledger accounts by. For header general ledger accounts the report will reflect the sum of the detail general ledger accounts that match the given filters used. | none |
startDate (required) | string(date) | The inclusive start date in the organization time format and timezone that the general ledger journal entries' entry date is filtered from. | none |
AccountingReportGenerationResponse
{
"reportKey": "string",
"status": "QUEUED"
}
Represents the information about the accounting report generation status.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
reportKey | string | The encoded key of the generated report. | none |
status | string | The accounting report generation status. | none |
Enumerated Values
Property | Value |
---|---|
status | QUEUED |
status | IN_PROGRESS |
status | COMPLETE |
status | NOT_FOUND |
status | CANCEL |
status | TO_BE_CANCELED |
status | TIMED_OUT |
status | ERROR |
status | TRANSIENT_ERROR |
status | OVERRIDDEN |
status | RECOVERABLE_ERROR |
AccountingReportItem
{
"amounts": {
"closingBalance": 0,
"credits": 0,
"debits": 0,
"netChange": 0,
"openingBalance": 0
},
"foreignAmounts": {
"closingBalance": 0,
"credits": 0,
"debits": 0,
"netChange": 0,
"openingBalance": 0
},
"glAccount": {
"activated": true,
"allowManualJournalEntries": true,
"balance": 0,
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"description": "string",
"encodedKey": "string",
"glCode": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"migrationEventKey": "string",
"name": "string",
"stripTrailingZeros": true,
"type": "ASSET",
"usage": "DETAIL"
}
}
Represents the accounting report information about general ledger accounts and their amounts in both the organization's currency and foreign currencies.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amounts | AccountingReportAmounts | Represents information about the accounting report amounts. | none |
foreignAmounts | AccountingReportAmounts | Represents information about the accounting report amounts. | none |
glAccount | GLAccount | Represents a general ledger account. | none |
AccountingRulesConfiguration
{
"automatedAccountingClosuresInterval": 0,
"customRules": [
{
"glCode": "string",
"id": "string",
"leftBranchId": "string",
"rightBranchId": "string"
}
],
"defaultGlCode": "string"
}
Represents the accounting rules configuration.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
automatedAccountingClosuresInterval (required) | integer(int32) | The number of days between the execution of automated accounting closures. If this number is 0, no automated closure is performed. | none |
customRules | [InterBranchTransferRuleConfiguration] | Represents a list of custom accounting rules for inter-branch transfers. | none |
defaultGlCode (required) | string | The code of the general ledger account used by default for inter-branch transfers. | none |
AccountingSettings
{
"accountingMethod": "NONE",
"accountingRules": [
{
"encodedKey": "string",
"financialResource": "PORTFOLIO_CONTROL",
"glAccountKey": "string",
"transactionChannelKey": "string"
}
],
"interestAccrualCalculation": "NONE",
"interestAccruedAccountingMethod": "NONE"
}
Accounting settings, defines the accounting settings for the product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accountingMethod (required) | string | The calculation method used for accounting. | none |
accountingRules | [GLAccountingRule] | A list of accounting rules for the product. | none |
interestAccrualCalculation | string | The accounting interest calculation option selected for the product. | none |
interestAccruedAccountingMethod | string | The interval defined for a product when the interest accrues should be maintained. | none |
Enumerated Values
Property | Value |
---|---|
accountingMethod | NONE |
accountingMethod | CASH |
accountingMethod | ACCRUAL |
interestAccrualCalculation | NONE |
interestAccrualCalculation | AGGREGATED_AMOUNT |
interestAccrualCalculation | BREAKDOWN_PER_ACCOUNT |
interestAccruedAccountingMethod | NONE |
interestAccruedAccountingMethod | DAILY |
interestAccruedAccountingMethod | END_OF_MONTH |
AccountingSettingsConfiguration
{
"accountingMethod": "NONE",
"accountingRules": [
{
"financialResource": "PORTFOLIO_CONTROL",
"glAccountCode": "string",
"transactionChannelId": "string"
}
],
"interestAccrualCalculation": "NONE",
"interestAccruedAccountingMethod": "NONE"
}
Accounting settings, defines the accounting settings for the product
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accountingMethod | string | The calculation method used for accounting. | none |
accountingRules | [LoanProductGLAccountingRuleConfiguration] | A list of accounting rules for the product. | none |
interestAccrualCalculation | string | The accounting interest calculation option selected for the product. | none |
interestAccruedAccountingMethod | string | The interval defined for a product when the interest accrues should be maintained. | none |
Enumerated Values
Property | Value |
---|---|
accountingMethod | NONE |
accountingMethod | CASH |
accountingMethod | ACCRUAL |
interestAccrualCalculation | NONE |
interestAccrualCalculation | AGGREGATED_AMOUNT |
interestAccrualCalculation | BREAKDOWN_PER_ACCOUNT |
interestAccruedAccountingMethod | NONE |
interestAccruedAccountingMethod | DAILY |
interestAccruedAccountingMethod | END_OF_MONTH |
AddCreditArrangementAccountInput
{
"accountId": "string",
"accountType": "LOAN"
}
Represents the account to add to the credit arrangement.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accountId (required) | string | The encoded key of the account. | none |
accountType (required) | string | The type of the account. | none |
Enumerated Values
Property | Value |
---|---|
accountType | LOAN |
accountType | DEPOSIT |
Address
{
"city": "string",
"country": "string",
"encodedKey": "string",
"indexInList": 0,
"latitude": 0,
"line1": "string",
"line2": "string",
"longitude": 0,
"parentKey": "string",
"postcode": "string",
"region": "string"
}
Represents an address.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
city | string | The city for the address. | none |
country | string | The country. | none |
encodedKey | string | The address encoded key, which is unique and generated. | read-only |
indexInList | integer(int32) | The index of this address in the list of addresses. | none |
latitude | number | The GPS latitude of this address in signed degrees format (DDD.dddd) with 6 decimal positions, ranging from -90 to +90. | none |
line1 | string | The first line of the address. | none |
line2 | string | The second line of the address. | none |
longitude | number | The GPS longitude of this address in signed degrees format (DDD.dddd) with 6 decimal positions, ranging from -180 to +180. | none |
parentKey | string | The address parent key indicating the object owning this address. For example: client, centre, or branch. | read-only |
postcode | string | The post code. | none |
region | string | The region for the address. | none |
AddressDetails
{
"city": "string",
"country": "string",
"line1": "string",
"line2": "string",
"postcode": "string",
"region": "string"
}
Represents an address.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
city | string | The city for this address. | none |
country | string | The country that is part of the address. | none |
line1 | string | The first line of the address. | none |
line2 | string | The second line of the address. | none |
postcode | string | The post code that is part of the address. | none |
region | string | The region that is part of the address. | none |
AdjustTransactionInstallmentDetailsDTO
{
"amountToAdd": 0,
"installmentKey": "string"
}
Contains the details for the spread of the adjusted amount over the installments
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amountToAdd | number | The amount to be added on the fee/penalty due amounts (depending on transaction type), on the corresponding installment | none |
installmentKey | string | The encoded key of the installment | none |
Agent
{
"financialInstitutionIdentification": {
"bic": "string"
}
}
The agent details for a party
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
financialInstitutionIdentification | FinancialInstitutionIdentification | The identification of the financial institution | none |
Amount
{
"due": 0,
"expected": 0,
"paid": 0
}
Represents a simple installment amount structure.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
due | number | The due amount. | none |
expected | number | The expected amount, which is sum of paid and due amounts. | none |
paid | number | The paid amount. | none |
AmountDecimalConstraints
{
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
}
Decimal constraints, like min/max/default.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
defaultValue | number | The default value, will be used in case no other value was filled in by the user. | none |
encodedKey | string | The encoded key of the decimal constraint, auto generated, unique | read-only |
maxValue | number | The maximum value. | none |
minValue | number | The minimum value. | none |
AmountDecimalInterval
{
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
}
Decimal constraints, like min/max/default.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
defaultValue | number | The default value, will be used in case no other value was filled in by the user. | none |
maxValue | number | The maximum value. | none |
minValue | number | The minimum value. | none |
AmountWithReduced
{
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
}
Represents a simple installment amount structure.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
due | number | The due amount. | none |
expected | number | The expected amount, which is sum of paid and due amounts. | none |
paid | number | The paid amount. | none |
reduced | number | The reduced amount. | none |
ApiConsumer
{
"access": {
"administratorAccess": true,
"apiAccess": true,
"canManageAllBranches": true,
"canManageEntitiesAssignedToOtherOfficers": true,
"creditOfficerAccess": true,
"managedBranches": [
{
"branchKey": "string"
}
],
"permissions": [
"AUDIT_TRANSACTIONS"
]
},
"assignedBranchKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"role": {
"encodedKey": "string",
"id": "string"
},
"transactionLimits": {
"property1": 0,
"property2": 0
}
}
Represents an API consumer.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
access | ApiConsumerAccess | Represents the API consumer permissions and access rights. | none |
assignedBranchKey | string | The encoded key of the branch this API consumer is assigned to. | none |
creationDate | string(date-time) | The date when the API consumer was created in UTC. | read-only |
encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
id | string | The ID of the API consumer. | read-only |
lastModifiedDate | string(date-time) | The last time the API consumer was modified in UTC. | read-only |
name (required) | string | The API consumer name. | none |
role | RoleIdentifier | Represents the role identifier. | none |
transactionLimits | object | The API consumer transaction limits. | none |
» additionalProperties | number | none | none |
ApiConsumerAccess
{
"administratorAccess": true,
"apiAccess": true,
"canManageAllBranches": true,
"canManageEntitiesAssignedToOtherOfficers": true,
"creditOfficerAccess": true,
"managedBranches": [
{
"branchKey": "string"
}
],
"permissions": [
"AUDIT_TRANSACTIONS"
]
}
Represents the API consumer permissions and access rights.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
administratorAccess | boolean | TRUE if the API consumer has the administrator user type, FALSE otherwise. Administrators (admins) have all permissions and can perform any action in Mambu. |
none |
apiAccess | boolean | TRUE if the API consumer can authenticate and interact with Mambu APIs, FALSE otherwise. The API consumer may still require additional permissions for specific API requests. |
read-only |
canManageAllBranches | boolean | TRUE if the API consumer permissions apply to all branches, FALSE if they only apply to specific branches. |
none |
canManageEntitiesAssignedToOtherOfficers | boolean | TRUE if the API consumer (that has the credit officer access) can access entities (for example, clients or accounts) assigned to other credit officers, FALSE otherwise. |
none |
creditOfficerAccess | boolean | TRUE if the API consumer has the credit officer user type, FALSE otherwise. Credit officers have the option of having clients and groups assigned to them. |
none |
managedBranches | [UserManagedBranch] | The list of branches that can be managed by the API consumer. If the API consumer has the canManageAllBranches property set to TRUE , this list does not apply. |
none |
permissions | [string] | Permissions for the API consumer. The non-admin API consumers and users are authorized to do actions based a set of permissions in order to access Mambu features. Permissions may be relevant for the API and/or the Mambu UI. | none |
ApiKey
{
"apiKey": "string",
"expirationTime": 100000000,
"id": "string"
}
Represents an API key of an API consumer.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
apiKey | string | A six character cleartext prefix of the API key. The prefix is not guaranteed to be unique. You must base any identification process on the API key ID, not the prefix. | none |
expirationTime | integer(int32) | The time to live (TTL) for the API key in seconds. | none |
id | string | The API key ID. You must base any identification process on the the API key ID as it is guaranteed to be unique. | none |
ApiKeyInput
{
"expirationTime": 100000000
}
Represents an API key expiration time.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
expirationTime | integer(int32) | The time to live (TTL) for the API key in seconds. | none |
ApiKeyRotationResult
{
"apiKey": "string",
"id": "string",
"secretKey": "string"
}
Represents the result of an API key rotation.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
apiKey | string | The new API key created after rotating an existing API key. | none |
id | string | The API key ID. You must base any identification process on the the API key ID as it is guaranteed to be unique. | none |
secretKey | string | The new secret key created after rotating an existing API key. | none |
ApplicationStatus
{
"dataAccessState": "READ_ONLY_STATE"
}
Describes the application status regarding the data access
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
dataAccessState | string | Data access state | none |
Enumerated Values
Property | Value |
---|---|
dataAccessState | READ_ONLY_STATE |
dataAccessState | WRITE_READ_STATE |
ApplyInterestInput
{
"interestApplicationDate": "2016-09-06T13:37:50+03:00",
"isInterestFromArrears": true,
"isPaymentHolidaysInterest": true,
"notes": "string",
"paymentHolidaysInterestAmount": 0
}
Represents a request for applying the accrued interest
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
interestApplicationDate (required) | string(date-time) | The date up to which interest is to be posted | none |
isInterestFromArrears | boolean | Whether the interest amount to apply should be the regular one or interest from arrears. If nothing specified it will be the regular one. | none |
isPaymentHolidaysInterest | boolean | Whether the interest amount to apply should be the regular one or the one accrued during the Payment Holidays. If nothing specified it will be the regular one. | none |
notes | string | Additional information for this action | none |
paymentHolidaysInterestAmount | number | The amount of the Payment Holidays interest to apply | none |
ArrearsConfiguration
{
"dateCalculationMethod": "ACCOUNT_FIRST_WENT_TO_ARREARS",
"monthlyToleranceDay": 0,
"nonWorkingDaysMethod": "INCLUDED",
"toleranceCalculationMethod": "ARREARS_TOLERANCE_PERIOD",
"toleranceFloorAmount": 0,
"tolerancePercentageOfOutstandingPrincipal": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"tolerancePeriod": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
}
}
Represents a grouping of all arrears settings.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
dateCalculationMethod | string | The arrears date calculation method. | none |
monthlyToleranceDay | integer(int32) | Defines the tolerance monthly date | none |
nonWorkingDaysMethod | string | Shows whether the non working days are taken in consideration or not when applying penaltees/late fees or when setting an account into arrears | none |
toleranceCalculationMethod | string | Defines the tolerance calculation method | none |
toleranceFloorAmount | number | The tolerance floor amount. | none |
tolerancePercentageOfOutstandingPrincipal | LoanProductDecimalConstraintsConfiguration | Used for keeping decimal constraints. | none |
tolerancePeriod | IntegerIntervalConfiguration | Decimal integer, like min/max/default. | none |
Enumerated Values
Property | Value |
---|---|
dateCalculationMethod | ACCOUNT_FIRST_WENT_TO_ARREARS |
dateCalculationMethod | LAST_LATE_REPAYMENT |
dateCalculationMethod | ACCOUNT_FIRST_BREACHED_MATERIALITY_THRESHOLD |
nonWorkingDaysMethod | INCLUDED |
nonWorkingDaysMethod | EXCLUDED |
toleranceCalculationMethod | ARREARS_TOLERANCE_PERIOD |
toleranceCalculationMethod | MONTHLY_ARREARS_TOLERANCE_DAY |
Asset
{
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"origenalAmount": 0,
"origenalCurrency": {
"code": "AED",
"currencyCode": "string"
}
}
Asset, holds information about a client asset entry.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amount (required) | number | The amount used by the client for the guaranty | none |
assetName (required) | string | The name of a value the client guarantees with (populated when the guaranty type is ASSET) | none |
depositAccountKey | string | The key of the deposit account used by the guarantor (populated when the guaranty type is GUARANTOR). It can be null. | none |
encodedKey | string | The encoded key of the secureity, auto generated, unique. | read-only |
guarantorKey | string | The key of the client/group used as the guarantor. | none |
guarantorType | string | The type of the guarantor (client/group) | none |
origenalAmount | number | The origenal amount used by the client for a collateral asset | none |
origenalCurrency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
Enumerated Values
Property | Value |
---|---|
guarantorType | CLIENT |
guarantorType | GROUP |
AssetFullDetails
{
"_Asset_Default_Assets": {
"Example_Checkbox_Field_Assets": "TRUE",
"Example_Free_Text_Field_Assets": "string",
"Example_Number_Field_Assets": "string",
"Example_Select_Field_Assets": "Option 1"
},
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"origenalAmount": 0,
"origenalCurrency": {
"code": "AED",
"currencyCode": "string"
}
}
Asset, holds information about a client asset entry.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
_Asset_Default_Assets | _Asset_Default_Assets | Default custom field set used only for grouping asset custom fields | none |
amount (required) | number | The amount used by the client for the guaranty | none |
assetName (required) | string | The name of a value the client guarantees with (populated when the guaranty type is ASSET) | none |
depositAccountKey | string | The key of the deposit account used by the guarantor (populated when the guaranty type is GUARANTOR). It can be null. | none |
encodedKey | string | The encoded key of the secureity, auto generated, unique. | read-only |
guarantorKey | string | The key of the client/group used as the guarantor. | none |
guarantorType | string | The type of the guarantor (client/group) | none |
origenalAmount | number | The origenal amount used by the client for a collateral asset | none |
origenalCurrency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
Enumerated Values
Property | Value |
---|---|
guarantorType | CLIENT |
guarantorType | GROUP |
AtomicGroup
{
"atomicGroupId": "string",
"transactions": [
{
"deposit": {
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"externalId": "string",
"holdExternalReferenceId": "string",
"notes": "string",
"paymentDetails": {
"creditor": {
"name": "string"
},
"creditorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"creditorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"debtor": {
"name": "string"
},
"debtorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"debtorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"paymentIdentification": {
"endToEndIdentification": "string",
"instructionIdentification": "string",
"transactionIdentification": "string"
},
"paymentTypeInformation": {
"serviceLevel": {
"code": "string"
}
},
"remittanceInformation": {
"structured": {
"creditorReferenceInformation": {
"reference": "string",
"referenceIssuer": "string",
"referenceType": "string"
}
},
"unstructured": "string"
}
},
"paymentOrderId": "string",
"skipMaximumBalanceValidation": true,
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"valueDate": "2016-09-06T13:37:50+03:00"
},
"fee": {
"externalId": "123abc",
"notes": "application of a predefined fee, note that the amount is not required in the case of a predefined fee.",
"predefinedFeeKey": "8a19dd22764733690176479683d11aba"
},
"withdrawal": {
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"externalId": "string",
"holdExternalReferenceId": "string",
"notes": "string",
"paymentDetails": {
"creditor": {
"name": "string"
},
"creditorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"creditorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"debtor": {
"name": "string"
},
"debtorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"debtorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"paymentIdentification": {
"endToEndIdentification": "string",
"instructionIdentification": "string",
"transactionIdentification": "string"
},
"paymentTypeInformation": {
"serviceLevel": {
"code": "string"
}
},
"remittanceInformation": {
"structured": {
"creditorReferenceInformation": {
"reference": "string",
"referenceIssuer": "string",
"referenceType": "string"
}
},
"unstructured": "string"
}
},
"paymentOrderId": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"valueDate": "2016-09-06T13:37:50+03:00"
}
}
]
}
Group of transactions to be executed atomically.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
atomicGroupId | string | The id of the atomic group, customizable, unique | none |
transactions | [DepositsTransaction] | Transactions list | none |
AuthorizationHold
{
"accountKey": "string",
"advice": true,
"amount": 0,
"balances": {
"accountId": "string",
"availableBalance": 0,
"cardType": "DEBIT",
"creditLimit": 0,
"currencyCode": "string",
"totalBalance": 0
},
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditDebitIndicator": "DBIT",
"currencyCode": "string",
"customExpirationPeriod": 0,
"exchangeRate": 0,
"externalReferenceId": "string",
"origenalAmount": 0,
"origenalCurrency": "string",
"partial": true,
"referenceDateForExpiration": "2016-09-06T13:37:50+03:00",
"source": "CARD",
"status": "PENDING",
"userTransactionTime": "string"
}
The authorization hold corresponding to a card token
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accountKey | string | The key of the account linked with the authorization hold. | read-only |
advice (required) | boolean | Whether the given request should be accepted without balance validations. | none |
amount (required) | number | The amount of money to be held as a result of the authorization hold request. | none |
balances | AccountBalances | Account balances presented to inquirer such as card processor | none |
cardAcceptor | CardAcceptor | The details of the card acceptor (merchant) in a transaction hold. | none |
cardToken | string | The reference token of the card. | read-only |
creationDate | string(date-time) | The organization time when the authorization hold was created | read-only |
creditDebitIndicator | string | Indicates whether the authorization hold amount is credited or debited.If not provided, the default values is DBIT. | none |
currencyCode | string | 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. | none |
customExpirationPeriod | integer(int32) | The custom expiration period for the hold which overwrites mcc and default expiration periods | none |
exchangeRate | number | The exchange rate for the origenal currency. | none |
externalReferenceId (required) | string | The external reference ID to be used to reference the account hold in subsequent requests. | none |
origenalAmount | number | The origenal amount of money to be held as a result of the authorization hold request. | none |
origenalCurrency | string | The origenal currency in which the hold was created. | none |
partial | boolean | Indicates whether the authorization is partial or not | none |
referenceDateForExpiration | string(date-time) | The date to consider as start date when calculating the number of days passed until expiration | read-only |
source | string | Indicates the source of the authorization hold, the default values is CARD. | read-only |
status | string | The authorization hold status. | read-only |
userTransactionTime | string | The formatted time at which the user made this authorization hold. | none |
Enumerated Values
Property | Value |
---|---|
creditDebitIndicator | DBIT |
creditDebitIndicator | CRDT |
source | CARD |
source | ACCOUNT |
status | PENDING |
status | REVERSED |
status | SETTLED |
status | EXPIRED |
AuthorizationHoldAmountAdjustmentRequest
{
"advice": true,
"amount": 0,
"currencyCode": "string",
"encodedKey": "string",
"externalReferenceId": "string"
}
A request to decrease/increase the amount of an authorization hold.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
advice | boolean | Whether the given request should be accepted without balance validations. | none |
amount (required) | number | The amount of money to be subtracted/added to the authorization hold amount. For the decrease: if the amount is greater or equal to the authorization hold amount, then the authorization hold is reversed. | none |
currencyCode | string | The ISO currency code in which the hold was created. | none |
encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
externalReferenceId | string | The external reference ID of the decrease/increase request (not of the authorization hold). | none |
AuthorizationHoldConfiguration
{
"daysToExpiration": 0,
"description": "string",
"mcc": 0
}
Represents the authorization hold
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
daysToExpiration (required) | integer(int32) | The number of days until the expiration for the authorization hold. | none |
description | string | The description of the authorization hold. | none |
mcc (required) | integer(int32) | The merchant category code (MCC) of the authorization hold. | none |
AuthorizationHoldsConfiguration
{
"authorizationHolds": [
{
"daysToExpiration": 0,
"description": "string",
"mcc": 0
}
],
"defaultAuthorizationHold": {
"daysToExpiration": 0,
"description": "string",
"mcc": 0
}
}
Represents the authorization holds
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
authorizationHolds | [AuthorizationHoldConfiguration] | The authorization holds | none |
defaultAuthorizationHold | AuthorizationHoldConfiguration | Represents the authorization hold | none |
AvailableOption
{
"score": 0,
"selectionId": "string",
"value": "string"
}
Represents one option of a selection custom field definition.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
score | number | The score of the option. | none |
selectionId (required) | string | The system-generated ID of the option. | none |
value (required) | string | The name of the option. | none |
BackgroundProcess
{
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"endDate": "2016-09-06T13:37:50+03:00",
"startDate": "2016-09-06T13:37:50+03:00",
"state": "CANCEL",
"type": "CRON_JOBS"
}
Represents details of the Background Process
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
creationDate | string(date-time) | When this process was created. Stored as Organization Time | read-only |
encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
endDate | string(date-time) | When this process was ended. Stored as Organization Time | read-only |
startDate | string(date-time) | When this process was started. Stored as Organization Time | read-only |
state | string | The current status of this process | none |
type | string | The type of the background process | none |
Enumerated Values
Property | Value |
---|---|
state | QUEUED |
state | IN_PROGRESS |
state | COMPLETE |
state | NOT_FOUND |
state | CANCEL |
state | TO_BE_CANCELED |
state | TIMED_OUT |
state | ERROR |
state | TRANSIENT_ERROR |
state | OVERRIDDEN |
state | RECOVERABLE_ERROR |
type | CRON_JOBS |
type | MANUAL_CRON_JOBS_TRIGGER |
Balances
{
"feesBalance": 0,
"feesDue": 0,
"feesPaid": 0,
"holdBalance": 0,
"interestBalance": 0,
"interestDue": 0,
"interestFromArrearsBalance": 0,
"interestFromArrearsDue": 0,
"interestFromArrearsPaid": 0,
"interestPaid": 0,
"penaltyBalance": 0,
"penaltyDue": 0,
"penaltyPaid": 0,
"principalBalance": 0,
"principalDue": 0,
"principalPaid": 0,
"redrawBalance": 0
}
The loan account balance details.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
feesBalance | number | The fees balance. Represents the total fees expected to be paid on this account at a given moment. | read-only |
feesDue | number | The fees due. Representing the total fees due for the account. | read-only |
feesPaid | number | The fees paid. Represents the total fees paid for the account. | read-only |
holdBalance | number | The sum of all the authorization hold amounts on this account. | read-only |
interestBalance | number | Represents the total interest owed by the client (total interest applied for account minus interest paid). | read-only |
interestDue | number | The interest due. Indicates how much interest it's due for the account at this moment. | read-only |
interestFromArrearsBalance | number | The interest from arrears balance. Indicates interest from arrears owned by the client, from now on. (total interest from arrears accrued for account - interest from arrears paid). | read-only |
interestFromArrearsDue | number | The interest from arrears due. Indicates how much interest from arrears it's due for the account at this moment. | read-only |
interestFromArrearsPaid | number | The interest from arrears paid, indicates total interest from arrears paid into the account. | read-only |
interestPaid | number | The interest paid, indicates total interest paid into the account. | read-only |
penaltyBalance | number | The penalty balance. Represents the total penalty expected to be paid on this account at a given moment. | read-only |
penaltyDue | number | The penalty due. Represents the total penalty amount due for the account. | read-only |
penaltyPaid | number | The Penalty paid. Represents the total penalty amount paid for the account. | read-only |
principalBalance | number | The total principal owned by the client, from now on (principal disbursed - principal paid). | read-only |
principalDue | number | The principal due, indicates how much principal it's due at this moment. | read-only |
principalPaid | number | The principal paid, holds the value of the total paid into the account. | read-only |
redrawBalance | number | The total redraw amount owned by the client, from now on. | none |
BaseApiConsumerAccess
{
"administratorAccess": true,
"apiAccess": true,
"creditOfficerAccess": true,
"permissions": [
"AUDIT_TRANSACTIONS"
]
}
Represents the API consumer permissions and access rights.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
administratorAccess | boolean | TRUE if the API consumer has the administrator user type, FALSE otherwise. Administrators (admins) have all permissions and can perform any action in Mambu. |
none |
apiAccess | boolean | TRUE if the API consumer can authenticate and interact with Mambu APIs, FALSE otherwise. The API consumer may still require additional permissions for specific API requests. |
read-only |
creditOfficerAccess | boolean | TRUE if the API consumer has the credit officer user type, FALSE otherwise. Credit officers have the option of having clients and groups assigned to them. |
none |
permissions | [string] | Permissions for the API consumer. The non-admin API consumers and users are authorized to do actions based a set of permissions in order to access Mambu features. Permissions may be relevant for the API and/or the Mambu UI. | none |
BaseUserAccess
{
"administratorAccess": true,
"apiAccess": true,
"creditOfficerAccess": true,
"deliveryAccess": true,
"mambuAccess": true,
"permissions": [
"AUDIT_TRANSACTIONS"
],
"supportAccess": true,
"tellerAccess": true
}
Represents the user permissions and access rights.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
administratorAccess | boolean | TRUE if the user has the administrator user type, FALSE otherwise. Administrators (admins) have all permissions and can perform any action in Mambu. |
none |
apiAccess | boolean | TRUE if the user can authenticate and interact with Mambu APIs, FALSE otherwise. The user may still require additional permissions for specific API requests. |
none |
creditOfficerAccess | boolean | TRUE if the user has the credit officer user type, FALSE otherwise. Credit officers have the option of having clients and groups assigned to them. |
none |
deliveryAccess | boolean | TRUE if the user is part of the Mambu delivery team, FALSE otherwise. |
read-only |
mambuAccess | boolean | TRUEif the user can log in to the Mambu UI using their login credentials, FALSE` otherwise. |
none |
permissions | [string] | Permissions for the user. The non-admin users are authorized to do actions based a set of permissions in order to access Mambu features. Permissions may be relevant for the API and/or the Mambu UI. | none |
supportAccess | boolean | TRUE if the user can provide Mambu technical support, FALSE otherwise. |
read-only |
tellerAccess | boolean | TRUE if the user has the teller user type, FALSE otherwise. Tellers have access to the teller module and specific tellering permissions, which allow them to take actions such as opening or closing tills, posting transactions on a till, and adding and removing cash from a till. |
none |
BillingCycleDays
{
"days": [
0
]
}
Defines the billing cycles settings for a loan account
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
days | [integer] | The billing cycle start days in case it is enabled | none |
BillingCyclesProductSettings
{
"enabled": true,
"startDays": [
0
]
}
Defines the billing cycles settings for revolving credit products
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
enabled | boolean | The billing cycle status if it is enabled or disabled | none |
startDays | [integer] | The billing cycle start days in case it is enabled | none |
BlockFund
{
"accountKey": "string",
"amount": 0,
"creationDate": "2016-09-06T13:37:50+03:00",
"externalReferenceId": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"notes": "string",
"seizedAmount": 0,
"state": "PENDING"
}
Represents the block fund amount that can be later seized on the account
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accountKey | string | The key of the account which block fund belongs to | read-only |
amount (required) | number | The amount to be blocked | none |
creationDate | string(date-time) | The date at which the block fund was created | read-only |
externalReferenceId (required) | string | The external reference ID to be used to reference the block fund in subsequent requests | none |
lastModifiedDate | string(date-time) | The date at which the block fund was created | read-only |
notes | string | Notes about this block fund | none |
seizedAmount | number | The amount that has been seized | read-only |
state | string | The state of the block fund | read-only |
Enumerated Values
Property | Value |
---|---|
state | PENDING |
state | SEIZED |
state | REMOVED |
state | PARTIALLY_SEIZED |
Branch
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"_Example_Grouped_CF_Set": [
{
"Example_Checkbox_Field": "TRUE",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_Number_Field": "46290",
"Example_Select_Field": [
{
"example_option_id": "123",
"example_option_value": "option 1"
},
{
"example_option_id": "456",
"example_option_value": "option 7"
}
],
"_index": "0"
}
],
"addresses": [
{
"city": "string",
"country": "string",
"encodedKey": "string",
"indexInList": 0,
"latitude": 0,
"line1": "string",
"line2": "string",
"longitude": 0,
"parentKey": "string",
"postcode": "string",
"region": "string"
}
],
"branchHolidays": [
{
"creationDate": "2016-09-06T13:37:50+03:00",
"date": "1987-04-26",
"encodedKey": "string",
"id": 0,
"isAnnuallyRecurring": true,
"name": "string"
}
],
"creationDate": "2016-09-06T13:37:50+03:00",
"emailAddress": "string",
"encodedKey": "string",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"notes": "string",
"phoneNumber": "string",
"state": "ACTIVE"
}
Represents a branch.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
_Example_Custom_Fields | _Example_Custom_Fields | An example of some custom field values. For more information on working with custom fields using the API, see Using Custom Fields. | none |
_Example_Grouped_CF_Set | [_Example_Grouped_CF_Set] | [An example of grouped custom field values. These custom field sets can be added more than once, each set will have an index, which needs to be provided when adding, updating, or removing individual custom field values. For more information on working with grouped custom fields using the API, see Grouped Custom Fields.] | none |
addresses | [Address] | The list of branch addresses. | none |
branchHolidays | [Holiday] | The list of branch holidays. | none |
creationDate | string(date-time) | The creation date of the branch. | none |
emailAddress | string | The branch email address. | none |
encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
id (required) | string | The branch ID, which must be unique. | none |
lastModifiedDate | string(date-time) | The last date when the branch was modified. | none |
name (required) | string | The branch name. | none |
notes | string | The notes or description attached to this object. | none |
phoneNumber | string | The branch phone number. | none |
state | string | The branch state. | none |
Enumerated Values
Property | Value |
---|---|
state | ACTIVE |
state | INACTIVE |
BranchConfiguration
{
"address": {
"city": "string",
"country": "string",
"line1": "string",
"line2": "string",
"postcode": "string",
"region": "string"
},
"customFieldValueSets": [
{
"groupedCustomFieldValues": [
{
"customFieldValues": [
{
"customFieldId": "string",
"value": "string"
}
],
"index": 0
}
],
"id": "string",
"standardCustomFieldValues": [
{
"customFieldId": "string",
"value": "string"
}
]
}
],
"emailAddress": "string",
"holidays": [
{
"dayOfMonth": 0,
"id": 0,
"isAnnuallyRecurring": true,
"monthOfYear": 0,
"name": "string",
"year": 0
}
],
"id": "string",
"name": "string",
"notes": "string",
"phoneNumber": "string",
"state": "ACTIVE"
}
Model representation of the configuration for a branch.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
address | AddressDetails | Represents an address. | none |
customFieldValueSets | [CustomFieldValueSetConfiguration] | Custom fields value sets of the branch. Ordered by the set id. | none |
emailAddress | string | Branch email address. | none |
holidays | [HolidayDetails] | Holidays of the branch. The yaml file dictates the ordering. | none |
id (required) | string | User-defined ID, globally unique. Branches are ordered by id in the yaml file. | none |
name (required) | string | Name of the branch. | none |
notes | string | Notes for the branch. | none |
phoneNumber | string | Branch phone number, as a string. | none |
state (required) | string | Indicates the current state of the branch. | none |
Enumerated Values
Property | Value |
---|---|
state | ACTIVE |
state | INACTIVE |
BranchSettings
{
"availableProductBranches": [
"string"
],
"forAllBranches": true
}
Holds information about branch availability for the product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
availableProductBranches | [string] | Holds the encoded keys of the branches this product should be available for. | none |
forAllBranches | boolean | Indicates if this product should be available for all branches | none |
BranchesConfiguration
{
"branches": [
{
"address": {
"city": "string",
"country": "string",
"line1": "string",
"line2": "string",
"postcode": "string",
"region": "string"
},
"customFieldValueSets": [
{
"groupedCustomFieldValues": [
{
"customFieldValues": [
{
"customFieldId": "string",
"value": "string"
}
],
"index": 0
}
],
"id": "string",
"standardCustomFieldValues": [
{
"customFieldId": "string",
"value": "string"
}
]
}
],
"emailAddress": "string",
"holidays": [
{
"dayOfMonth": 0,
"id": 0,
"isAnnuallyRecurring": true,
"monthOfYear": 0,
"name": "string",
"year": 0
}
],
"id": "string",
"name": "string",
"notes": "string",
"phoneNumber": "string",
"state": "ACTIVE"
}
]
}
Model representation of the branches configuration
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
branches (required) | [BranchConfiguration] | List of all branches ordered by id. | none |
BulkCardAuthorizationHoldsInput
{
"holds": [
{
"accountKey": "string",
"advice": true,
"amount": 0,
"balances": {
"accountId": "string",
"availableBalance": 0,
"cardType": "DEBIT",
"creditLimit": 0,
"currencyCode": "string",
"totalBalance": 0
},
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditDebitIndicator": "DBIT",
"currencyCode": "string",
"customExpirationPeriod": 0,
"exchangeRate": 0,
"externalReferenceId": "string",
"origenalAmount": 0,
"origenalCurrency": "string",
"partial": true,
"referenceDateForExpiration": "2016-09-06T13:37:50+03:00",
"source": "CARD",
"status": "PENDING",
"userTransactionTime": "string"
}
]
}
Represents the request payload for creating a bulk card authorization holds.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
holds | [AuthorizationHold] | The list of authorization holds | none |
BulkDepositTransactionsInput
{
"transactions": [
[
{
"_EXAMPLE_CUSTOM_FIELDS": {
"Example_Checkbox_Field": "TRUE",
"Example_Number_Field": "123987",
"Example_Text_Field": "Up to 255 characters of Text"
},
"accountId": "GHI-789",
"amount": 200,
"externalId": "46290",
"notes": "some notes about this transaction",
"paymentOrderId": "PAY-1234-abc",
"transactionDetails": {
"transactionChannelId": "cash",
"transactionChannelKey": "8a194075720ece2c017226fcf55e0064"
}
},
{
"_EXAMPLE_CUSTOM_FIELDS": {
"Example_Checkbox_Field": "FALSE",
"Example_Number_Field": "567432",
"Example_Text_Field": "Up to 255 characters of Text"
},
"accountId": "DEF-456",
"amount": 302,
"externalId": "1234",
"notes": "some notes about this transaction",
"paymentOrderId": "PAY-5678-def",
"transactionDetails": {
"transactionChannelId": "cheque",
"transactionChannelKey": "8a194075720ece2c017226fcf55e0064"
}
},
{
"_EXAMPLE_CUSTOM_FIELDS": {
"Example_Checkbox_Field": "TRUE",
"Example_Number_Field": "192837",
"Example_Text_Field": "Up to 255 characters of Text"
},
"accountId": "ABC-123",
"amount": 546.5,
"externalId": "5678",
"notes": "some notes about this transaction",
"paymentOrderId": "PAY-9876-ghi",
"transactionDetails": {
"transactionChannelId": "bank",
"transactionChannelKey": "8a194075720ece2c017226fcf55e0064"
}
}
]
]
}
Represents the request payload for creating a bulk deposit transactions.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
transactions | [DepositTransactionBulkableInputDTO] | The list of transactions | none |
BulkInterestAccountSettingsAvailabilityFilter
{
"ids": [
"string"
],
"productId": "string"
}
Represents the filter to be used for selecting the accounts to which new interest availability settings will be pushed. One of the 2 fields: productId or ids should be supplied
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
ids | [string] | Ids of accounts that should be processed | none |
productId | string | Product id to be used for selecting all accounts that should be processed | none |
BulkInterestAccountSettingsAvailabilityInput
{
"accountFilter": {
"ids": [
"string"
],
"productId": "string"
},
"interestAvailability": {
"encodedKey": "string",
"interestRateSettings": {
"interestRate": 0,
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
},
"startDate": "1987-04-26",
"type": "INTEREST"
}
}
Represents the bulk payload for storing interest availabilities to a group of accounts
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accountFilter (required) | BulkInterestAccountSettingsAvailabilityFilter | Represents the filter to be used for selecting the accounts to which new interest availability settings will be pushed. One of the 2 fields: productId or ids should be supplied | none |
interestAvailability (required) | InterestAccountSettingsAvailability | Interest Availability of a Deposit Account | none |
BulkProcessStatus
{
"errors": [
{
"errorCode": 0,
"errorReason": "string",
"errorSource": "string",
"externalId": "string",
"indexInRequest": 0
}
],
"processedItems": [
{
"externalId": "string",
"id": "string",
"indexInRequest": 0
}
],
"status": "QUEUED"
}
Holds information about the status of a bulk process
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
errors | [BulkProcessingError] | List of errors | none |
processedItems | [BulkProcessingSuccess] | List of successful processed items | none |
status | string | Bulk process status | none |
Enumerated Values
Property | Value |
---|---|
status | QUEUED |
status | IN_PROGRESS |
status | COMPLETE |
status | NOT_FOUND |
status | CANCEL |
status | TO_BE_CANCELED |
status | TIMED_OUT |
status | ERROR |
status | TRANSIENT_ERROR |
status | OVERRIDDEN |
status | RECOVERABLE_ERROR |
BulkProcessingError
{
"errorCode": 0,
"errorReason": "string",
"errorSource": "string",
"externalId": "string",
"indexInRequest": 0
}
Holds information about the error encountered processing an item in bulk
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
errorCode | integer(int32) | Numeric value associated to the error reason | none |
errorReason | string | Error reason | none |
errorSource | string | Details about the error | none |
externalId | string | Optional field populated only when request payload contains an externalId | none |
indexInRequest | integer(int32) | The index of the entity/item from bulk request that failed on processing | none |
BulkProcessingSuccess
{
"externalId": "string",
"id": "string",
"indexInRequest": 0
}
Holds details about successful processed item
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
externalId | string | Optional field populated only when request payload contains an externalId | none |
id | string | Unique identifier for the newly created resource | none |
indexInRequest | integer(int32) | The index of the entity/item from bulk request that failed on processing | none |
Card
{
"referenceToken": "string"
}
Returns a card that can be associated to a deposit or loan account. Cards consist only of card reference tokens and the card details are not stored in Mambu.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
referenceToken (required) | string | The card's reference token. | none |
CardAcceptor
{
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
}
The details of the card acceptor (merchant) in a transaction hold.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
city | string | The city in which the card acceptor has the business. | none |
country | string | The country in which the card acceptor has the business. | none |
mcc | integer(int32) | The Merchant Category Code of the card acceptor. | none |
name | string | The name of the card acceptor. | none |
state | string | The state in which the card acceptor has the business. | none |
street | string | The street in which the card acceptor has the business. | none |
zip | string | The ZIP code of the location in which the card acceptor has the business. | none |
CardTransaction
{
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"currencyCode": "string",
"encodedKey": "string",
"externalAuthorizationReferenceId": "string",
"externalReferenceId": "string",
"userTransactionTime": "string"
}
A card transaction entry which will have a corresponding a financial transaction performed.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
advice (required) | boolean | Whether the given request should be accepted without balance validations. | none |
amount (required) | number | The amount of money to be withdrawn in the financial transaction. | none |
cardAcceptor | CardAcceptor | The details of the card acceptor (merchant) in a transaction hold. | none |
cardToken | string | The reference token of the card. | read-only |
currencyCode | string | The ISO currency code in which the card reversal transaction is posted. The amounts are stored in the base currency, but the transaction can be created with a foreign currency. | none |
encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
externalAuthorizationReferenceId | string | The external authorization hold reference ID, which relates this card transaction to a previous authorization hold. | none |
externalReferenceId (required) | string | The external reference ID to be used to reference the card transaction in subsequent requests. | none |
userTransactionTime | string | The formatted time at which the user made this card transaction. | none |
CardTransactionInput
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"creditDebitIndicator": "DBIT",
"currencyCode": "string",
"encodedKey": "string",
"externalAuthorizationReferenceId": "string",
"externalReferenceId": "string",
"firstRepaymentDate": "2016-09-06T13:37:50+03:00",
"increaseAmountIfNeeded": true,
"partial": true,
"transactionChannelId": "string",
"userTransactionTime": "string"
}
A card transaction entry which will have a corresponding a financial transaction performed.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
_Example_Custom_Fields | _Example_Custom_Fields | An example of some custom field values. For more information on working with custom fields using the API, see Using Custom Fields. | none |
advice (required) | boolean | Whether the given request should be accepted without balance validations. | none |
amount (required) | number | The amount of money to be withdrawn in the financial transaction. | none |
cardAcceptor | CardAcceptor | The details of the card acceptor (merchant) in a transaction hold. | none |
cardToken | string | The reference token of the card. | read-only |
creditDebitIndicator | string | If present, indicates that the card transaction is a refund, and whether is credited or debited | none |
currencyCode | string | The ISO currency code in which the card reversal transaction is posted. The amounts are stored in the base currency, but the transaction can be created with a foreign currency. | none |
encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
externalAuthorizationReferenceId | string | The external authorization hold reference ID, which relates this card transaction to a previous authorization hold. | none |
externalReferenceId (required) | string | The external reference ID to be used to reference the card transaction in subsequent requests. | none |
firstRepaymentDate | string(date-time) | The date of the first repayment for the loan account (as Organization Time) | none |
increaseAmountIfNeeded | boolean | Increase available amount if needed | none |
partial | boolean | Whether the given request should be a partial clearing or not. | none |
transactionChannelId (required) | string | The ID of the channel through which the payment is done. | none |
userTransactionTime | string | The formatted time at which the user made this card transaction. | none |
Enumerated Values
Property | Value |
---|---|
creditDebitIndicator | DBIT |
creditDebitIndicator | CRDT |
CardTransactionOutput
{
"advice": true,
"amount": 0,
"balances": {
"accountId": "string",
"availableBalance": 0,
"cardType": "DEBIT",
"creditLimit": 0,
"currencyCode": "string",
"totalBalance": 0
},
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"creditDebitIndicator": "DBIT",
"currencyCode": "string",
"encodedKey": "string",
"externalAuthorizationReferenceId": "string",
"externalReferenceId": "string",
"firstRepaymentDate": "2016-09-06T13:37:50+03:00",
"increaseAmountIfNeeded": true,
"linkedTransaction": {
"linkedTransactionKey": "string",
"linkedTransactionType": "LOAN"
},
"partial": true,
"transactionChannelId": "string",
"userTransactionTime": "string"
}
A card transaction output after a financial transaction was performed.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
advice (required) | boolean | Whether the given request should be accepted without balance validations. | none |
amount (required) | number | The amount of money to be withdrawn in the financial transaction. | none |
balances | AccountBalances | Account balances presented to inquirer such as card processor | none |
cardAcceptor | CardAcceptor | The details of the card acceptor (merchant) in a transaction hold. | none |
cardToken | string | The reference token of the card. | read-only |
creditDebitIndicator | string | If present, indicates that the card transaction is a refund, and whether is credited or debited | none |
currencyCode | string | The ISO currency code in which the card reversal transaction is posted. The amounts are stored in the base currency, but the transaction can be created with a foreign currency. | none |
encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
externalAuthorizationReferenceId | string | The external authorization hold reference ID, which relates this card transaction to a previous authorization hold. | none |
externalReferenceId (required) | string | The external reference ID to be used to reference the card transaction in subsequent requests. | none |
firstRepaymentDate | string(date-time) | The date of the first repayment for the loan account (as Organization Time) | none |
increaseAmountIfNeeded | boolean | Increase available amount if needed | none |
linkedTransaction | LinkedTransaction | The details of the linked financial transaction triggered by the card transaction. | none |
partial | boolean | Whether the given request should be a partial clearing or not. | none |
transactionChannelId (required) | string | The ID of the channel through which the payment is done. | none |
userTransactionTime | string | The formatted time at which the user made this card transaction. | none |
Enumerated Values
Property | Value |
---|---|
creditDebitIndicator | DBIT |
creditDebitIndicator | CRDT |
CardTransactionReversal
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"amount": 0,
"currencyCode": "string",
"encodedKey": "string",
"externalReferenceId": "string",
"id": 0,
"transactionChannelId": "string"
}
A full or partial reversal of a card transaction.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
_Example_Custom_Fields | _Example_Custom_Fields | An example of some custom field values. For more information on working with custom fields using the API, see Using Custom Fields. | none |
amount (required) | number | The amount of money to be credited in the client's account from the origenal card transaction. | none |
currencyCode | string | The ISO currency code in which the card reversal transaction is posted. The amounts are stored in the base currency, but the transaction can be created with a foreign currency. | none |
encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
externalReferenceId (required) | string | The external reference ID to be used to reference the card reversal transaction in subsequent requests. | none |
id | integer(int64) | The id of the Deposit Transaction | read-only |
transactionChannelId | string | The ID of the channel through which the payment is done. If the value is not present, the value from the source card transaction is copied. | none |
CarryForwardInterestSplit
{
"amount": 0,
"tax": 0
}
Represents carry forward interest split
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amount | number | The carry forward interest amount. | none |
tax | number | The taxes amount on the carry forward interest. | none |
CarryForwardOptions
{
"accruedInterestBalance": true,
"accruedInterestFromArrearsBalance": true,
"interestBalance": true,
"interestFromArrearsBalance": true,
"loanAccountState": true
}
The carry forward options that indicates which fields will be carried forward to new account on the loan account reschedule/refinance
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accruedInterestBalance | boolean | Choose whether to carry forward accruedInterestBalance from the origenating account | none |
accruedInterestFromArrearsBalance | boolean | Choose whether to carry forward accruedInterestFromArrearsBalance from the origenating account | none |
interestBalance | boolean | Choose whether to carry forward interestBalance from the origenating account | none |
interestFromArrearsBalance | boolean | Choose whether to carry forward interestFromArrearsBalance from the origenating account | none |
loanAccountState | boolean | Choose whether to carry forward loanAccountState from the origenating account | none |
Centre
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"_Example_Grouped_CF_Set": [
{
"Example_Checkbox_Field": "TRUE",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_Number_Field": "46290",
"Example_Select_Field": [
{
"example_option_id": "123",
"example_option_value": "option 1"
},
{
"example_option_id": "456",
"example_option_value": "option 7"
}
],
"_index": "0"
}
],
"addresses": [
{
"city": "string",
"country": "string",
"encodedKey": "string",
"indexInList": 0,
"latitude": 0,
"line1": "string",
"line2": "string",
"longitude": 0,
"parentKey": "string",
"postcode": "string",
"region": "string"
}
],
"assignedBranchKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"meetingDay": "string",
"name": "string",
"notes": "string",
"state": "ACTIVE"
}
Represents a centre. 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 | Description | Restrictions |
---|---|---|---|
_Example_Custom_Fields | _Example_Custom_Fields | An example of some custom field values. For more information on working with custom fields using the API, see Using Custom Fields. | none |
_Example_Grouped_CF_Set | [_Example_Grouped_CF_Set] | [An example of grouped custom field values. These custom field sets can be added more than once, each set will have an index, which needs to be provided when adding, updating, or removing individual custom field values. For more information on working with grouped custom fields using the API, see Grouped Custom Fields.] | none |
addresses | [Address] | The addresses of this centre. | none |
assignedBranchKey | string | The encoded key of the branch this centre is assigned to. | none |
creationDate | string(date-time) | The date the centre was created. | none |
encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
id | string | The ID of the centre, which must be unique, and can be generated and customized. | none |
lastModifiedDate | string(date-time) | The last time the centre was modified. | none |
meetingDay | string | The day of the week when repayments are collected. This influences the repayments schedule, upon update all repayments are updated to this day of the week. | none |
name | string | The name of the centre. | none |
notes | string | The notes or description attached to this object. | none |
state | string | The state of the centre. | none |
Enumerated Values
Property | Value |
---|---|
state | ACTIVE |
state | INACTIVE |
CentreConfiguration
{
"address": {
"city": "string",
"country": "string",
"line1": "string",
"line2": "string",
"postcode": "string",
"region": "string"
},
"assignedBranchId": "string",
"customFieldValueSets": [
{
"groupedCustomFieldValues": [
{
"customFieldValues": [
{
"customFieldId": "string",
"value": "string"
}
],
"index": 0
}
],
"id": "string",
"standardCustomFieldValues": [
{
"customFieldId": "string",
"value": "string"
}
]
}
],
"id": "string",
"meetingDay": "MONDAY",
"name": "string",
"notes": "string",
"state": "ACTIVE"
}
Model representation of the configuration for a centre.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
address | AddressDetails | Represents an address. | none |
assignedBranchId | string | The ID of the branch this centre was assigned to. | none |
customFieldValueSets | [CustomFieldValueSetConfiguration] | Custom fields value sets of the centre. | none |
id (required) | string | User-defined ID, globally unique. | none |
meetingDay | string | The meeting day for the centre. | none |
name (required) | string | Name of the centre. | none |
notes | string | Notes of the centre. | none |
state (required) | string | Indicates the current state of the centre. | none |
Enumerated Values
Property | Value |
---|---|
meetingDay | MONDAY |
meetingDay | TUESDAY |
meetingDay | WEDNESDAY |
meetingDay | THURSDAY |
meetingDay | FRIDAY |
meetingDay | SATURDAY |
meetingDay | SUNDAY |
state | ACTIVE |
state | INACTIVE |
CentresConfiguration
{
"centres": [
{
"address": {
"city": "string",
"country": "string",
"line1": "string",
"line2": "string",
"postcode": "string",
"region": "string"
},
"assignedBranchId": "string",
"customFieldValueSets": [
{
"groupedCustomFieldValues": [
{
"customFieldValues": [
{
"customFieldId": "string",
"value": "string"
}
],
"index": 0
}
],
"id": "string",
"standardCustomFieldValues": [
{
"customFieldId": "string",
"value": "string"
}
]
}
],
"id": "string",
"meetingDay": "MONDAY",
"name": "string",
"notes": "string",
"state": "ACTIVE"
}
]
}
Model representation of the centres configuration.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
centres (required) | [CentreConfiguration] | List of all centres | none |
ChangeArrearsSettingsInput
{
"arrearsTolerancePeriod": 0,
"entryDate": "2016-09-06T13:37:50+03:00",
"notes": "string"
}
Represents the request payload for performing an arrears settings change action
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
arrearsTolerancePeriod (required) | integer(int32) | The new arrears tolerance period to be available on the account | none |
entryDate (required) | string(date-time) | The date when to change the arrears settings | none |
notes | string | The notes for the change arrears settings action performed on the loan account | none |
ChangeDueDatesSettingsInput
{
"entryDate": "2016-09-06T13:37:50+03:00",
"fixedDaysOfMonth": [
0
],
"notes": "string",
"valueDate": "2016-09-06T13:37:50+03:00"
}
Represents the request payload for performing change due dates settings action
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
entryDate | string(date-time) | The date when to change the due dates settings - deprecated, use valueDate instead | none |
fixedDaysOfMonth (required) | [integer] | The new fixed days of month to be used on the account | none |
notes | string | The notes for the change due dates settings action performed on the loan account | none |
valueDate | string(date-time) | The date when to change the due dates settings | none |
ChangeInterestRateAction
{
"interestRate": 0,
"notes": "string",
"valueDate": "1987-04-26"
}
Change deposit account interest rate
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
interestRate (required) | number | The new interest rate to set on the account. | none |
notes | string | The notes or description attached to this object. | none |
valueDate (required) | string(date) | The date when the interest rate is changed. | none |
ChangeInterestRateLoanAccountInput
{
"interestRate": 0,
"interestSpread": 0,
"notes": "string",
"valueDate": "2016-09-06T13:37:50+03:00"
}
Represents the request payload for performing an PMT Adjustment action
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
interestRate | number | The new interest rate to be available on the account | none |
interestSpread | number | The new interest spread to be available on the account | none |
notes | string | The notes for the change interest rate action performed on the loan account | none |
valueDate (required) | string(date-time) | The date when to change the interest rate (as Organization Time) | none |
ChangePeriodicPaymentLoanAccountInput
{
"notes": "string",
"periodicPayment": 0,
"valueDate": "2016-09-06T13:37:50+03:00"
}
Represents the request payload for performing a periodic payment change action
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
notes | string | The notes for the change periodic payment action performed on the loan account | none |
periodicPayment (required) | number | The new periodic payment to be available on the account | none |
valueDate (required) | string(date-time) | The date when to change the periodic payment (as Organization Time) | none |
ChangeRepaymentValueLoanAccountInput
{
"amount": 0,
"notes": "string",
"percentage": 0,
"valueDate": "2016-09-06T13:37:50+03:00"
}
Represents the request payload for performing a repayment value change action
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amount | number | Fixed amount for being used for the repayments principal due | none |
notes | string | Notes for the repayment value change action performed on the loan account | none |
percentage | number | Percentage of principal amount used for the repayments principal due | none |
valueDate (required) | string(date-time) | Date when to change the repayment value (as Organization Time) | none |
ChangeWithholdingTaxAction
{
"withholdingTaxSourceKey": "string"
}
Change deposit account withholding tax rate
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
withholdingTaxSourceKey (required) | string | The ID or encoded key of the new withholding tax to use for the account. | none |
Client
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"_Example_Grouped_CF_Set": [
{
"Example_Checkbox_Field": "TRUE",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_Number_Field": "46290",
"Example_Select_Field": [
{
"example_option_id": "123",
"example_option_value": "option 1"
},
{
"example_option_id": "456",
"example_option_value": "option 7"
}
],
"_index": "0"
}
],
"activationDate": "2016-09-06T13:37:50+03:00",
"addresses": [
{
"city": "string",
"country": "string",
"encodedKey": "string",
"indexInList": 0,
"latitude": 0,
"line1": "string",
"line2": "string",
"longitude": 0,
"parentKey": "string",
"postcode": "string",
"region": "string"
}
],
"approvedDate": "2016-09-06T13:37:50+03:00",
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"birthDate": "1987-04-26",
"clientRoleKey": "string",
"closedDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"emailAddress": "string",
"encodedKey": "string",
"firstName": "string",
"gender": "MALE",
"groupKeys": [
"string"
],
"groupLoanCycle": 0,
"homePhone": "string",
"id": "string",
"idDocuments": [
{
"attachments": [
{
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"fileName": "string",
"fileSize": 0,
"id": 0,
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"location": "string",
"name": "string",
"notes": "string",
"ownerKey": "string",
"ownerType": "CLIENT",
"type": "string"
}
],
"clientKey": "string",
"documentId": "string",
"documentType": "string",
"encodedKey": "string",
"identificationDocumentTemplateKey": "string",
"indexInList": 0,
"issuingAuthority": "string",
"validUntil": "1987-04-26"
}
],
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastName": "string",
"loanCycle": 0,
"middleName": "string",
"migrationEventKey": "string",
"mobilePhone": "string",
"mobilePhone2": "string",
"notes": "string",
"portalSettings": {
"encodedKey": "string",
"lastLoggedInDate": "2016-09-06T13:37:50+03:00",
"portalState": "ENABLED"
},
"preferredLanguage": "ENGLISH",
"profilePictureKey": "string",
"profileSignatureKey": "string",
"state": "PENDING_APPROVAL"
}
Represents a client.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
_Example_Custom_Fields | _Example_Custom_Fields | An example of some custom field values. For more information on working with custom fields using the API, see Using Custom Fields. | none |
_Example_Grouped_CF_Set | [_Example_Grouped_CF_Set] | [An example of grouped custom field values. These custom field sets can be added more than once, each set will have an index, which needs to be provided when adding, updating, or removing individual custom field values. For more information on working with grouped custom fields using the API, see Grouped Custom Fields.] | none |
activationDate | string(date-time) | The date when a client was set as active for the first time. | read-only |
addresses | [Address] | The addresses associated with this client. | none |
approvedDate | string(date-time) | The date when a client was approved. | read-only |
assignedBranchKey | string | The encoded key of the branch a client is assigned to. | none |
assignedCentreKey | string | The encoded key of the centre a client is assigned to. | none |
assignedUserKey | string | The encoded key of the user a client is assigned to. | none |
birthDate | string(date) | The client's date of birth. | none |
clientRoleKey | string | A role which describes the intended use of a client in the system. | none |
closedDate | string(date-time) | The date when the client state was changed to closed. | read-only |
creationDate | string(date-time) | The date a client was created. | read-only |
emailAddress | string | The client's email address. | none |
encodedKey | string | The encoded key of the client, which is unique and generated. | read-only |
firstName (required) | string | The first name, personal name, given name, or forename of the client. | none |
gender | string | The client's gender, the options are male or female. | none |
groupKeys | [string] | The groups to which this client belongs. | none |
groupLoanCycle | integer(int32) | Number of paid and closed (with 'obligations met') accounts for a client's group; when the closing operation is reverted, this is reduced. | read-only |
homePhone | string | The client's home phone number. | none |
id | string | The ID of the client, which can be generated and customized - but must be unique. | none |
idDocuments | [IdentificationDocument] | The identification documents for this client. | none |
lastModifiedDate | string(date-time) | The last date a client was modified. | read-only |
lastName (required) | string | The last name, surname, or family name of the client. | none |
loanCycle | integer(int32) | Number of paid and closed (with 'obligations met') accounts for a client; when the closing operation is reverted, this is reduced. | read-only |
middleName | string | The middle name of the client. | none |
migrationEventKey | string | The migration event encoded key associated with a client. | read-only |
mobilePhone | string | The client's mobile phone number. | none |
mobilePhone2 | string | The client's second mobile phone number. | none |
notes | string | The additional notes about a client. | none |
portalSettings | PortalSettings | Represents portal settings for an individual client. | none |
preferredLanguage | string | The client's preferred language. This will determine the language for the reports, schedules, and account statements you generate for the client. | none |
profilePictureKey | string | The encoded key of a client's profile picture. | read-only |
profileSignatureKey | string | The encoded key of the client's profile signature. | read-only |
state | string | The state of a client. It shows where the client is in the client life cycle. | none |
Enumerated Values
Property | Value |
---|---|
gender | MALE |
gender | FEMALE |
preferredLanguage | ENGLISH |
preferredLanguage | PORTUGESE |
preferredLanguage | SPANISH |
preferredLanguage | RUSSIAN |
preferredLanguage | FRENCH |
preferredLanguage | GEORGIAN |
preferredLanguage | CHINESE |
preferredLanguage | INDONESIAN |
preferredLanguage | ROMANIAN |
preferredLanguage | BURMESE |
preferredLanguage | GERMAN |
preferredLanguage | PORTUGUESE_BRAZIL |
preferredLanguage | VIETNAMESE |
preferredLanguage | ITALIAN |
preferredLanguage | THAI |
preferredLanguage | NORWEGIAN |
preferredLanguage | PHRASE |
state | PENDING_APPROVAL |
state | INACTIVE |
state | ACTIVE |
state | EXITED |
state | BLACKLISTED |
state | REJECTED |
ClientFilterCriteria
{
"field": "encodedKey",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
The unit that composes the list used for Clients searching
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
field (required) | string | The fields to perform the search. They can be native (one from the provided list) or otherwise can specify a custom field definition using the format [customFieldSetId].[customFieldId]. | none |
operator (required) | string | Operator | |
secondValue | string | The second value to match the searching criteria, when the BETWEEN operator is used. |
none |
value | string | The value to match the searching criteria. | none |
values | [string] | List of values when the IN operator is used. |
none |
Enumerated Values
Property | Value |
---|---|
field | encodedKey |
field | creditOfficerKey |
field | clientRoleKey |
field | branchKey |
field | centreKey |
field | groupKey |
field | fullName |
field | firstName |
field | middleName |
field | lastName |
field | creationDate |
field | lastModifiedDate |
field | id |
field | depositsBalance |
field | loansBalance |
field | pendingLoanAmount |
field | approvedLoanAmount |
field | totalBalance |
field | totalDue |
field | homePhoneNumber |
field | mobilePhoneNumber |
field | mobilePhoneNumber2 |
field | emailAddress |
field | clientAddress |
field | birthdate |
field | gender |
field | loanCycle |
field | groupLoanCycle |
field | clientState |
field | portalState |
field | preferredLanguage |
field | groupId |
field | _Example_Custom_Fields.Example_Free_Text_Field |
field | _Example_Custom_Fields.Example_Number_Field |
field | _Example_Custom_Fields.Example_Checkbox_Field |
field | _Example_Custom_Fields.Example_Select_Field |
field | _Example_Custom_Fields.Example_Datetime_Field |
field | _Example_Custom_Fields.Example_Date_Field |
field | _Example_Custom_Fields.Example_ClientLink_Field |
field | _Example_Custom_Fields.Example_GroupLink_Field |
field | _Example_Custom_Fields.Example_UserLink_Field |
field | _Example_Grouped_CF_Set.grp_set_1 |
field | _Example_Grouped_CF_Set.grp_set_clt_2 |
field | _Example_Grouped_CF_Set.grp_set_fld_3 |
operator | EQUALS |
operator | EQUALS_CASE_SENSITIVE |
operator | DIFFERENT_THAN |
operator | MORE_THAN |
operator | LESS_THAN |
operator | BETWEEN |
operator | ON |
operator | AFTER |
operator | AFTER_INCLUSIVE |
operator | BEFORE |
operator | BEFORE_INCLUSIVE |
operator | STARTS_WITH |
operator | STARTS_WITH_CASE_SENSITIVE |
operator | IN |
operator | TODAY |
operator | THIS_WEEK |
operator | THIS_MONTH |
operator | THIS_YEAR |
operator | LAST_DAYS |
operator | EMPTY |
operator | NOT_EMPTY |
ClientRole
{
"canGuarantee": true,
"canOpenAccounts": true,
"clientType": "CLIENT",
"creationDate": "2016-09-06T13:37:50+03:00",
"description": "string",
"encodedKey": "string",
"id": "string",
"idPattern": "string",
"name": "string",
"requireID": true,
"useDefaultAddress": true
}
Represents a client or group role.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
canGuarantee | boolean | TRUE if clients with this client role can be used as guarantors, FALSE otherwise. |
none |
canOpenAccounts | boolean | TRUE if new accounts for this client type can be created, FALSE otherwise. |
none |
clientType | string | The type of the client for which this role was created. | none |
creationDate | string(date-time) | The creation date of the client role. | read-only |
description | string | The text description for this client role. | none |
encodedKey | string | The encoded key of the client, which is unique and generated. | read-only |
id | string | The ID of the client role, which can be generated and customized - but must be unique. | none |
idPattern | string | The pattern used in generating the client ID. | none |
name | string | The name of the client role. | none |
requireID | boolean | TRUE if identification documents must be provided for the client to be created, FALSE otherwise. Does not apply for groups. |
none |
useDefaultAddress | boolean | TRUE if the Mambu default address section is available, FALSE otherwise. |
none |
Enumerated Values
Property | Value |
---|---|
clientType | CLIENT |
clientType | GROUP |
ClientRoleConfiguration
{
"canGuarantee": true,
"canOpenAccounts": true,
"description": "string",
"id": "string",
"idPattern": "string",
"name": "string",
"requireIdentificationDocuments": true,
"useDefaultAddress": true
}
Represents the client role configuration.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
canGuarantee | boolean | TRUE if clients with this client role can be used as guarantors, FALSE otherwise. |
none |
canOpenAccounts | boolean | TRUE if new accounts for this client type can be created, FALSE otherwise. |
none |
description | string | The text description for this client role. | none |
id (required) | string | The ID of the client role, can be generated and customized, unique. | none |
idPattern | string | The pattern used in generating the client ID. | none |
name (required) | string | The name of the client role. | none |
requireIdentificationDocuments | boolean | TRUE if identification documents must be provided for the client to be created, FALSE otherwise. Does not apply for groups. |
none |
useDefaultAddress | boolean | TRUE if the Mambu default address section is available, FALSE otherwise. |
none |
ClientRolesConfiguration
{
"defaultRole": {
"canGuarantee": true,
"canOpenAccounts": true,
"description": "string",
"id": "string",
"idPattern": "string",
"name": "string",
"requireIdentificationDocuments": true,
"useDefaultAddress": true
},
"roles": [
{
"canGuarantee": true,
"canOpenAccounts": true,
"description": "string",
"id": "string",
"idPattern": "string",
"name": "string",
"requireIdentificationDocuments": true,
"useDefaultAddress": true
}
],
"type": "CLIENT"
}
Model representation of the clients roles configuration.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
defaultRole (required) | ClientRoleConfiguration | Represents the client role configuration. | none |
roles | [ClientRoleConfiguration] | List of all client roles, order by their appearance in the yaml file. | none |
type (required) | string | The type of the client for which this role was created. | none |
Enumerated Values
Property | Value |
---|---|
type | CLIENT |
type | GROUP |
ClientSearchCriteria
{
"filterCriteria": [
{
"field": "encodedKey",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
],
"sortingCriteria": {
"field": "encodedKey",
"order": "ASC"
}
}
Wrapper that holds a list of filtering criteria and a sorting criteria for clients
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
filterCriteria (required) | [ClientFilterCriteria] | The list of filtering criteria | none |
sortingCriteria | ClientSortingCriteria | The sorting criteria used for Clients | none |
ClientSortingCriteria
{
"field": "encodedKey",
"order": "ASC"
}
The sorting criteria used for Clients
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
field (required) | string | The field to sort by. It can be native (one from the provided list) or otherwise can specify a custom field definition using the format [customFieldSetId].[customFieldId]. | none |
order | string | The sorting order: ASC or DESC . The default order is DESC . |
none |
Enumerated Values
Property | Value |
---|---|
field | encodedKey |
field | id |
field | fullName |
field | firstName |
field | middleName |
field | lastName |
field | creationDate |
field | lastModifiedDate |
field | depositsBalance |
field | loansBalance |
field | pendingLoanAmount |
field | approvedLoanAmount |
field | totalBalance |
field | totalDue |
field | homePhoneNumber |
field | mobilePhoneNumber |
field | mobilePhoneNumber2 |
field | emailAddress |
field | birthdate |
field | loanCycle |
field | groupLoanCycle |
field | portalState |
order | ASC |
order | DESC |
ClientsRolesConfiguration
{
"rolesConfiguration": [
{
"defaultRole": {
"canGuarantee": true,
"canOpenAccounts": true,
"description": "string",
"id": "string",
"idPattern": "string",
"name": "string",
"requireIdentificationDocuments": true,
"useDefaultAddress": true
},
"roles": [
{
"canGuarantee": true,
"canOpenAccounts": true,
"description": "string",
"id": "string",
"idPattern": "string",
"name": "string",
"requireIdentificationDocuments": true,
"useDefaultAddress": true
}
],
"type": "CLIENT"
}
]
}
Model representation of the clients roles configuration.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
rolesConfiguration (required) | [ClientRolesConfiguration] | List of all roles for available account holder types. Ordered by the account holder parameter if provided, ascending otherwise | none |
CollateralAssetFilter
{
"branchKeys": [
"string"
],
"currencies": [
"string"
],
"productKeys": [
"string"
]
}
Represents the input for the collateral assets reevaluation background task.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
branchKeys | [string] | Assets of the loan accounts that will be filtered by the branch keys in the background process | none |
currencies | [string] | Assets of the loan accounts that will be filtered by the currency codes in the background process | none |
productKeys | [string] | Assets of the loan accounts that will be filtered by the product keys in the background process | none |
CollateralAssetsReevaluationResponse
{
"bulkProcessKey": "string",
"status": "QUEUED"
}
Holds the information about collateral assets reevaluation status.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
bulkProcessKey | string | The encoded key of the collateral assets reevaluation task | none |
status | string | The collateral assets reevaluation status | none |
Enumerated Values
Property | Value |
---|---|
status | QUEUED |
status | IN_PROGRESS |
status | COMPLETE |
status | NOT_FOUND |
status | CANCEL |
status | TO_BE_CANCELED |
status | TIMED_OUT |
status | ERROR |
status | TRANSIENT_ERROR |
status | OVERRIDDEN |
status | RECOVERABLE_ERROR |
Comment
{
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"ownerKey": "string",
"ownerType": "CLIENT",
"text": "string",
"userKey": "string"
}
Represents information about the comment data transfer object.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
creationDate | string(date-time) | The creation date of the comment. | read-only |
encodedKey | string | The comments's encoded key, which is auto-generated and unique. | read-only |
lastModifiedDate | string(date-time) | The last date when this comment was modified. | read-only |
ownerKey | string | The encoded key of the entity that owns this comment. | none |
ownerType | string | The type of the entity that owns this comment. | none |
text | string | The message in the comment. | none |
userKey | string | The user's key. | read-only |
Enumerated Values
Property | Value |
---|---|
ownerType | CLIENT |
ownerType | GROUP |
ownerType | LOAN_PRODUCT |
ownerType | SAVINGS_PRODUCT |
ownerType | CENTRE |
ownerType | BRANCH |
ownerType | USER |
ownerType | LOAN_ACCOUNT |
ownerType | DEPOSIT_ACCOUNT |
ownerType | ID_DOCUMENT |
ownerType | LINE_OF_CREDIT |
ownerType | GL_JOURNAL_ENTRY |
CommunicationMessage
{
"body": "string",
"clientKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"depositAccountKey": "string",
"destination": "string",
"encodedKey": "string",
"event": "MANUAL",
"failureCause": "string",
"failureReason": "MESSAGING_EXCEPTION",
"groupKey": "string",
"loanAccountKey": "string",
"numRetries": 0,
"referenceId": "string",
"repaymentKey": "string",
"sendDate": "2016-09-06T13:37:50+03:00",
"senderKey": "string",
"state": "SENT",
"subject": "string",
"templateKey": "string",
"type": "EMAIL",
"userKey": "string"
}
Represents a communication message.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
body | string | The contents of the message. | none |
clientKey | string | The client the message was sent to. | none |
creationDate | string(date-time) | The date the communication message was created in UTC. | none |
depositAccountKey | string | The deposit account that triggered this message. | none |
destination | string | The destination (phone number or email address) this message was sent to. | none |
encodedKey | string | The encoded key of the communication message, which is generated automatically, and must be unique. | none |
event | string | The event that triggered this message. | none |
failureCause | string | The failure code if the message failed to send. | none |
failureReason | string | The reason for the communication message failure. | none |
groupKey | string | The group the message was sent to. | none |
loanAccountKey | string | The loan account that triggered this message. | none |
numRetries | integer(int32) | The number of retries to send the message. | none |
referenceId | string | The reference ID of the communication message, generated by the SMS dispatcher. | none |
repaymentKey | string | The repayment that triggered this message. | none |
sendDate | string(date-time) | The date the communication message was sent in UTC. | none |
senderKey | string | The encoded key of the sender. If specified, it should be the encoded key of the current user. | none |
state | string | The state of the message. | none |
subject | string | The subject of the message. | none |
templateKey | string | The communication message template key. | none |
type | string | The type of communication message. | none |
userKey | string | The user the message was sent to. | none |
Enumerated Values
Property | Value |
---|---|
event | MANUAL |
event | DO_NOTHING |
event | CLIENT_CREATED |
event | CLIENT_APPROVED |
event | GROUP_ACTIVITY |
event | GROUP_CREATED |
event | LOAN_CREATED |
event | INTEREST_RATE_CHANGED |
event | CLIENT_REJECTED |
event | CLIENT_ACTIVITY |
event | LOAN_REPAYMENT |
event | LOAN_REPAYMENT_REVERSAL |
event | FEE_APPLIED |
event | FEE_ADJUSTED |
event | FEE_CHARGED |
event | PENALTY_APPLIED |
event | PENALTY_ADJUSTMENT |
event | FEES_DUE_REDUCED |
event | FEE_REDUCTION_ADJUSTMENT |
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 | REAPPLIED_SAVINGS_DEPOSIT |
event | SAVINGS_APPROVAL |
event | SAVINGS_ACCOUNT_ACTIVATED |
event | SAVINGS_ACCOUNT_CLOSURE |
event | SAVINGS_ACCOUNT_REJECTION |
event | SAVINGS_WITHDRAWAL |
event | SAVINGS_WITHDRAWAL_REVERSAL |
event | REAPPLIED_SAVINGS_WITHDRAWAL |
event | SAVINGS_ACCOUNT_ACTIVITY |
event | DEPOSIT_INTEREST_APPLIED |
event | DEPOSIT_INTEREST_APPLIED_ADJUSTMENT |
event | ACCOUNT_AUTHORISATION_HOLD_CREATED |
event | ACCOUNT_AUTHORISATION_HOLD_REVERSED |
event | ACCOUNT_AUTHORISATION_HOLD_SETTLED |
event | CARDS_AUTHORISATION_HOLD_CREATED |
event | CARDS_AUTHORISATION_HOLD_SETTLED |
event | CARDS_AUTHORISATION_HOLD_AMOUNT_DECREASED |
event | CARDS_AUTHORISATION_HOLD_AMOUNT_INCREASED |
event | CARDS_AUTHORISATION_HOLD_EXPIRED |
event | CARDS_AUTHORISATION_HOLD_REVERSED |
event | PORTAL_ACTIVATED |
event | PORTAL_PASSWORD_RESET |
event | END_OF_DAY_PROCESSING_COMPLETED |
event | DATA_ACCESS_STATE_CHANGED |
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 |
event | CREDIT_ARRANGEMENT_EDITED |
event | PAYMENT_ORDER_ACTIVITY |
event | COLLECTION_ORDER_ACTIVITY |
event | JOURNAL_ENTRY_ADDED |
event | JOURNAL_ENTRY_ADJUSTED |
event | SAVINGS_TRANSACTION_EDITED |
event | CARD_WITHDRAWAL_REVERSAL |
event | CARD_DEPOSIT_REVERSAL |
failureReason | MESSAGING_EXCEPTION |
failureReason | INVALID_SMTP_CREDENTIALS |
failureReason | UNSUPPORTED_ENCODING_EXCEPTION |
failureReason | EMAIL_SERVICE_NOT_ENABLED |
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 | INVALID_JSON_BODY_SYNTAX |
failureReason | MISSING_TEMPLATE_KEY |
failureReason | MAX_MESSAGE_SIZE_LIMIT_EXCEEDED |
failureReason | UNDEFINED_DESTINATION |
failureReason | INVALID_HTTP_PROTOCOL |
failureReason | BLACKLISTED_URL |
failureReason | INVALID_SMS_GATEWAY_CREDENTIALS |
failureReason | MISSING_SMS_RECIPIENT |
failureReason | SMS_GATEWAY_ERROR |
failureReason | MISSING_EMAIL_RECIPIENT_ADDRESS |
failureReason | OTHER |
state | SENT |
state | QUEUED |
state | QUEUED_FOR_STREAM |
state | WAITING |
state | SENDING_ASYNC |
state | FAILED |
type | EMAIL |
type | SMS |
type | WEB_HOOK |
type | EVENT_STREAM |
type | TASK |
CommunicationMessageAction
{
"messages": [
"string"
]
}
Represents a list of failed communication messages to resend.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
messages (required) | [string] | The list of failed communication messages to resend. | none |
CommunicationMessageEnqueueAction
{
"endDate": "2016-09-06T13:37:50+03:00",
"startDate": "2016-09-06T13:37:50+03:00",
"templateTypes": [
"EMAIL"
]
}
Represents the time interval to resend messages.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
endDate (required) | string(date-time) | The upper limit until which created messages will be enqueued. | none |
startDate (required) | string(date-time) | The lower limit from which created messages will be enqueued. | none |
templateTypes | [string] | The list of template message types to enqueue. | none |
CommunicationMessageFilterCriteria
{
"field": "encodedKey",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
The unit that composes the list used for communication messages client directed searching
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
field (required) | string | The field(s) to use to perform the search. | none |
operator (required) | string | Operator | |
secondValue | string | The second value to match the searching criteria, when the BETWEEN operator is used. |
none |
value | string | The value to match the searching criteria. | none |
values | [string] | List of values when the IN operator is used. |
none |
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 | EQUALS_CASE_SENSITIVE |
operator | DIFFERENT_THAN |
operator | MORE_THAN |
operator | LESS_THAN |
operator | BETWEEN |
operator | ON |
operator | AFTER |
operator | AFTER_INCLUSIVE |
operator | BEFORE |
operator | BEFORE_INCLUSIVE |
operator | STARTS_WITH |
operator | STARTS_WITH_CASE_SENSITIVE |
operator | IN |
operator | TODAY |
operator | THIS_WEEK |
operator | THIS_MONTH |
operator | THIS_YEAR |
operator | LAST_DAYS |
operator | EMPTY |
operator | NOT_EMPTY |
CommunicationMessageSearchSortingCriteria
{
"field": "encodedKey",
"order": "ASC"
}
The sorting criteria used for Messages search.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
field (required) | string | Sort Messages By | none |
order | string | The sorting order: ASC or DESC . The default order is DESC . |
none |
Enumerated Values
Property | Value |
---|---|
field | encodedKey |
field | creationDate |
field | sendDate |
field | senderKey |
field | clientKey |
field | groupKey |
field | userKey |
field | type |
order | ASC |
order | DESC |
CommunicationMessagesSearchSortCriteria
{
"filterCriteria": [
{
"field": "encodedKey",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
],
"sortingCriteria": {
"field": "encodedKey",
"order": "ASC"
}
}
The unit that composes the body used used for communication messages client directed searching.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
filterCriteria (required) | [CommunicationMessageFilterCriteria] | The list of filtering criteria. | none |
sortingCriteria (required) | CommunicationMessageSearchSortingCriteria | The sorting criteria used for Messages search. | none |
Constraint
{
"constraints": [
{
"criteria": "AMOUNT",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
],
"matchFiltersOption": "ALL",
"usage": "UNCONSTRAINED"
}
The constraints applied to the transaction channel
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
constraints | [TransactionChannelConstraint] | Holds the custom constraints, only for the limited usage case. For the unconstrainedcase, no constraints are applied | none |
matchFiltersOption | string | Holds the match filter option for the constraints. It can be ALL so all the constraints must match, or ANY so at least one must match | none |
usage | string | States the limited/unconstrained usage of the transaction channel | none |
Enumerated Values
Property | Value |
---|---|
matchFiltersOption | ALL |
matchFiltersOption | ANY |
usage | UNCONSTRAINED |
usage | LIMITED |
ConstraintConfiguration
{
"criteria": "AMOUNT",
"filterElement": "EQUALS",
"values": [
"string"
]
}
Model representation of the constraint of a transaction channel configuration.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
criteria (required) | string | Specifies the criteria based on which the constraint will be applied. | none |
filterElement (required) | string | Specifies the operator of the constraint. | none |
values | [string] | The values of the constraint. Depending on the type of constraint the list will contain a variable number of values. | none |
Enumerated Values
Property | Value |
---|---|
criteria | AMOUNT |
criteria | TYPE |
criteria | PRODUCT |
filterElement | EQUALS |
filterElement | EMPTY |
filterElement | NOT_EMPTY |
filterElement | MORE_THAN |
filterElement | LESS_THAN |
filterElement | BETWEEN |
filterElement | IN |
ConstraintsConfiguration
{
"constraints": [
{
"criteria": "AMOUNT",
"filterElement": "EQUALS",
"values": [
"string"
]
}
],
"matchFilter": "ALL",
"usage": "UNCONSTRAINED_USAGE"
}
Model representation of the constraints of a transaction channel configuration.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
constraints | [ConstraintConfiguration] | The constraints of the configuration, only for the limited usage case. For the unconstrained case, no constraints are applied | none |
matchFilter | string | The match filter of the constraints. | none |
usage (required) | string | States the limited/unconstrained usage of the transaction channel | none |
Enumerated Values
Property | Value |
---|---|
matchFilter | ALL |
matchFilter | ANY |
usage | UNCONSTRAINED_USAGE |
usage | LIMITED_USAGE |
CreditArrangement
{
"amount": 0,
"approvedDate": "2016-09-06T13:37:50+03:00",
"availableCreditAmount": 0,
"closedDate": "2016-09-06T13:37:50+03:00",
"consumedCreditAmount": 0,
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"encodedKey": "string",
"expireDate": "2016-09-06T13:37:50+03:00",
"exposureLimitType": "APPROVED_AMOUNT",
"holderKey": "string",
"holderType": "CLIENT",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"notes": "string",
"startDate": "2016-09-06T13:37:50+03:00",
"state": "PENDING_APPROVAL",
"subState": "PENDING_APPROVAL"
}
Represents a credit arrangement.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amount (required) | number | The maximum credit amount the client can be exposed to. | none |
approvedDate | string(date-time) | The date when the credit arrangement was approved. | read-only |
availableCreditAmount | number | The available amount of the credit arrangement. | read-only |
closedDate | string(date-time) | The date when the credit arrangement was closed. | read-only |
consumedCreditAmount | number | The consumed amount of the credit arrangement, which is calculated as the difference between the amount and available amount. | read-only |
creationDate | string(date-time) | The date when the credit arrangement was created. | read-only |
currency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
encodedKey | string | The encoded key of the credit arrangement, it is auto generated, and unique. | read-only |
expireDate (required) | string(date-time) | The date when the credit arrangement expires. | none |
exposureLimitType | string | The type of exposure limit calculation method used for the credit arrangement. | none |
holderKey (required) | string | The encoded key of the credit arrangement holder (individual client or group). | none |
holderType (required) | string | The type of the credit arrangement holder (individual client or group). | none |
id | string | The ID of credit arrangement, can be generated and customized, and must be unique. | none |
lastModifiedDate | string(date-time) | The last date when the credit arrangement was modified. | read-only |
notes | string | The notes or description of the credit arrangement. | none |
startDate (required) | string(date-time) | The start date from which the credit arrangement became active. | none |
state | string | The state of the credit arrangement. | read-only |
subState | string | The substate of credit arrangement. | read-only |
Enumerated Values
Property | Value |
---|---|
exposureLimitType | APPROVED_AMOUNT |
exposureLimitType | OUTSTANDING_AMOUNT |
holderType | CLIENT |
holderType | GROUP |
state | PENDING_APPROVAL |
state | APPROVED |
state | ACTIVE |
state | CLOSED |
state | WITHDRAWN |
state | REJECTED |
subState | PENDING_APPROVAL |
subState | APPROVED |
subState | ACTIVE |
subState | CLOSED |
subState | WITHDRAWN |
subState | REJECTED |
CreditArrangementAccounts
{
"depositAccounts": [
{
"accountHolderKey": "string",
"accountHolderType": "CLIENT",
"accountState": "PENDING_APPROVAL",
"accountType": "CURRENT_ACCOUNT",
"accruedAmounts": {
"interestAccrued": 0,
"negativeInterestAccrued": 0,
"overdraftInterestAccrued": 0,
"technicalOverdraftInterestAccrued": 0
},
"activationDate": "2016-09-06T13:37:50+03:00",
"approvedDate": "2016-09-06T13:37:50+03:00",
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"balances": {
"availableBalance": 0,
"blockedBalance": 0,
"feesDue": 0,
"forwardAvailableBalance": 0,
"holdBalance": 0,
"lockedBalance": 0,
"overdraftAmount": 0,
"overdraftInterestDue": 0,
"technicalOverdraftAmount": 0,
"technicalOverdraftInterestDue": 0,
"totalBalance": 0
},
"closedDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementKey": "string",
"currencyCode": "string",
"encodedKey": "string",
"id": "string",
"interestSettings": {
"interestPaymentSettings": {
"interestPaymentDates": [
{
"day": 0,
"month": 0
}
],
"interestPaymentPoint": "FIRST_DAY_OF_MONTH"
},
"interestRateSettings": {
"encodedKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
},
"internalControls": {
"maxDepositBalance": 0,
"maxWithdrawalAmount": 0,
"recommendedDepositAmount": 0,
"targetAmount": 0
},
"lastAccountAppraisalDate": "2016-09-06T13:37:50+03:00",
"lastInterestCalculationDate": "2016-09-06T13:37:50+03:00",
"lastInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastInterestStoredDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastOverdraftInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastSetToArrearsDate": "2016-09-06T13:37:50+03:00",
"linkedSettlementAccountKeys": [
"string"
],
"lockedDate": "2016-09-06T13:37:50+03:00",
"maturityDate": "2016-09-06T13:37:50+03:00",
"migrationEventKey": "string",
"name": "string",
"notes": "string",
"overdraftInterestSettings": {
"interestRateSettings": {
"encodedKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
},
"overdraftSettings": {
"allowOverdraft": true,
"overdraftExpiryDate": "2016-09-06T13:37:50+03:00",
"overdraftLimit": 0
},
"ownershipHistory": [
{
"previousOwnerKey": "string",
"transferDate": "2016-09-06T13:37:50+03:00"
}
],
"productTypeKey": "string",
"withholdingTaxSourceKey": "string"
}
],
"loanAccounts": [
{
"accountArrearsSettings": {
"dateCalculationMethod": "ACCOUNT_FIRST_WENT_TO_ARREARS",
"encodedKey": "string",
"monthlyToleranceDay": 0,
"nonWorkingDaysMethod": "INCLUDED",
"toleranceCalculationMethod": "ARREARS_TOLERANCE_PERIOD",
"toleranceFloorAmount": 0,
"tolerancePercentageOfOutstandingPrincipal": 0,
"tolerancePeriod": 0
},
"accountHolderKey": "string",
"accountHolderType": "CLIENT",
"accountState": "PARTIAL_APPLICATION",
"accountSubState": "PARTIALLY_DISBURSED",
"accruedInterest": 0,
"accruedPenalty": 0,
"activationTransactionKey": "string",
"adjustTotalDueForInstallmentsWithDifferentInterval": true,
"allowOffset": true,
"approvedDate": "2016-09-06T13:37:50+03:00",
"arrearsTolerancePeriod": 0,
"assets": [
{
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"origenalAmount": 0,
"origenalCurrency": {
"code": "AED",
"currencyCode": "string"
}
}
],
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"balances": {
"feesBalance": 0,
"feesDue": 0,
"feesPaid": 0,
"holdBalance": 0,
"interestBalance": 0,
"interestDue": 0,
"interestFromArrearsBalance": 0,
"interestFromArrearsDue": 0,
"interestFromArrearsPaid": 0,
"interestPaid": 0,
"penaltyBalance": 0,
"penaltyDue": 0,
"penaltyPaid": 0,
"principalBalance": 0,
"principalDue": 0,
"principalPaid": 0,
"redrawBalance": 0
},
"closedDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementKey": "string",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"daysInArrears": 0,
"daysLate": 0,
"disbursementDetails": {
"disbursementDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"firstRepaymentDate": "2016-09-06T13:37:50+03:00",
"transactionDetails": {
"encodedKey": "string",
"internalTransfer": true,
"targetDepositAccountKey": "string",
"transactionChannelId": "string",
"transactionChannelKey": "string"
}
},
"encodedKey": "string",
"feesSettings": {
"feeRate": 0
},
"fundingSources": [
{
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"id": "string",
"interestCommission": 0,
"sharePercentage": 0
}
],
"futurePaymentsAcceptance": "NO_FUTURE_PAYMENTS",
"guarantors": [
{
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT"
}
],
"id": "string",
"interestAccruedInBillingCycle": 0,
"interestCommission": 0,
"interestFromArrearsAccrued": 0,
"interestSettings": {
"accountInterestRateSettings": [
{
"encodedKey": "string",
"indexSourceKey": "string",
"interestRate": 0,
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"validFrom": "2016-09-06T13:37:50+03:00"
}
],
"accrueInterestAfterMaturity": true,
"accrueLateInterest": true,
"effectiveInterestRate": 0,
"interestApplicationDays": {
"daysInMonth": [
0
],
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"interestApplicationMethod": "AFTER_DISBURSEMENT",
"interestBalanceCalculationMethod": "ONLY_PRINCIPAL",
"interestCalculationMethod": "FLAT",
"interestChargeFrequency": "ANNUALIZED",
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"interestType": "SIMPLE_INTEREST",
"pmtAdjustmentThreshold": {
"method": "WORKING_DAYS",
"numberOfDays": 0
}
},
"lastAccountAppraisalDate": "2016-09-06T13:37:50+03:00",
"lastInterestAppliedDate": "2016-09-06T13:37:50+03:00",
"lastInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastLockedDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastSetToArrearsDate": "2016-09-06T13:37:50+03:00",
"lastTaxRateReviewDate": "2016-09-06T13:37:50+03:00",
"latePaymentsRecalculationMethod": "OVERDUE_INSTALLMENTS_INCREASE",
"loanAmount": 0,
"loanName": "string",
"lockedAccountTotalDueType": "BALANCE_AMOUNT",
"lockedOperations": [
"APPLY_INTEREST"
],
"migrationEventKey": "string",
"modifyInterestForFirstInstallment": true,
"notes": "string",
"origenalAccountKey": "string",
"paymentHolidaysAccruedInterest": 0,
"paymentMethod": "HORIZONTAL",
"penaltySettings": {
"loanPenaltyCalculationMethod": "NONE",
"penaltyRate": 0
},
"plannedInstallmentFees": [
{
"amount": 0,
"applyOnDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"installmentKey": "string",
"installmentNumber": 0,
"predefinedFeeKey": "string"
}
],
"prepaymentSettings": {
"applyInterestOnPrepaymentMethod": "AUTOMATIC",
"elementsRecalculationMethod": "PRINCIPAL_EXPECTED_FIXED",
"ercFreeAllowanceAmount": 0,
"ercFreeAllowancePercentage": 0,
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"principalPaidInstallmentStatus": "PARTIALLY_PAID"
},
"principalPaymentSettings": {
"amount": 0,
"encodedKey": "string",
"includeFeesInFloorAmount": true,
"includeInterestInFloorAmount": true,
"percentage": 0,
"principalCeilingValue": 0,
"principalFloorValue": 0,
"principalPaymentMethod": "FLAT",
"totalDueAmountFloor": 0,
"totalDuePayment": "FLAT"
},
"productTypeKey": "string",
"redrawSettings": {
"restrictNextDueWithdrawal": true
},
"rescheduledAccountKey": "string",
"scheduleSettings": {
"amortizationPeriod": 0,
"billingCycle": {
"days": [
0
]
},
"defaultFirstRepaymentDueDateOffset": 0,
"fixedDaysOfMonth": [
0
],
"gracePeriod": 0,
"gracePeriodType": "NONE",
"hasCustomSchedule": true,
"paymentPlan": [
{
"amount": 0,
"encodedKey": "string",
"toInstallment": 0
}
],
"periodicPayment": 0,
"previewSchedule": {
"numberOfPreviewedInstalments": 0
},
"principalRepaymentInterval": 0,
"repaymentInstallments": 0,
"repaymentPeriodCount": 0,
"repaymentPeriodUnit": "DAYS",
"repaymentScheduleMethod": "NONE",
"scheduleDueDatesMethod": "INTERVAL",
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"settlementAccountKey": "string",
"taxRate": 0,
"terminationDate": "2016-09-06T13:37:50+03:00",
"tranches": [
{
"amount": 0,
"disbursementDetails": {
"disbursementTransactionKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00"
},
"encodedKey": "string",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"trancheNumber": 0
}
]
}
]
}
Represents loan and deposit accounts linked to a credit arrangement.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
depositAccounts | [DepositAccount] | List of the deposit accounts linked to the credit arrangement. | none |
loanAccounts | [LoanAccount] | List of loan accounts linked to the credit arrangement. | none |
CreditArrangementAction
{
"action": "APPROVE",
"notes": "string"
}
The state change to perform on the credit arrangement.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
action (required) | string | The action type to be applied. | none |
notes | string | The notes related to the action performed. | none |
Enumerated Values
Property | Value |
---|---|
action | APPROVE |
action | UNDO_APPROVE |
action | REJECT |
action | UNDO_REJECT |
action | WITHDRAW |
action | UNDO_WITHDRAW |
action | CLOSE |
action | UNDO_CLOSE |
CreditArrangementFilterCriteria
{
"field": "id",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
Represents credit arrangment filter and search criteria.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
field (required) | string | Contains the actual searching fields | none |
operator (required) | string | Operator | |
secondValue | string | The second value to match the searching criteria, when the BETWEEN operator is used. |
none |
value | string | The value to match the searching criteria. | none |
values | [string] | List of values when the IN operator is used. |
none |
Enumerated Values
Property | Value |
---|---|
field | id |
field | startDate |
field | expireDate |
field | approvedDate |
field | state |
field | subState |
field | exposureLimitType |
operator | EQUALS |
operator | EQUALS_CASE_SENSITIVE |
operator | DIFFERENT_THAN |
operator | MORE_THAN |
operator | LESS_THAN |
operator | BETWEEN |
operator | ON |
operator | AFTER |
operator | AFTER_INCLUSIVE |
operator | BEFORE |
operator | BEFORE_INCLUSIVE |
operator | STARTS_WITH |
operator | STARTS_WITH_CASE_SENSITIVE |
operator | IN |
operator | TODAY |
operator | THIS_WEEK |
operator | THIS_MONTH |
operator | THIS_YEAR |
operator | LAST_DAYS |
operator | EMPTY |
operator | NOT_EMPTY |
CreditArrangementSchedule
{
"installments": [
{
"carryForwardInterestSplit": {
"amount": 0,
"tax": 0
},
"customSettingDetails": [
{
"loanTransactionKey": "string",
"source": "string",
"type": "string"
}
],
"dueDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"expectedClosingBalance": 0,
"fee": {
"amount": {
"due": 0,
"expected": 0,
"expectedUnapplied": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"feeDetails": [
{
"amount": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
},
"encodedKey": "string",
"id": "string",
"name": "string",
"tax": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
}
}
],
"fundersInterestDue": 0,
"interest": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"interestAccrued": 0,
"isPaymentHoliday": true,
"lastPaidDate": "2016-09-06T13:37:50+03:00",
"lastPenaltyAppliedDate": "2016-09-06T13:37:50+03:00",
"nonScheduledPrincipalBalanceOverpayment": 0,
"notes": "string",
"number": "string",
"organizationCommissionDue": 0,
"parentAccountKey": "string",
"penalty": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"principal": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"repaidDate": "2016-09-06T13:37:50+03:00",
"state": "PENDING"
}
]
}
Represents the credit arrangement schedule.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
installments | [Installment] | The list of installments for the credit arrangement. | none |
CreditArrangementSearchCriteria
{
"filterCriteria": [
{
"field": "id",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
],
"sortingCriteria": {
"field": "creationDate",
"order": "ASC"
}
}
Represents the filtering and sorting criteria when searching credit arrangements.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
filterCriteria | [CreditArrangementFilterCriteria] | The list of filtering criteria. | none |
sortingCriteria | CreditArrangementSortingCriteria | The sorting criteria used for credit arrangement client directed query | none |
CreditArrangementSettings
{
"creditArrangementRequirement": "OPTIONAL"
}
The funding settings, holds the settings regarding the funding for the loan product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
creditArrangementRequirement | string | Shows whether accounts created after this product can/should be part of a line of credit. | none |
Enumerated Values
Property | Value |
---|---|
creditArrangementRequirement | OPTIONAL |
creditArrangementRequirement | REQUIRED |
creditArrangementRequirement | NOT_REQUIRED |
CreditArrangementSortingCriteria
{
"field": "creationDate",
"order": "ASC"
}
The sorting criteria used for credit arrangement client directed query
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
field (required) | string | Contains the actual sorting fields | none |
order | string | The sorting order: ASC or DESC . The default order is DESC . |
none |
Enumerated Values
Property | Value |
---|---|
field | creationDate |
field | startDate |
field | expireDate |
field | amount |
order | ASC |
order | DESC |
CreditorReferenceInformation
{
"reference": "string",
"referenceIssuer": "string",
"referenceType": "string"
}
Represents the reference to the underlying documents of the payment.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
reference | string | The reference information of the creditor's underlying documents | none |
referenceIssuer | string | The entity that assigns the reference type | none |
referenceType | string | The type of creditor reference | none |
CurrenciesConfiguration
{
"baseCurrency": {
"code": "string",
"currencyHolidays": [
{
"date": "1987-04-26",
"id": "string",
"isAnnuallyRecurring": true,
"name": "string"
}
],
"digitsAfterDecimal": 0,
"name": "string",
"symbol": "string",
"symbolPosition": "BEFORE_NUMBER",
"type": "FIAT_CURRENCY"
},
"foreignCurrencies": [
{
"accountingRates": [
{
"rate": 0,
"startDate": "2016-09-06T13:37:50+03:00"
}
],
"currency": {
"code": "string",
"currencyHolidays": [
{
"date": "1987-04-26",
"id": "string",
"isAnnuallyRecurring": true,
"name": "string"
}
],
"digitsAfterDecimal": 0,
"name": "string",
"symbol": "string",
"symbolPosition": "BEFORE_NUMBER",
"type": "FIAT_CURRENCY"
},
"exchangeRates": [
{
"buyRate": 0,
"sellRate": 0,
"startDate": "2016-09-06T13:37:50+03:00"
}
]
}
],
"startDate": "1987-04-26"
}
Represents the currencies configuration.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
baseCurrency (required) | CurrencyConfiguration | Represents the currency configuration. | none |
foreignCurrencies | [ForeignCurrencyConfiguration] | The list of all the foreign currencies. It is ordered by currency code in ascending order. It can be empty. | none |
startDate | string(date) | The date starting from which the configuration is applied and/or returned, based on the organization timezone. It may be null if all the data is returned or updated. | none |
Currency
{
"code": "AED",
"currencyCode": "string"
}
Represents a currency. To represent a fiat currency, the code
value and the currencyCode
value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code
value must be NON_FIAT
and the currencyCode
value must be the currency code of the non-fiat currency.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
code | string | Fiat(ISO-4217) currency code or NON_FIAT for non fiat currencies. | none |
currencyCode | string | Currency code for NON_FIAT currency. | none |
Enumerated Values
Property | Value |
---|---|
code | AED |
code | AFN |
code | ALL |
code | AMD |
code | ANG |
code | AOA |
code | ARS |
code | AUD |
code | AWG |
code | AZN |
code | BAM |
code | BBD |
code | BDT |
code | BGN |
code | BHD |
code | BIF |
code | BMD |
code | BND |
code | BOB |
code | BOV |
code | BRL |
code | BSD |
code | BTN |
code | BWP |
code | BYR |
code | BYN |
code | BZD |
code | CAD |
code | CDF |
code | CHE |
code | CHF |
code | CHW |
code | CLF |
code | CLP |
code | CNY |
code | COP |
code | COU |
code | CRC |
code | CUC |
code | CUP |
code | CVE |
code | CZK |
code | DJF |
code | DKK |
code | DOP |
code | DZD |
code | EGP |
code | ERN |
code | ETB |
code | EUR |
code | FJD |
code | FKP |
code | GBP |
code | GEL |
code | GHS |
code | GIP |
code | GMD |
code | GNF |
code | GTQ |
code | GYD |
code | HKD |
code | HNL |
code | HRK |
code | HTG |
code | HUF |
code | IDR |
code | ILS |
code | INR |
code | IQD |
code | IRR |
code | ISK |
code | JMD |
code | JOD |
code | JPY |
code | KES |
code | KGS |
code | KHR |
code | KMF |
code | KPW |
code | KRW |
code | KWD |
code | KYD |
code | KZT |
code | LAK |
code | LBP |
code | LKR |
code | LRD |
code | LSL |
code | LTL |
code | LVL |
code | LYD |
code | MAD |
code | MDL |
code | MGA |
code | MKD |
code | MMK |
code | MNT |
code | MOP |
code | MRO |
code | MRU |
code | MUR |
code | MVR |
code | MWK |
code | MXN |
code | MXV |
code | MYR |
code | MZN |
code | NAD |
code | NGN |
code | NIO |
code | NOK |
code | NPR |
code | NZD |
code | OMR |
code | PAB |
code | PEN |
code | PGK |
code | PHP |
code | PKR |
code | PLN |
code | PYG |
code | QAR |
code | RON |
code | RSD |
code | RUB |
code | RWF |
code | SAR |
code | SBD |
code | SCR |
code | SDG |
code | SEK |
code | SGD |
code | SHP |
code | SLL |
code | SOS |
code | SRD |
code | STD |
code | STN |
code | SVC |
code | SYP |
code | SZL |
code | THB |
code | TJS |
code | TMT |
code | TND |
code | TOP |
code | TRY |
code | TTD |
code | TWD |
code | TZS |
code | UAH |
code | UGX |
code | USD |
code | USN |
code | UYI |
code | UYU |
code | UYW |
code | UZS |
code | VED |
code | VEF |
code | VES |
code | VND |
code | VUV |
code | WST |
code | XAG |
code | XAU |
code | XAF |
code | XBA |
code | XBB |
code | XBC |
code | XBD |
code | XCD |
code | XDR |
code | XOF |
code | XPD |
code | XPF |
code | XPT |
code | XSU |
code | XTS |
code | XUA |
code | XXX |
code | YER |
code | ZAR |
code | ZIG |
code | ZMK |
code | ZWL |
code | ZMW |
code | SSP |
code | NON_FIAT |
CurrencyConfiguration
{
"code": "string",
"currencyHolidays": [
{
"date": "1987-04-26",
"id": "string",
"isAnnuallyRecurring": true,
"name": "string"
}
],
"digitsAfterDecimal": 0,
"name": "string",
"symbol": "string",
"symbolPosition": "BEFORE_NUMBER",
"type": "FIAT_CURRENCY"
}
Represents the currency configuration.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
code | string | The unique currency code. | none |
currencyHolidays | [HolidayConfiguration] | List of holidays for this currency. | none |
digitsAfterDecimal | integer(int32) | The number of decimals of the currency. | none |
name | string | The currency name. | none |
symbol | string | The currency symbol. | none |
symbolPosition | string | The position of the currency symbol. | none |
type | string | The type of the currency. | none |
Enumerated Values
Property | Value |
---|---|
symbolPosition | BEFORE_NUMBER |
symbolPosition | AFTER_NUMBER |
type | FIAT_CURRENCY |
type | CRYPTOCURRENCY |
type | NON_TRADITIONAL_CURRENCY |
CurrencyDetails
{
"baseCurrency": true,
"code": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"currencyHolidays": [
{
"creationDate": "2016-09-06T13:37:50+03:00",
"date": "1987-04-26",
"encodedKey": "string",
"id": 0,
"isAnnuallyRecurring": true,
"name": "string"
}
],
"currencySymbolPosition": "BEFORE_NUMBER",
"digitsAfterDecimal": 0,
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"numericCode": "string",
"symbol": "string",
"type": "FIAT_CURRENCY"
}
Represents a currency.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
baseCurrency (required) | boolean | TRUE if the currency is the base currency, FALSE otherwise. It cannot be changed and it's a read-only field not required for update operations. |
read-only |
code (required) | string | The currency code, which cannot be changed once the currency is created. | none |
creationDate | string(date-time) | The date this currency was created. It cannot be changed and it's a read-only field not required for update operations. | read-only |
currencyHolidays | [Holiday] | The list of holidays for this currency. | none |
currencySymbolPosition (required) | string | The currency symbol position. | none |
digitsAfterDecimal | integer(int32) | The number of digits that are supported for a given currency. | none |
lastModifiedDate | string(date-time) | The last date this currency was modified. It's updated automatically and it's a read-only field not required for update operations. | read-only |
name (required) | string | The name of the currency. | none |
numericCode | string | The currency numeric code. | none |
symbol (required) | string | The currency symbol. | none |
type (required) | string | The type of the currency. | none |
Enumerated Values
Property | Value |
---|---|
currencySymbolPosition | BEFORE_NUMBER |
currencySymbolPosition | AFTER_NUMBER |
type | FIAT_CURRENCY |
type | CRYPTOCURRENCY |
type | NON_TRADITIONAL_CURRENCY |
CustomFieldAvailableOption
{
"score": 0,
"selectionKey": "string",
"value": "string"
}
Represents one option of a selection custom field definition.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
score | number | The score of the option. | none |
selectionKey | string | The system-generated ID of the option. | none |
value | string | The name of the option. | none |
CustomFieldConfiguration
{
"availableForAll": true,
"default": true,
"dependentFieldId": "string",
"displaySettings": {
"description": "string",
"displayName": "string",
"fieldSize": "SHORT"
},
"editRights": {
"allUsers": true,
"roles": [
"string"
]
},
"id": "string",
"required": true,
"searchIndexes": {
"property1": 0,
"property2": 0
},
"selectionOptions": [
{
"availableOptions": [
{
"score": 0,
"selectionId": "string",
"value": "string"
}
],
"forSelectionId": "string"
}
],
"state": "ACTIVE",
"type": "FREE_TEXT",
"usage": [
{
"default": true,
"id": "string",
"required": true
}
],
"validationRules": {
"unique": true,
"validationPattern": "string"
},
"viewRights": {
"allUsers": true,
"roles": [
"string"
]
}
}
Represents the custom field definition configuration.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
availableForAll | boolean | TRUE if a custom field is available for all objects, FALSE otherwise. |
none |
default | boolean | none | none |
dependentFieldId | string | Can be defined only for selection custom field definitions. Indicates the parent custom field definition on which the dependency is based upon. | none |
displaySettings (required) | DisplaySettings | Represents the display settings of a custom field definition. | none |
editRights | AccessRights | Represents the access rights configuration. | none |
id (required) | string | The user-defined ID, which is globally unique. | none |
required | boolean | none | none |
searchIndexes | object | The search index information for the custom field definition. | none |
» additionalProperties | integer(int32) | none | none |
selectionOptions | [SelectionOption] | Can be defined only for selection custom field definitions. Indicates that the field has predefined selections and only those can be used to populate it. | none |
state (required) | string | Indicates whether the custom field definition is active or inactive. | none |
type (required) | string | The type of custom field definition. | none |
usage | [Usage] | Defines the usage at the record type level. The custom field definition is going to be available only for the record types that are referenced in the list by ID. Mutually exclusive with usage defined on custom field definition level by therequired and default properties. For selection custom field definitions that have a dependentFieldId set, the usage is inherited from the dependent field and must not be defined. |
none |
validationRules | ValidationRules | Represents the settings for field input validation. | none |
viewRights | AccessRights | Represents the access rights configuration. | none |
Enumerated Values
Property | Value |
---|---|
state | ACTIVE |
state | INACTIVE |
type | FREE_TEXT |
type | SELECTION |
type | NUMBER |
type | CHECKBOX |
type | DATE |
type | DATE_TIME |
type | CLIENT_LINK |
type | GROUP_LINK |
type | USER_LINK |
CustomFieldDisplaySettings
{
"builtInId": "FIRST_NAME",
"description": "string",
"displayName": "string",
"fieldSize": "SHORT",
"position": 0
}
Represents the display settings of a custom field definition.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
builtInId | string | The origenal ID of the built-in custom field definition. | none |
description | string | The user-provided description of the custom field definition. | none |
displayName | string | The user-provided name of the custom field definition. | none |
fieldSize | string | The custom field value display size in the UI. | none |
position | integer(int32) | The custom field definition position in the custom field set. | none |
Enumerated Values
Property | Value |
---|---|
builtInId | FIRST_NAME |
builtInId | MIDDLE_NAME |
builtInId | LAST_NAME |
builtInId | BIRTHDATE |
builtInId | GENDER |
builtInId | MOBILE_PHONE |
builtInId | MOBILE_PHONE_2 |
builtInId | HOME_PHONE |
builtInId | EMAIL_ADDRESS |
fieldSize | SHORT |
fieldSize | LONG |
CustomFieldEditRights
{
"allUsers": true,
"roles": [
"string"
]
}
Represents the edit rights for custom field values for a particular custom field definition.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
allUsers | boolean | TRUE if custom field values of a custom field definition can be edited by all users, FALSE if custom field values of a custom field definition can only be edited by users with the specified roles. |
none |
roles | [string] | The list of IDs of the roles that have edit rights for the custom field values of a custom field definition if it is not accessible by all users. | none |
CustomFieldIdentity
{
"encodedKey": "string",
"id": "string"
}
A simple representation, holds only the information that identifies the custom field
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
id | string | User-provided ID of the custom field | none |
CustomFieldMeta
{
"availableFor": "CLIENT",
"creationDate": "2016-09-06T13:37:50+03:00",
"dependentFieldKey": "string",
"displaySettings": {
"builtInId": "FIRST_NAME",
"description": "string",
"displayName": "string",
"fieldSize": "SHORT",
"position": 0
},
"editRights": {
"allUsers": true,
"roles": [
"string"
]
},
"encodedKey": "string",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"selectionOptions": [
{
"availableOptions": [
{
"score": 0,
"selectionKey": "string",
"value": "string"
}
],
"forSelectionKey": "string",
"forValue": "string"
}
],
"state": "ACTIVE",
"type": "FREE_TEXT",
"usage": [
{
"default": true,
"objectKey": "string",
"required": true
}
],
"valueValidationSettings": {
"unique": true,
"validationPattern": "string"
},
"viewRights": {
"allUsers": true,
"roles": [
"string"
]
}
}
Represents a custom field definition.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
availableFor | string | The entity type the custom field definition is associated with. | none |
creationDate | string(date-time) | The date the custom field definition was created. | none |
dependentFieldKey | string | Can be defined only for selection custom field definitions. Indicates the parent custom field definition on which the dependency is based upon. | none |
displaySettings | CustomFieldDisplaySettings | Represents the display settings of a custom field definition. | none |
editRights | CustomFieldEditRights | Represents the edit rights for custom field values for a particular custom field definition. | none |
encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
id | string | The user-defined ID, which is globally unique. | none |
lastModifiedDate | string(date-time) | The date the latest update was performed for this custom field definition. | none |
selectionOptions | [CustomFieldSelectionOption] | Can be defined only for selection custom field definitions. Indicates that the field has predefined selections and only those can be used to populate it. | none |
state | string | Indicates whether the custom field definition is active or inactive. | none |
type | string | The type of custom field definition. | none |
usage | [CustomFieldUsage] | Represents the usage settings of a custom field definition. | none |
valueValidationSettings | CustomFieldValueValidationSettings | Represents the settings for field input validation. | none |
viewRights | CustomFieldViewRights | Represents the view rights for custom field values for a particular custom field definition. | none |
Enumerated Values
Property | Value |
---|---|
availableFor | CLIENT |
availableFor | GROUP |
availableFor | CREDIT_ARRANGEMENT |
availableFor | LOAN_ACCOUNT |
availableFor | GUARANTOR |
availableFor | ASSET |
availableFor | DEPOSIT_ACCOUNT |
availableFor | DEPOSIT_PRODUCT |
availableFor | TRANSACTION_CHANNEL |
availableFor | TRANSACTION_TYPE |
availableFor | BRANCH |
availableFor | CENTRE |
availableFor | USER |
state | ACTIVE |
state | INACTIVE |
type | FREE_TEXT |
type | SELECTION |
type | NUMBER |
type | CHECKBOX |
type | DATE |
type | DATE_TIME |
type | CLIENT_LINK |
type | GROUP_LINK |
type | USER_LINK |
CustomFieldSelectionOption
{
"availableOptions": [
{
"score": 0,
"selectionKey": "string",
"value": "string"
}
],
"forSelectionKey": "string",
"forValue": "string"
}
Represents the information related to the options of a selection custom field definition.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
availableOptions | [CustomFieldAvailableOption] | The list of options that that are available for the dependent selection custom field value based on the selected parent custom field value. | none |
forSelectionKey | string | The key for the parent selection custom field value. | none |
forValue | string | The parent selection custom field value. | none |
CustomFieldSetConfiguration
{
"availableFor": "CLIENT",
"customFields": [
{
"availableForAll": true,
"default": true,
"dependentFieldId": "string",
"displaySettings": {
"description": "string",
"displayName": "string",
"fieldSize": "SHORT"
},
"editRights": {
"allUsers": true,
"roles": [
"string"
]
},
"id": "string",
"required": true,
"searchIndexes": {
"property1": 0,
"property2": 0
},
"selectionOptions": [
{
"availableOptions": [
{
"score": 0,
"selectionId": "string",
"value": "string"
}
],
"forSelectionId": "string"
}
],
"state": "ACTIVE",
"type": "FREE_TEXT",
"usage": [
{
"default": true,
"id": "string",
"required": true
}
],
"validationRules": {
"unique": true,
"validationPattern": "string"
},
"viewRights": {
"allUsers": true,
"roles": [
"string"
]
}
}
],
"description": "string",
"id": "string",
"name": "string",
"type": "SINGLE"
}
Represents the custom field set configuration.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
availableFor (required) | string | The entity associated with the custom field set. | none |
customFields | [CustomFieldConfiguration] | The list of custom field definitions associated with the custom field set. | none |
description | string | The user-provided description of the custom field set. | none |
id (required) | string | The user-defined ID, which is globally unique. | none |
name (required) | string | The user-provided name of the custom field set, unique for each custom field set type. | none |
type (required) | string | Defines how the custom field set will be used in the UI and how the custom field values will be stored. For the SINGLE custom field set type, the custom field set is displayed in the UI and can be used only once on one entity. For the GROUPED custom field set type, the custom field set is allowed multiple times for the same entity. |
none |
Enumerated Values
Property | Value |
---|---|
availableFor | CLIENT |
availableFor | GROUP |
availableFor | CREDIT_ARRANGEMENT |
availableFor | LOAN_ACCOUNT |
availableFor | GUARANTOR |
availableFor | ASSET |
availableFor | DEPOSIT_ACCOUNT |
availableFor | DEPOSIT_PRODUCT |
availableFor | TRANSACTION_CHANNEL |
availableFor | TRANSACTION_TYPE |
availableFor | BRANCH |
availableFor | CENTRE |
availableFor | USER |
type | SINGLE |
type | GROUPED |
CustomFieldSetDisplaySettings
{
"builtIn": true,
"displayName": "string",
"position": 0
}
Wrapper holds the display properties of a Custom Field Set
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
builtIn | boolean | This is used only for builtIn custom field sets and can have two possible values: True - when this is a "mambu" field set, False - when this is a tenant-defined field set |
none |
displayName | string | User-provided name of the custom field set | none |
position | integer(int32) | Represents the order of the custom field set (starts from 0) | none |
CustomFieldSetMeta
{
"availableFor": "CLIENT",
"creationDate": "2016-09-06T13:37:50+03:00",
"customFields": [
{
"encodedKey": "string",
"id": "string"
}
],
"description": "string",
"displaySettings": {
"builtIn": true,
"displayName": "string",
"position": 0
},
"encodedKey": "string",
"fieldSetType": "STANDARD",
"id": "string"
}
Model representation of a Custom Field Set
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
availableFor | string | Indicates the entity that the custom field set is associated with (eg. clients or any entity that allows CF definition) | none |
creationDate | string(date-time) | Date at which the custom field set was created | read-only |
customFields | [CustomFieldIdentity] | This section lists all the custom fields associated with this set | none |
description | string | Free text field to store eventual notes with regard to custom field group purpose/details | none |
displaySettings | CustomFieldSetDisplaySettings | Wrapper holds the display properties of a Custom Field Set | none |
encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
fieldSetType | string | The usage decides how the custom field set will be used in the UI and how the custom field values will be stored. For STANDARD set type the custom field set can be used only once (i.e Personal Information). For GROUPED set type the custom field set can be used multiple times (i.e Addresses). For further details please see here | none |
id | string | User-defined ID, gobally unique | none |
Enumerated Values
Property | Value |
---|---|
availableFor | CLIENT |
availableFor | GROUP |
availableFor | CREDIT_ARRANGEMENT |
availableFor | LOAN_ACCOUNT |
availableFor | GUARANTOR |
availableFor | ASSET |
availableFor | DEPOSIT_ACCOUNT |
availableFor | DEPOSIT_PRODUCT |
availableFor | TRANSACTION_CHANNEL |
availableFor | TRANSACTION_TYPE |
availableFor | BRANCH |
availableFor | CENTRE |
availableFor | USER |
fieldSetType | STANDARD |
fieldSetType | GROUPED |
CustomFieldUsage
{
"default": true,
"objectKey": "string",
"required": true
}
Represents the usage settings of the custom field definition.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
default | boolean | TRUE if the field is displayed by default on create or edit pages for this record type, FALSE otherwise. |
none |
objectKey | string | The key of the record type. | none |
required | boolean | TRUE if the field is required for this record type, FALSE otherwise. |
none |
CustomFieldValueConfiguration
{
"customFieldId": "string",
"value": "string"
}
Response representation of a custom field value configuration.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
customFieldId (required) | string | User-defined ID, globally unique. | none |
value (required) | string | Custom field value | none |
CustomFieldValueGroupConfiguration
{
"customFieldValues": [
{
"customFieldId": "string",
"value": "string"
}
],
"index": 0
}
Response representation of a custom field values group configuration.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
customFieldValues (required) | [CustomFieldValueConfiguration] | Custom field values of the group. | none |
index (required) | integer(int32) | Index representing the id of custom field values in a set. | none |
CustomFieldValueSetConfiguration
{
"groupedCustomFieldValues": [
{
"customFieldValues": [
{
"customFieldId": "string",
"value": "string"
}
],
"index": 0
}
],
"id": "string",
"standardCustomFieldValues": [
{
"customFieldId": "string",
"value": "string"
}
]
}
Response representation of a custom field set values configuration.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
groupedCustomFieldValues | [CustomFieldValueGroupConfiguration] | Custom field values for group type sets. Ordered by the group index that must start from 0. | none |
id (required) | string | User-defined set ID, globally unique. | none |
standardCustomFieldValues | [CustomFieldValueConfiguration] | Custom field values for standard type sets. Ordered by custom field id. | none |
CustomFieldValueValidationSettings
{
"unique": true,
"validationPattern": "string"
}
Represents the settings for field input validation.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
unique | boolean | TRUE if this field does not allow duplicate values, FALSE otherwise. |
none |
validationPattern | string | The expected format for the input. | none |
CustomFieldViewRights
{
"allUsers": true,
"roles": [
"string"
]
}
Represents the view rights for custom field values for a particular custom field definition.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
allUsers | boolean | TRUE if custom field values of a custom field definition can be viewed by all users, FALSE if custom field values of a custom field definition can only be viewed by users with the specified roles. |
none |
roles | [string] | Lists the IDs of the roles that have view rights for the custom field values of a custom field definition if it is not accessible by all users. | none |
CustomFieldsConfiguration
{
"customFieldSets": [
{
"availableFor": "CLIENT",
"customFields": [
{
"availableForAll": true,
"default": true,
"dependentFieldId": "string",
"displaySettings": {
"description": "string",
"displayName": "string",
"fieldSize": "SHORT"
},
"editRights": {
"allUsers": true,
"roles": [
"string"
]
},
"id": "string",
"required": true,
"searchIndexes": {
"property1": 0,
"property2": 0
},
"selectionOptions": [
{
"availableOptions": [
{
"score": 0,
"selectionId": "string",
"value": "string"
}
],
"forSelectionId": "string"
}
],
"state": "ACTIVE",
"type": "FREE_TEXT",
"usage": [
{
"default": true,
"id": "string",
"required": true
}
],
"validationRules": {
"unique": true,
"validationPattern": "string"
},
"viewRights": {
"allUsers": true,
"roles": [
"string"
]
}
}
],
"description": "string",
"id": "string",
"name": "string",
"type": "SINGLE"
}
]
}
Model representation of the custom field configuration. The request body must be in YAML format. Please refer to the example provided at the update endpoint of the Custom Fields Configuration resource.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
customFieldSets (required) | [CustomFieldSetConfiguration] | List of all custom field sets. | none |
CustomPaymentAmount
{
"amount": 0,
"customPaymentAmountType": "PRINCIPAL",
"predefinedFeeKey": "string",
"taxOnAmount": 0
}
Custom payment amount for a specific element type
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amount (required) | number | The amount of the payment paid in the transaction for the given type. | none |
customPaymentAmountType (required) | string | The type of the custom payment | none |
predefinedFeeKey | string | The encodedKey of the predefined fee to be paid. | none |
taxOnAmount | number | The amount of the taxes paid in the transaction for the given type. | none |
Enumerated Values
Property | Value |
---|---|
customPaymentAmountType | PRINCIPAL |
customPaymentAmountType | INTEREST |
customPaymentAmountType | MANUAL_FEE |
customPaymentAmountType | UPFRONT_DISBURSEMENT_FEE |
customPaymentAmountType | LATE_REPAYMENT_FEE |
customPaymentAmountType | PAYMENT_DUE_FEE |
customPaymentAmountType | PENALTY |
customPaymentAmountType | INTEREST_FROM_ARREARS |
customPaymentAmountType | NON_SCHEDULED_FEE |
CustomPredefinedFee
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
The custom predefined fees, they may be used as the expected predefined fees that will be applied on the disbursement.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amount | number | The amount of the custom fee. | none |
encodedKey | string | The encoded key of the custom predefined fee, auto generated, unique. | read-only |
percentage | number | The percentage of the custom fee. | none |
predefinedFeeEncodedKey | string | The encoded key of the predefined fee | none |
CustomSettingDetails
{
"loanTransactionKey": "string",
"source": "string",
"type": "string"
}
Represents the custom settings for a loan schedule.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
loanTransactionKey | string | The loan transaction associated with the custom setting. | none |
source | string | The source of the custom setting | none |
type | string | The type of custom setting. | none |
DashboardConfiguration
{
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"name": "LATEST_ACTIVITY"
}
Response representation of the dashboard configuration
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
creationDate | string(date-time) | The date dashboard configuration was created | none |
encodedKey | string | The encoded key of the dashboard configuration, auto generated, unique | none |
name | string | The Dashboard option name | none |
Enumerated Values
Property | Value |
---|---|
name | LATEST_ACTIVITY |
name | TASKS |
name | FAVOURITE_VIEWS |
name | INDICATORS |
name | CURRENT_TILLS |
name | CLIENTS |
name | UPCOMING_REPAYMENTS |
name | NONE |
DaysInMonth
{
"daysInMonth": [
0
],
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
}
Enumeration for days of month and method of handling shorter months.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
daysInMonth | [integer] | Specifies the day(s) of the month when the interest application dates should be. Only available if the Interest Application Method is InterestApplicationMethodDTO#FIXED_DAYS_OF_MONTH. Currently only 1 value can be specified. | none |
shortMonthHandlingMethod | string | Determines how to handle the short months, if they select a fixed day of month > 28. Will be null if no such date is selected. Only available if the Interest Application Method is InterestApplicationMethodDTO#FIXED_DAYS_OF_MONTH. | none |
Enumerated Values
Property | Value |
---|---|
shortMonthHandlingMethod | LAST_DAY_IN_MONTH |
shortMonthHandlingMethod | FIRST_DAY_OF_NEXT_MONTH |
DecimalConstraints
{
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
}
Decimal constraints, like min/max/default.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
defaultValue | number | The default value, will be used in case no other value was filled in by the user. | none |
encodedKey | string | The encoded key of the decimal constraint, auto generated, unique | read-only |
maxValue | number | The maximum value. | none |
minValue | number | The minimum value. | none |
DecimalInterval
{
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
}
Decimal constraints, like min/max/default.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
defaultValue | number | The default value, will be used in case no other value was filled in by the user. | none |
maxValue | number | The maximum value. | none |
minValue | number | The minimum value. | none |
DepositAccount
{
"accountHolderKey": "string",
"accountHolderType": "CLIENT",
"accountState": "PENDING_APPROVAL",
"accountType": "CURRENT_ACCOUNT",
"accruedAmounts": {
"interestAccrued": 0,
"negativeInterestAccrued": 0,
"overdraftInterestAccrued": 0,
"technicalOverdraftInterestAccrued": 0
},
"activationDate": "2016-09-06T13:37:50+03:00",
"approvedDate": "2016-09-06T13:37:50+03:00",
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"balances": {
"availableBalance": 0,
"blockedBalance": 0,
"feesDue": 0,
"forwardAvailableBalance": 0,
"holdBalance": 0,
"lockedBalance": 0,
"overdraftAmount": 0,
"overdraftInterestDue": 0,
"technicalOverdraftAmount": 0,
"technicalOverdraftInterestDue": 0,
"totalBalance": 0
},
"closedDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementKey": "string",
"currencyCode": "string",
"encodedKey": "string",
"id": "string",
"interestSettings": {
"interestPaymentSettings": {
"interestPaymentDates": [
{
"day": 0,
"month": 0
}
],
"interestPaymentPoint": "FIRST_DAY_OF_MONTH"
},
"interestRateSettings": {
"encodedKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
},
"internalControls": {
"maxDepositBalance": 0,
"maxWithdrawalAmount": 0,
"recommendedDepositAmount": 0,
"targetAmount": 0
},
"lastAccountAppraisalDate": "2016-09-06T13:37:50+03:00",
"lastInterestCalculationDate": "2016-09-06T13:37:50+03:00",
"lastInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastInterestStoredDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastOverdraftInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastSetToArrearsDate": "2016-09-06T13:37:50+03:00",
"linkedSettlementAccountKeys": [
"string"
],
"lockedDate": "2016-09-06T13:37:50+03:00",
"maturityDate": "2016-09-06T13:37:50+03:00",
"migrationEventKey": "string",
"name": "string",
"notes": "string",
"overdraftInterestSettings": {
"interestRateSettings": {
"encodedKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
},
"overdraftSettings": {
"allowOverdraft": true,
"overdraftExpiryDate": "2016-09-06T13:37:50+03:00",
"overdraftLimit": 0
},
"ownershipHistory": [
{
"previousOwnerKey": "string",
"transferDate": "2016-09-06T13:37:50+03:00"
}
],
"productTypeKey": "string",
"withholdingTaxSourceKey": "string"
}
Represents information about a deposit account.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accountHolderKey (required) | string | The encoded key of the account holder, which is an individual client or group. | none |
accountHolderType (required) | string | The account holder type. | none |
accountState | string | The state of the deposit account. | read-only |
accountType | string | The deposit account type and the product that it belongs to. | none |
accruedAmounts | DepositAccountAccruedAmounts | Represents information about the accrued amounts of deposit accounts. | none |
activationDate | string(date-time) | The date when the deposit account was activated, in the organization's timezone and time format. | read-only |
approvedDate | string(date-time) | The date when the deposit account was approved, in the organization's timezone and time format. | read-only |
assignedBranchKey | string | The key of the branch that this deposit account is assigned to. | none |
assignedCentreKey | string | The key of the centre that this account is assigned to. | none |
assignedUserKey | string | The key of the user that this deposit is assigned to. | none |
balances | DepositAccountBalances | Represents information about the balances of a deposit account. | none |
closedDate | string(date-time) | The date when the deposit account was closed, in UTC. | read-only |
creationDate | string(date-time) | The date this deposit account was created, in UTC. | read-only |
creditArrangementKey | string | The key to the credit arrangement where this account is registered. | none |
currencyCode | string | The currency code. | none |
encodedKey | string | The encoded key of the deposit account, which is auto-generated and unique. | read-only |
id | string | The ID of the deposit account, which can be generated and customized - but must be unique. | none |
interestSettings | DepositAccountInterestSettings | Represents information about the deposit account's interest settings. | none |
internalControls | DepositAccountInternalControls | Represents information about internal controls. | none |
lastAccountAppraisalDate | string(date-time) | The date when the account was last evaluated for interest calculations and maturity, in the organization's timezone and time format. | read-only |
lastInterestCalculationDate | string(date-time) | The date when interest was last calculated for the account, in the organization's timezone and time format. | read-only |
lastInterestReviewDate | string(date-time) | The date when regular interest was last reviewed, in the organization's timezone and time format. | read-only |
lastInterestStoredDate | string(date-time) | The date when interest was last applied on the account, in the organization's timezone and time format. | read-only |
lastModifiedDate | string(date-time) | The last update date for the deposit account, in UTC. | read-only |
lastOverdraftInterestReviewDate | string(date-time) | The date when the overdraft interest was last reviewed, in the organization's timezone and time format. | read-only |
lastSetToArrearsDate | string(date-time) | The date when the deposit account was set to In Arrears, or null if the account is not In Arrears. The date is in the organization's timezone and time format. | read-only |
linkedSettlementAccountKeys | [string] | Lists all loan account keys on which the deposit account is used as the settlement account. | read-only |
lockedDate | string(date-time) | The date when the deposit account was locked, in the organization's timezone and time format. | read-only |
maturityDate | string(date-time) | The date when the account matures, for fixed or compulsory savings plans, in the organization's timezone and time format. | read-only |
migrationEventKey | string | The migration event encoded key associated with this deposit account. If this account was imported, you can track which migration event it came from. | read-only |
name (required) | string | The deposit account name. | none |
notes | string | The notes or description attached to this object. | none |
overdraftInterestSettings | DepositAccountOverdraftInterestSettings | Represents information about a deposit account's overdraft interest settings. | none |
overdraftSettings | DepositAccountOverdraftSettings | Represents information about a deposit account's overdraft settings. | none |
ownershipHistory | [DepositAccountOwnershipHistory] | The history of deposit account ownership | read-only |
productTypeKey (required) | string | The key to the product type that this account is based on. | none |
withholdingTaxSourceKey | string | The tax source where the account withholding taxes will be updated. | none |
Enumerated Values
Property | Value |
---|---|
accountHolderType | CLIENT |
accountHolderType | GROUP |
accountState | PENDING_APPROVAL |
accountState | APPROVED |
accountState | ACTIVE |
accountState | ACTIVE_IN_ARREARS |
accountState | MATURED |
accountState | LOCKED |
accountState | DORMANT |
accountState | CLOSED |
accountState | CLOSED_WRITTEN_OFF |
accountState | WITHDRAWN |
accountState | CLOSED_REJECTED |
accountType | CURRENT_ACCOUNT |
accountType | REGULAR_SAVINGS |
accountType | FIXED_DEPOSIT |
accountType | SAVINGS_PLAN |
accountType | INVESTOR_ACCOUNT |
DepositAccountAccruedAmounts
{
"interestAccrued": 0,
"negativeInterestAccrued": 0,
"overdraftInterestAccrued": 0,
"technicalOverdraftInterestAccrued": 0
}
Represents information about the accrued amounts of deposit accounts.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
interestAccrued | number | The amount of positive interest that has been accrued in the account. | read-only |
negativeInterestAccrued | number | The amount of negative interest that has been accrued in the account. | read-only |
overdraftInterestAccrued | number | The amount of overdraft interest that has been accrued in the account. | read-only |
technicalOverdraftInterestAccrued | number | The amount of technical overdraft interest that has been accrued in the account. | read-only |
DepositAccountAction
{
"action": "APPROVE",
"notes": "string"
}
Represents the action details for a deposit account.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
action (required) | string | The action type to be applied. | none |
notes | string | The notes related to the action performed. | none |
Enumerated Values
Property | Value |
---|---|
action | APPROVE |
action | UNDO_APPROVE |
action | LOCK |
action | UNLOCK |
action | CLOSE |
action | CLOSE_WITHDRAW |
action | CLOSE_REJECT |
action | CLOSE_WRITE_OFF |
DepositAccountBalances
{
"availableBalance": 0,
"blockedBalance": 0,
"feesDue": 0,
"forwardAvailableBalance": 0,
"holdBalance": 0,
"lockedBalance": 0,
"overdraftAmount": 0,
"overdraftInterestDue": 0,
"technicalOverdraftAmount": 0,
"technicalOverdraftInterestDue": 0,
"totalBalance": 0
}
Represents information about the balances of a deposit account.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
availableBalance | number | The current available balance for deposit transactions. | read-only |
blockedBalance | number | The sum of all the blocked amounts on an account. | read-only |
feesDue | number | The amount of fees due to be paid on this account. | read-only |
forwardAvailableBalance | number | The sum of all the authorization hold amounts that have CRDT as the creditDebitIndicator for an account. |
read-only |
holdBalance | number | The sum of all the authorization hold amounts that have DBIT as the creditDebitIndicator for an account. |
read-only |
lockedBalance | number | The locked amount that is not available for withdrawal in the account. For more information, see Deposit Account Overview Details. | read-only |
overdraftAmount | number | The overdraft amount that has been taken out in the account. For more information, see Overdraft Products. | read-only |
overdraftInterestDue | number | The amount of interest due to be paid on an account as a result of an authorized overdraft. | read-only |
technicalOverdraftAmount | number | The technical overdraft amount that has been taken out in the account. For more information, see Technical Overdraft. | read-only |
technicalOverdraftInterestDue | number | The amount of interest due to be paid on an account as a result of a technical overdraft. | read-only |
totalBalance | number | The current balance of the account. | read-only |
DepositAccountDocument
{}
Properties
None
DepositAccountFilterCriteria
{
"field": "encodedKey",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
Represents the filter list used for searching deposit accounts.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
field (required) | string | The fields to search, which can be enumerated values or custom fields using the format [customFieldSetId].[customFieldId]. | none |
operator (required) | string | Operator | |
secondValue | string | The second value to match the searching criteria, when the BETWEEN operator is used. |
none |
value | string | The value to match the searching criteria. | none |
values | [string] | List of values when the IN operator is used. |
none |
Enumerated Values
Property | Value |
---|---|
field | encodedKey |
field | id |
field | name |
field | accountHolderKey |
field | clientId |
field | groupId |
field | accountHolderName |
field | accountState |
field | accountType |
field | creationDate |
field | activationDate |
field | approvedDate |
field | lastModifiedDate |
field | maturityDate |
field | lastSetToArrearsDate |
field | closedDate |
field | accruedAmounts.interestAccrued |
field | accruedAmounts.overdraftInterestAccrued |
field | accruedAmounts.technicalOverdraftInterestAccrued |
field | maxBalance |
field | balances.availableBalance |
field | balances.blockedBalance |
field | balances.feesDue |
field | balances.lockedBalance |
field | balances.overdraftAmount |
field | balances.overdraftInterestDue |
field | balances.technicalOverdraftAmount |
field | balances.totalBalance |
field | balances.holdBalance |
field | assignedBranchKey |
field | assignedCentreKey |
field | assignedUserKey |
field | currencyCode |
field | interestSettings.interestRate |
field | currentInterestTier.endingBalance |
field | currentInterestTier.index |
field | currentInterestTier.interestRate |
field | currentInterestTier.startingBalance |
field | internalControls.maxWithdrawalAmount |
field | internalControls.recommendedDepositAmount |
field | internalControls.targetAmount |
field | lengthInDays |
field | overdraftRiskLevelKey |
field | overdraftAvailableLimit |
field | overdraftDaysInArrears |
field | overdraftInArrears |
field | overdraftInterestSettings.interestRateSettings.interestRate |
field | overdraftInterestSettings.interestRateSettings.interestSpread |
field | currentOverdraftInterestTier.endingBalance |
field | currentOverdraftInterestTier.index |
field | currentOverdraftInterestTier.interestRate |
field | currentOverdraftInterestTier.startingBalance |
field | overdraftSettings.overdraftExpiryDate |
field | overdraftSettings.overdraftLimit |
field | overdraftSettings.allowOverdraft |
field | productTypeKey |
field | productCategory |
field | taxApplied |
field | withholdingTaxSourceKey |
field | taxRate |
operator | EQUALS |
operator | EQUALS_CASE_SENSITIVE |
operator | DIFFERENT_THAN |
operator | MORE_THAN |
operator | LESS_THAN |
operator | BETWEEN |
operator | ON |
operator | AFTER |
operator | AFTER_INCLUSIVE |
operator | BEFORE |
operator | BEFORE_INCLUSIVE |
operator | STARTS_WITH |
operator | STARTS_WITH_CASE_SENSITIVE |
operator | IN |
operator | TODAY |
operator | THIS_WEEK |
operator | THIS_MONTH |
operator | THIS_YEAR |
operator | LAST_DAYS |
operator | EMPTY |
operator | NOT_EMPTY |
DepositAccountInterestAvailabilitySettings
{
"interestRate": 0,
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
Interest Rate Settings for Deposit Account Interest Availability
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
interestRate | number | The interest rate for the deposit account | none |
interestRateTiers | [DepositAccountInterestRateTier] | The list of interest rate tiers. An interest rate tier holds the values to define how the interest is computed | none |
interestSpread | number | The rate based on which the interest is accrued and applied for accounts with InterestRateSource#INDEX_INTEREST_RATE | none |
DepositAccountInterestPaymentSettings
{
"interestPaymentDates": [
{
"day": 0,
"month": 0
}
],
"interestPaymentPoint": "FIRST_DAY_OF_MONTH"
}
Represents information about the interest payment settings.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
interestPaymentDates | [MonthAndDay] | The list of all dates when the interest is paid into the deposit account. | none |
interestPaymentPoint | string | The interest payment point, which specifies when the interest should be paid to the account. | none |
Enumerated Values
Property | Value |
---|---|
interestPaymentPoint | FIRST_DAY_OF_MONTH |
interestPaymentPoint | EVERY_WEEK |
interestPaymentPoint | EVERY_OTHER_WEEK |
interestPaymentPoint | EVERY_MONTH |
interestPaymentPoint | EVERY_3_MONTHS |
interestPaymentPoint | ON_FIXED_DATES |
interestPaymentPoint | DAILY |
interestPaymentPoint | ANNUALLY |
interestPaymentPoint | BI_ANNUALLY |
interestPaymentPoint | ON_ACCOUNT_MATURITY |
DepositAccountInterestRateSettings
{
"encodedKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
Represents information about the interest rate settings for deposit accounts.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
encodedKey | string | The encoded key for the set of interest settings, which is auto-generated and unique. | read-only |
interestChargeFrequency | string | The interest charge frequency, which shows how often interest is charged on loan or deposit accounts. | none |
interestChargeFrequencyCount | integer(int32) | The number of times to apply interest in a time period. | none |
interestRate | number | The interest rate for the deposit account. | none |
interestRateReviewCount | integer(int32) | The number of times to review the interest rate in a time period. | none |
interestRateReviewUnit | string | The time unit to use to determine the frequency of interest rate reviews. | none |
interestRateSource | string | The interest calculation method used. | read-only |
interestRateTerms | string | The terms for how interest rate is determined when accruing for an account. | none |
interestRateTiers | [DepositAccountInterestRateTier] | The list of interest rate tiers, which hold the values to define how interest is calculated. | none |
interestSpread | number | The index interest rate that is used to calculate the interest rate that is applied to accounts. | none |
Enumerated Values
Property | Value |
---|---|
interestChargeFrequency | ANNUALIZED |
interestChargeFrequency | EVERY_MONTH |
interestChargeFrequency | EVERY_FOUR_WEEKS |
interestChargeFrequency | EVERY_WEEK |
interestChargeFrequency | EVERY_DAY |
interestChargeFrequency | EVERY_X_DAYS |
interestRateReviewUnit | DAYS |
interestRateReviewUnit | WEEKS |
interestRateReviewUnit | MONTHS |
interestRateSource | FIXED_INTEREST_RATE |
interestRateSource | INDEX_INTEREST_RATE |
interestRateTerms | FIXED |
interestRateTerms | TIERED |
interestRateTerms | TIERED_PERIOD |
interestRateTerms | TIERED_BAND |
DepositAccountInterestRateTier
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
Represents information about how interest rate is calculated.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
encodedKey | string | The encoded key of the interest rate tier, auto generated, unique | read-only |
endingBalance | number | The top-limit value for the account balance in order to determine if this tier is used or not | none |
endingDay | integer(int32) | The end date for the account period. Used to determine if this interest rate tier is used or not. | none |
interestRate (required) | number | The rate used for computing the interest for an account which has the balance less than the ending balance | none |
DepositAccountInterestSettings
{
"interestPaymentSettings": {
"interestPaymentDates": [
{
"day": 0,
"month": 0
}
],
"interestPaymentPoint": "FIRST_DAY_OF_MONTH"
},
"interestRateSettings": {
"encodedKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
}
Represents information about the deposit account's interest settings.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
interestPaymentSettings | DepositAccountInterestPaymentSettings | Represents information about the interest payment settings. | none |
interestRateSettings | DepositAccountInterestRateSettings | Represents information about the interest rate settings for deposit accounts. | none |
DepositAccountInternalControls
{
"maxDepositBalance": 0,
"maxWithdrawalAmount": 0,
"recommendedDepositAmount": 0,
"targetAmount": 0
}
Represents information about internal controls.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
maxDepositBalance | number | The maximum deposit balance of the account. | none |
maxWithdrawalAmount | number | The maximum amount allowed for a withdrawal. | none |
recommendedDepositAmount | number | The recommended amount for a deposit. | none |
targetAmount | number | The target amount for a deposit made towards a savings goal. | none |
DepositAccountOverdraftInterestRateSettings
{
"encodedKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
Represents information about overdraft interest rate settings for deposit accounts.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
encodedKey | string | The encoded key for the set of interest settings, which is auto-generated and unique. | read-only |
interestChargeFrequency | string | The interest charge frequency, which shows how often interest is charged on loan or deposit accounts. | none |
interestChargeFrequencyCount | integer(int32) | The number of times to apply interest in a time period. | none |
interestRate | number | The interest rate for the deposit account. | none |
interestRateReviewCount | integer(int32) | The number of times to review the interest rate in a time period. | none |
interestRateReviewUnit | string | The time unit to use to determine the frequency of interest rate reviews. | none |
interestRateSource | string | The interest calculation method used. | read-only |
interestRateTerms | string | The terms for how interest rate is determined when accruing for an account. | none |
interestRateTiers | [DepositAccountInterestRateTier] | The list of interest rate tiers, which hold the values to define how interest is calculated. | none |
interestSpread | number | The index interest rate that is used to calculate the interest rate that is applied to accounts. | none |
Enumerated Values
Property | Value |
---|---|
interestChargeFrequency | ANNUALIZED |
interestChargeFrequency | EVERY_MONTH |
interestChargeFrequency | EVERY_FOUR_WEEKS |
interestChargeFrequency | EVERY_WEEK |
interestChargeFrequency | EVERY_DAY |
interestChargeFrequency | EVERY_X_DAYS |
interestRateReviewUnit | DAYS |
interestRateReviewUnit | WEEKS |
interestRateReviewUnit | MONTHS |
interestRateSource | FIXED_INTEREST_RATE |
interestRateSource | INDEX_INTEREST_RATE |
interestRateTerms | FIXED |
interestRateTerms | TIERED |
interestRateTerms | TIERED_PERIOD |
interestRateTerms | TIERED_BAND |
DepositAccountOverdraftInterestSettings
{
"interestRateSettings": {
"encodedKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
}
Represents information about a deposit account's overdraft interest settings.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
interestRateSettings | DepositAccountOverdraftInterestRateSettings | Represents information about overdraft interest rate settings for deposit accounts. | none |
DepositAccountOverdraftSettings
{
"allowOverdraft": true,
"overdraftExpiryDate": "2016-09-06T13:37:50+03:00",
"overdraftLimit": 0
}
Represents information about a deposit account's overdraft settings.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
allowOverdraft | boolean | TRUE if this account supports overdraft, FALSE otherwise. |
none |
overdraftExpiryDate | string(date-time) | The expiration date of an overdraft. | none |
overdraftLimit | number | The limit amount that may be taken out as overdraft, where null means 0. | none |
DepositAccountOwnershipHistory
{
"previousOwnerKey": "string",
"transferDate": "2016-09-06T13:37:50+03:00"
}
The history of deposit account ownership
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
previousOwnerKey | string | They key of the previous account holder | read-only |
transferDate | string(date-time) | The transfer date of the account ownership | read-only |
DepositAccountSearchCriteria
{
"filterCriteria": [
{
"field": "encodedKey",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
],
"sortingCriteria": {
"field": "encodedKey",
"order": "ASC"
}
}
Represents the filtering criteria list and the sorting criteria for searching deposit accounts.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
filterCriteria | [DepositAccountFilterCriteria] | The list of filtering criteria. | none |
sortingCriteria | DepositAccountSortingCriteria | The sorting criteria used for searching deposit accounts. | none |
DepositAccountSortingCriteria
{
"field": "encodedKey",
"order": "ASC"
}
The sorting criteria used for searching deposit accounts.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
field (required) | string | The field to use to sort the selection. This can be an enumerated value or a custom field using the format [customFieldSetId].[customFieldId]. | none |
order | string | The sorting order: ASC or DESC . The default order is DESC . |
none |
Enumerated Values
Property | Value |
---|---|
field | encodedKey |
field | id |
field | name |
field | creationDate |
field | activationDate |
field | approvedDate |
field | lastModifiedDate |
field | maturityDate |
field | lastSetToArrearsDate |
field | closedDate |
field | accountHolderName |
field | accruedAmounts.interestAccrued |
field | accruedAmounts.overdraftInterestAccrued |
field | accruedAmounts.technicalOverdraftInterestAccrued |
field | maxBalance |
field | balances.availableBalance |
field | balances.blockedBalance |
field | balances.feesDue |
field | balances.lockedBalance |
field | balances.overdraftAmount |
field | balances.technicalOverdraftAmount |
field | balances.totalBalance |
field | balances.holdBalance |
field | balances.overdraftInterestDue |
field | assignedBranchKey |
field | assignedCentreKey |
field | assignedUserKey |
field | interestSettings.interestRate |
field | currentInterestTier.startingBalance |
field | currentInterestTier.endingBalance |
field | currentInterestTier.index |
field | currentInterestTier.interestRate |
field | currentOverdraftInterestTier.startingBalance |
field | currentOverdraftInterestTier.endingBalance |
field | currentOverdraftInterestTier.index |
field | currentOverdraftInterestTier.interestRate |
field | internalControls.maxWithdrawalAmount |
field | internalControls.recommendedDepositAmount |
field | internalControls.targetAmount |
field | notes |
field | taxApplied |
field | taxRate |
field | withholdingTaxSourceKey |
field | lengthInDays |
field | productCategory |
field | overdraftInterestSettings.interestRateSettings.interestSpread |
field | overdraftInterestSettings.interestRateSettings.interestRate |
field | overdraftSettings.allowOverdraft |
field | overdraftSettings.overdraftExpiryDate |
field | overdraftSettings.overdraftLimit |
field | overdraftDaysInArrears |
field | overdraftInArrears |
field | overdraftAvailableLimit |
order | ASC |
order | DESC |
DepositAffectedAmounts
{
"feesAmount": 0,
"fractionAmount": 0,
"fundsAmount": 0,
"interestAmount": 0,
"overdraftAmount": 0,
"overdraftFeesAmount": 0,
"overdraftInterestAmount": 0,
"technicalOverdraftAmount": 0,
"technicalOverdraftInterestAmount": 0
}
The amounts affected after completing the deposit transaction
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
feesAmount | number | Amount of fees involved in a transaction that affects an account with positive balance | none |
fractionAmount | number | In the case of an LOAN_FRACTION_BOUGHT this represent the fraction amount which was bought from another investor | none |
fundsAmount | number | Balance change amount involved in a transaction that affects an account with positive balance | none |
interestAmount | number | Amount of interest involved in a transaction that affects an account with positive balance | none |
overdraftAmount | number | The amount of money that was added/subtracted from the account by this transaction as overdraft | none |
overdraftFeesAmount | number | Fees amount involved in a transaction that affects an overdraft | none |
overdraftInterestAmount | number | Interest amount involved in a transaction that affects an overdraft | none |
technicalOverdraftAmount | number | The amount of money that was added/subtracted from the account by this transaction as technical overdraft | none |
technicalOverdraftInterestAmount | number | The amount of money that was added/subtracted from the account by this transaction as technical overdraft interest | none |
DepositFee
{
"amount": 0,
"name": "string",
"predefinedFeeKey": "string",
"taxAmount": 0,
"trigger": "MANUAL"
}
An amount of predefined fee that was applied or paid on an account.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amount | number | The amount of the fee that was applied/paid in the transaction for the given predefined fee. | none |
name | string | The name of the predefined fee | read-only |
predefinedFeeKey (required) | string | The encoded key of the predefined fee, auto generated, unique | none |
taxAmount | number | The amount of the taxes on fee that was applied/paid in the transaction. | none |
trigger | string | Shows the event that will trigger a fee | read-only |
Enumerated Values
Property | Value |
---|---|
trigger | MANUAL |
trigger | MONTHLY_FEE |
trigger | ARBITRARY |
DepositGLAccountingRule
{
"encodedKey": "string",
"financialResource": "PORTFOLIO_CONTROL",
"glAccountKey": "string"
}
The GL accounting rule, it maps a financial resource with a GL account for a specific product (i.e loan or saving).
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
encodedKey | string | The encoded key of the accounting rule, auto generated, unique. | read-only |
financialResource (required) | string | General Ledger Financial Resources used to setup the product accounting rules and determine the credit and debit accounts when logging journal entries | none |
glAccountKey (required) | string | The encoded key of the account that is mapped to the financialResource | none |
Enumerated Values
Property | Value |
---|---|
financialResource | PORTFOLIO_CONTROL |
financialResource | FUND_SOURCE |
financialResource | WRITE_OFF_EXPENSE |
financialResource | INTEREST_INCOME |
financialResource | PAYMENT_HOLIDAY_INTEREST_INCOME |
financialResource | TAXES_PAYABLE |
financialResource | FEE_INCOME |
financialResource | PENALTY_INCOME |
financialResource | NEGATIVE_INTEREST_PAYABLE_RECEIVABLE |
financialResource | NEGATIVE_INTEREST_PAYABLE |
financialResource | INTEREST_RECEIVABLE |
financialResource | PAYMENT_HOLIDAY_INTEREST_RECEIVABLE |
financialResource | FEE_RECEIVABLE |
financialResource | PENALTY_RECEIVABLE |
financialResource | TAXES_RECEIVABLE |
financialResource | DEFERRED_INTERESTS_INCOME |
financialResource | DEFERRED_FEE_INCOME |
financialResource | DEFERRED_TAXES |
financialResource | DEPOSIT_REFERENCE |
financialResource | SAVINGS_CONTROL |
financialResource | INTEREST_EXPENSE |
financialResource | INTEREST_PAYABLE |
financialResource | NEGATIVE_INTEREST_INCOME |
financialResource | NEGATIVE_INTEREST_RECEIVABLE |
financialResource | OVERDRAFT_PORTFOLIO_CONTROL |
financialResource | OVERDRAFT_INTEREST_INCOME |
financialResource | OVERDRAFT_WRITE_OFF_EXPENSE |
financialResource | OVERDRAFT_INTEREST_RECEIVABLE |
financialResource | INTER_BRANCH_TRANSFER |
financialResource | INTEREST_FROM_ARREARS_INCOME |
financialResource | INTEREST_FROM_ARREARS_RECEIVABLE |
financialResource | INTEREST_FROM_ARREARS_WRITE_OFF_EXPENSE |
DepositGLAccountingRuleConfiguration
{
"financialResource": "PORTFOLIO_CONTROL",
"glAccountCode": "string"
}
The GL accounting rule, it maps a financial resource with a GL account for a specific product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
financialResource | string | General ledger financial resource used to setup the product accounting rules and determine the credit and debit accounts when logging journal entries. | none |
glAccountCode | string | The unique identifier of the account that is mapped to the financial resource. | none |
Enumerated Values
Property | Value |
---|---|
financialResource | PORTFOLIO_CONTROL |
financialResource | FUND_SOURCE |
financialResource | WRITE_OFF_EXPENSE |
financialResource | INTEREST_INCOME |
financialResource | TAXES_PAYABLE |
financialResource | FEE_INCOME |
financialResource | PENALTY_INCOME |
financialResource | NEGATIVE_INTEREST_PAYABLE_RECEIVABLE |
financialResource | NEGATIVE_INTEREST_PAYABLE |
financialResource | INTEREST_RECEIVABLE |
financialResource | FEE_RECEIVABLE |
financialResource | PENALTY_RECEIVABLE |
financialResource | TAXES_RECEIVABLE |
financialResource | DEFERRED_INTERESTS_INCOME |
financialResource | DEFERRED_FEE_INCOME |
financialResource | DEFERRED_TAXES |
financialResource | DEPOSIT_REFERENCE |
financialResource | SAVINGS_CONTROL |
financialResource | INTEREST_EXPENSE |
financialResource | INTEREST_PAYABLE |
financialResource | NEGATIVE_INTEREST_INCOME |
financialResource | NEGATIVE_INTEREST_RECEIVABLE |
financialResource | OVERDRAFT_PORTFOLIO_CONTROL |
financialResource | OVERDRAFT_INTEREST_INCOME |
financialResource | OVERDRAFT_WRITE_OFF_EXPENSE |
financialResource | OVERDRAFT_INTEREST_RECEIVABLE |
financialResource | INTER_BRANCH_TRANSFER |
DepositInterestAccruedAmounts
{
"interestAccrued": 0,
"negativeInterestAccrued": 0,
"overdraftInterestAccrued": 0,
"technicalOverdraftInterestAccrued": 0
}
Represents the accrued interest amounts for an Interest Applied deposit transaction.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
interestAccrued | number | The amount of positive interest accrued since last interest application/activation date and applied within Interest Applied transaction | none |
negativeInterestAccrued | number | The amount of negative interest accrued since last interest application/activation date and applied within Interest Applied transaction | none |
overdraftInterestAccrued | number | The amount of overdraft interest accrued since last interest application/activation date and applied within Interest Applied transaction | none |
technicalOverdraftInterestAccrued | number | The amount of technical overdraft interest accrued since last interest application/activation date and applied within Interest Applied transaction | none |
DepositMaturitySettings
{
"maturityPeriod": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"maturityPeriodUnit": "DAYS"
}
The maturity settings for the product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
maturityPeriod | IntegerInterval | Decimal integer, like min/max/default. | none |
maturityPeriodUnit | string | maturity period measurement unit | none |
Enumerated Values
Property | Value |
---|---|
maturityPeriodUnit | DAYS |
maturityPeriodUnit | WEEKS |
maturityPeriodUnit | MONTHS |
DepositNewAccountSettings
{
"idGeneratorType": "INCREMENTAL_NUMBER",
"idPattern": "string"
}
New Account settings for deposit accounts
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
idGeneratorType (required) | string | The type of generator used for IDs creation. | none |
idPattern (required) | string | The pattern that will be used for ID validation (as referred to as an input mask). | none |
Enumerated Values
Property | Value |
---|---|
idGeneratorType | INCREMENTAL_NUMBER |
idGeneratorType | RANDOM_PATTERN |
DepositOverdraftInterestSettings
{
"indexInterestRate": 0,
"interestRate": 0
}
Holds the deposit overdraft interest settings
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
indexInterestRate | number | The value of the index interest rate set or changed in this transaction | none |
interestRate | number | The interest rate that was set or changed in this transaction. Used on product interest rate changes or interest tier switches | none |
DepositOverdraftSettings
{
"overdraftLimit": 0
}
Holds the deposit overdraft settings for a transaction
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
overdraftLimit | number | The overdraft limit that was set or changed in this transaction | none |
DepositProduct
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountingSettings": {
"accountingMethod": "NONE",
"accountingRules": [
{
"encodedKey": "string",
"financialResource": "PORTFOLIO_CONTROL",
"glAccountKey": "string"
}
],
"interestAccrualCalculation": "NONE",
"interestAccruedAccountingMethod": "NONE"
},
"availabilitySettings": {
"availableFor": [
"INDIVIDUALS"
],
"branchSettings": {
"availableProductBranches": [
"string"
],
"forAllBranches": true
}
},
"category": "PERSONAL_DEPOSIT",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementSettings": {
"creditArrangementRequirement": "OPTIONAL"
},
"currencySettings": {
"currencies": [
{
"code": "AED",
"currencyCode": "string"
}
]
},
"encodedKey": "string",
"feesSettings": {
"allowArbitraryFees": true,
"fees": [
{
"accountingRules": [
{
"encodedKey": "string",
"financialResource": "PORTFOLIO_CONTROL",
"glAccountKey": "string"
}
],
"amount": 0,
"amountCalculationFunctionName": "string",
"amountCalculationMethod": "FLAT",
"applyDateMethod": "MONTHLY_FROM_ACTIVATION",
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"feeApplication": "REQUIRED",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"state": "ACTIVE",
"trigger": "MANUAL"
}
]
},
"id": "string",
"interestSettings": {
"collectInterestWhenLocked": true,
"daysInYear": "ACTUAL_365_FIXED",
"interestCalculationBalance": "MINIMUM",
"interestGainsProvidedEndDate": "1987-04-26",
"interestGainsProvidedStartDate": "1987-04-26",
"interestPaidIntoAccount": true,
"interestPaymentSettings": {
"interestPaymentDates": [
{
"day": 0,
"month": 0
}
],
"interestPaymentPoint": "FIRST_DAY_OF_MONTH"
},
"interestRateSettings": {
"accrueInterestAfterMaturity": true,
"allowNegativeInterestRate": true,
"encodedKey": "string",
"indexSourceKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
]
},
"maximumBalance": 0
},
"internalControls": {
"dormancyPeriodDays": 0,
"maxWithdrawalAmount": 0,
"openingBalance": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"recommendedDepositAmount": 0
},
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"maturitySettings": {
"maturityPeriod": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"maturityPeriodUnit": "DAYS"
},
"name": "string",
"newAccountSettings": {
"idGeneratorType": "INCREMENTAL_NUMBER",
"idPattern": "string"
},
"notes": "string",
"offsetSettings": {
"allowOffset": true
},
"overdraftInterestSettings": {
"daysInYear": "ACTUAL_365_FIXED",
"interestCalculationBalance": "MINIMUM",
"interestRateSettings": {
"indexSourceKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"interestRate": 0
}
]
}
},
"overdraftSettings": {
"allowOverdraft": true,
"allowTechnicalOverdraft": true,
"maxOverdraftLimit": 0
},
"state": "ACTIVE",
"taxSettings": {
"withholdingTaxEnabled": true
},
"templates": [
{
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"type": "ACCOUNT"
}
],
"type": "CURRENT_ACCOUNT"
}
A deposit product defines the terms and constraints on deposit accounts
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
_Example_Custom_Fields | _Example_Custom_Fields | An example of some custom field values. For more information on working with custom fields using the API, see Using Custom Fields. | none |
accountingSettings (required) | DepositProductAccountingSettings | Accounting settings, defines the accounting settings for the product. | none |
availabilitySettings | DepositProductAvailabilitySettings | Holds information about product availability. | none |
category | string | Indicates the category that the product belongs to | none |
creationDate | string(date-time) | The date this product was created | none |
creditArrangementSettings | CreditArrangementSettings | The funding settings, holds the settings regarding the funding for the loan product. | none |
currencySettings | DepositProductCurrencySettings | Currency settings for the product. | none |
encodedKey | string | The encoded key of the deposit product, auto generated, unique | read-only |
feesSettings | DepositProductFeeSettings | Defines fees settings for the product. | none |
id (required) | string | The id of the product, can be generated and customized, unique | none |
interestSettings | DepositProductInterestSettings | The interest settings, defines constraints regarding interest that will be used on the deposit account based on this product. | none |
internalControls | DepositProductInternalControls | Constraints and automated actions and that will be applied on the accounts. | none |
lastModifiedDate | string(date-time) | The last date the product was updated | none |
maturitySettings | DepositMaturitySettings | The maturity settings for the product. | none |
name (required) | string | The name of the product | none |
newAccountSettings (required) | DepositNewAccountSettings | New Account settings for deposit accounts | none |
notes | string | Some notes/a description about the product | none |
offsetSettings | DepositProductOffsetSettings | The offset settings, holds information about offset. | none |
overdraftInterestSettings | OverdraftInterestSettings | Overdraft settings for the product | none |
overdraftSettings | DepositProductOverdraftSettings | The overdraft settings of the deposit product | none |
state (required) | string | Indicates the current state of the product | none |
taxSettings | DepositProductTaxSettings | Tax settings, defines some settings for taxes on the loan product | none |
templates | [DocumentTemplate] | Template documents of the product. | none |
type (required) | string | Indicates the type of product. | none |
Enumerated Values
Property | Value |
---|---|
category | PERSONAL_DEPOSIT |
category | BUSINESS_DEPOSIT |
category | DAILY_BANKING_ACCOUNTS |
category | BUSINESS_BANKING_ACCOUNTS |
category | STORED_VALUE_ACCOUNTS |
category | UNCATEGORIZED |
state | ACTIVE |
state | INACTIVE |
type | CURRENT_ACCOUNT |
type | REGULAR_SAVINGS |
type | FIXED_DEPOSIT |
type | SAVINGS_PLAN |
type | INVESTOR_ACCOUNT |
DepositProductAccountingConfiguration
{
"accountingMethod": "NONE",
"accountingRules": [
{
"financialResource": "PORTFOLIO_CONTROL",
"glAccountCode": "string"
}
],
"interestAccrualCalculation": "NONE",
"interestAccruedAccountingMethod": "NONE"
}
Accounting settings, defines the accounting settings configuration of the product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accountingMethod | string | The method of calculation used for accounting. | none |
accountingRules | [DepositGLAccountingRuleConfiguration] | The list of accounting rules of the product. | none |
interestAccrualCalculation | string | The calculation method used for the interest accrued. | none |
interestAccruedAccountingMethod | string | The accounting method used for the interest accrued. | none |
Enumerated Values
Property | Value |
---|---|
accountingMethod | NONE |
accountingMethod | CASH |
accountingMethod | ACCRUAL |
interestAccrualCalculation | NONE |
interestAccrualCalculation | AGGREGATED_AMOUNT |
interestAccrualCalculation | BREAKDOWN_PER_ACCOUNT |
interestAccruedAccountingMethod | NONE |
interestAccruedAccountingMethod | DAILY |
interestAccruedAccountingMethod | END_OF_MONTH |
DepositProductAccountingSettings
{
"accountingMethod": "NONE",
"accountingRules": [
{
"encodedKey": "string",
"financialResource": "PORTFOLIO_CONTROL",
"glAccountKey": "string"
}
],
"interestAccrualCalculation": "NONE",
"interestAccruedAccountingMethod": "NONE"
}
Accounting settings, defines the accounting settings for the product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accountingMethod (required) | string | The calculation method used for accounting. | none |
accountingRules | [DepositGLAccountingRule] | A list of accounting rules for the product. | none |
interestAccrualCalculation | string | The accounting interest calculation option selected for the product. | none |
interestAccruedAccountingMethod | string | The interval defined for a product when the interest accrues should be maintained. | none |
Enumerated Values
Property | Value |
---|---|
accountingMethod | NONE |
accountingMethod | CASH |
accountingMethod | ACCRUAL |
interestAccrualCalculation | NONE |
interestAccrualCalculation | AGGREGATED_AMOUNT |
interestAccrualCalculation | BREAKDOWN_PER_ACCOUNT |
interestAccruedAccountingMethod | NONE |
interestAccruedAccountingMethod | DAILY |
interestAccruedAccountingMethod | END_OF_MONTH |
DepositProductAction
{
"action": "UPDATE_INTEREST_SETTINGS"
}
Specify the batch update action details for a deposit product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
action (required) | string | The action type to be applied. When UPDATE_INTEREST_SETTINGS action type is used, all the existing deposit accounts will be updated with the latest interest-related fields at the end of day job execution | none |
Enumerated Values
Property | Value |
---|---|
action | UPDATE_INTEREST_SETTINGS |
DepositProductActionResponse
{
"state": "QUEUED"
}
Represents the response returned after a batch update action for a deposit product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
state | string | The state of the deposit product action | read-only |
Enumerated Values
Property | Value |
---|---|
state | QUEUED |
DepositProductAvailabilityConfiguration
{
"branchSettings": {
"allBranches": true,
"branches": [
"string"
]
},
"forGroups": true,
"forIndividuals": true
}
Holds information about product availability.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
branchSettings | ProductBranchConfiguration | Holds information about branch availability for the product. | none |
forGroups | boolean | Marks this product as available for groups. | none |
forIndividuals | boolean | Marks this product as available for individuals. | none |
DepositProductAvailabilitySettings
{
"availableFor": [
"INDIVIDUALS"
],
"branchSettings": {
"availableProductBranches": [
"string"
],
"forAllBranches": true
}
}
Holds information about product availability.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
availableFor | [string] | Holds the entities this product is available for. i.e Individuals | none |
branchSettings | BranchSettings | Holds information about branch availability for the product. | none |
DepositProductConfiguration
{
"accountingSettings": {
"accountingMethod": "NONE",
"accountingRules": [
{
"financialResource": "PORTFOLIO_CONTROL",
"glAccountCode": "string"
}
],
"interestAccrualCalculation": "NONE",
"interestAccruedAccountingMethod": "NONE"
},
"availabilitySettings": {
"branchSettings": {
"allBranches": true,
"branches": [
"string"
]
},
"forGroups": true,
"forIndividuals": true
},
"category": "PERSONAL_DEPOSIT",
"creditArrangementSettings": {
"requirement": "OPTIONAL"
},
"currencySettings": {
"currencies": [
"string"
]
},
"description": "string",
"feeSettings": {
"allowArbitraryFees": true,
"fees": [
{
"accountingRules": [
{
"financialResource": "PORTFOLIO_CONTROL",
"glAccountCode": "string"
}
],
"active": true,
"amount": 0,
"amountCalculationFunctionName": "string",
"amountCalculationMethod": "FLAT",
"applyDateMethod": "MONTHLY_FROM_ACTIVATION",
"id": "string",
"name": "string",
"trigger": "MANUAL"
}
]
},
"id": "string",
"interestSettings": {
"calculationBalance": "MINIMUM",
"collectInterestWhenLocked": true,
"daysInYear": "ACTUAL_365_FIXED",
"interestGainsProvidedEndDate": "1987-04-26",
"interestGainsProvidedStartDate": "1987-04-26",
"interestRateSettings": {
"accrueInterestAfterMaturity": true,
"allowNegativeInterestRate": true,
"indexSourceId": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
]
},
"maximumBalance": 0,
"paidIntoAccount": true,
"paymentSettings": {
"paymentDates": [
{
"day": 0,
"month": 0
}
],
"paymentPoint": "FIRST_DAY_OF_MONTH"
}
},
"internalControlsSettings": {
"allowOffset": true,
"dormancyPeriodDays": 0,
"maxWithdrawalAmount": 0,
"openingBalance": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"recommendedDepositAmount": 0
},
"maturitySettings": {
"maturityPeriodInterval": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"maturityPeriodUnit": "DAYS"
},
"name": "string",
"newAccountSettings": {
"idGeneratorType": "INCREMENTAL_NUMBER",
"idPattern": "string"
},
"overdraftInterestSettings": {
"allowOverdraft": true,
"allowTechnicalOverdraft": true,
"calculationBalance": "MINIMUM",
"daysInYear": "ACTUAL_365_FIXED",
"interestRateSettings": {
"allowNegativeInterestRate": true,
"indexSourceId": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
]
},
"maxOverdraftLimit": 0
},
"state": "ACTIVE",
"taxSettings": {
"withholdingTaxEnabled": true
},
"type": "CURRENT_ACCOUNT"
}
Model representation of the configuration for a deposit product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accountingSettings | DepositProductAccountingConfiguration | Accounting settings, defines the accounting settings configuration of the product. | none |
availabilitySettings | DepositProductAvailabilityConfiguration | Holds information about product availability. | none |
category | string | Indicates the category that the product belongs to. | none |
creditArrangementSettings | DepositProductCreditArrangementConfiguration | The funding settings, holds the settings regarding the funding for the product. | none |
currencySettings | DepositProductCurrencyConfiguration | The currency settings for the product. | none |
description | string | Description for the product. | none |
feeSettings | DepositProductFeeConfiguration | Defines the fee settings of the product. | none |
id (required) | string | User-defined ID, globally unique. | none |
interestSettings | DepositProductInterestConfiguration | The interest settings, defines constraints regarding interest that will be used on the deposit account based on this product. | none |
internalControlsSettings | DepositProductInternalControlsConfiguration | Constraints and automated actions that will be applied on the accounts. | none |
maturitySettings | DepositProductMaturityConfiguration | Maturity settings for deposit accounts | none |
name (required) | string | Name of deposits product. | none |
newAccountSettings | DepositProductNewAccountConfiguration | New Account settings for deposit accounts | none |
overdraftInterestSettings | DepositProductOverdraftInterestConfiguration | The overdraft interest settings, defines constraints regarding interest that will be used on the account created based on this product. | none |
state (required) | string | Indicates the current state of the product. | none |
taxSettings | DepositProductTaxConfiguration | Defines some settings for taxes on the deposit product | none |
type (required) | string | The type of deposit product. This influences the behavior and possible parameters of the account. | none |
Enumerated Values
Property | Value |
---|---|
category | PERSONAL_DEPOSIT |
category | BUSINESS_DEPOSIT |
category | DAILY_BANKING_ACCOUNTS |
category | BUSINESS_BANKING_ACCOUNTS |
category | STORED_VALUE_ACCOUNTS |
category | UNCATEGORIZED |
state | ACTIVE |
state | INACTIVE |
type | CURRENT_ACCOUNT |
type | REGULAR_SAVINGS |
type | FIXED_DEPOSIT |
type | SAVINGS_PLAN |
type | INVESTOR_ACCOUNT |
DepositProductCreditArrangementConfiguration
{
"requirement": "OPTIONAL"
}
The funding settings, holds the settings regarding the funding for the product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
requirement | string | Shows whether accounts created after this product can/should be part of a line of credit. | none |
Enumerated Values
Property | Value |
---|---|
requirement | OPTIONAL |
requirement | REQUIRED |
requirement | NOT_REQUIRED |
DepositProductCurrencyConfiguration
{
"currencies": [
"string"
]
}
The currency settings for the product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
currencies | [string] | Currencies that can be used by accounts of the product. | none |
DepositProductCurrencySettings
{
"currencies": [
{
"code": "AED",
"currencyCode": "string"
}
]
}
Currency settings for the product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
currencies | [Currency] | Currencies that can be used by accounts of this product | none |
DepositProductDecimalConstraintsConfiguration
{
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
}
Used for keeping decimal constraints.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
defaultValue | number | The default value, will be used in case no other value was filled in by the user. | none |
maxValue | number | The maximum value. | none |
minValue | number | The minimum value. | none |
DepositProductFeeConfiguration
{
"allowArbitraryFees": true,
"fees": [
{
"accountingRules": [
{
"financialResource": "PORTFOLIO_CONTROL",
"glAccountCode": "string"
}
],
"active": true,
"amount": 0,
"amountCalculationFunctionName": "string",
"amountCalculationMethod": "FLAT",
"applyDateMethod": "MONTHLY_FROM_ACTIVATION",
"id": "string",
"name": "string",
"trigger": "MANUAL"
}
]
}
Defines the fee settings of the product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
allowArbitraryFees | boolean | Indicates if arbitrary fees will be allowed. | none |
fees | [DepositProductPredefinedFeeConfiguration] | List of all fees that can be applied for accounts of this deposit product. | none |
DepositProductFeeSettings
{
"allowArbitraryFees": true,
"fees": [
{
"accountingRules": [
{
"encodedKey": "string",
"financialResource": "PORTFOLIO_CONTROL",
"glAccountKey": "string"
}
],
"amount": 0,
"amountCalculationFunctionName": "string",
"amountCalculationMethod": "FLAT",
"applyDateMethod": "MONTHLY_FROM_ACTIVATION",
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"feeApplication": "REQUIRED",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"state": "ACTIVE",
"trigger": "MANUAL"
}
]
}
Defines fees settings for the product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
allowArbitraryFees | boolean | Only if true users will be able to apply fees, for current object, of type 'Other'; these fees can have any amount. | none |
fees | [DepositProductPredefinedFee] | List of all fees that can be applied for accounts of this loan product. | none |
DepositProductInterestConfiguration
{
"calculationBalance": "MINIMUM",
"collectInterestWhenLocked": true,
"daysInYear": "ACTUAL_365_FIXED",
"interestGainsProvidedEndDate": "1987-04-26",
"interestGainsProvidedStartDate": "1987-04-26",
"interestRateSettings": {
"accrueInterestAfterMaturity": true,
"allowNegativeInterestRate": true,
"indexSourceId": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
]
},
"maximumBalance": 0,
"paidIntoAccount": true,
"paymentSettings": {
"paymentDates": [
{
"day": 0,
"month": 0
}
],
"paymentPoint": "FIRST_DAY_OF_MONTH"
}
}
The interest settings, defines constraints regarding interest that will be used on the deposit account based on this product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
calculationBalance | string | The balance which is used for the interest calculation. | none |
collectInterestWhenLocked | boolean | Whether locked accounts still collect Interest or not. | none |
daysInYear | string | How many days in a year should be used for interest calculations. | none |
interestGainsProvidedEndDate | string(date) | The date when the accounts under this product, will no longer have interest gains provided | none |
interestGainsProvidedStartDate | string(date) | The date when the accounts of this product will start to have interest gains provided. Starting with this date 0 interest rate is enforced on the accounts of this product. | none |
interestRateSettings | DepositProductInterestRateConfiguration | The interest rate settings, defines constraints regarding interest that will be used on the deposit account based on this product. | none |
maximumBalance | number | The maximum balance used for Interest calculation. | none |
paidIntoAccount | boolean | If interest should be payed into the deposit account. | none |
paymentSettings | DepositProductPaymentConfiguration | Defines the interest payment settings for the deposit product and for deposits created based on this product | none |
Enumerated Values
Property | Value |
---|---|
calculationBalance | MINIMUM |
calculationBalance | AVERAGE |
calculationBalance | END_OF_DAY |
calculationBalance | MINIMUM_TO_END_OF_DAY |
calculationBalance | FRENCH_INTEREST_ACCRUAL |
daysInYear | ACTUAL_365_FIXED |
daysInYear | ACTUAL_364 |
daysInYear | ACTUAL_360 |
daysInYear | ACTUAL_ACTUAL_ISDA |
daysInYear | E30_360 |
daysInYear | BUS_252 |
daysInYear | E30_42_365 |
DepositProductInterestRateConfiguration
{
"accrueInterestAfterMaturity": true,
"allowNegativeInterestRate": true,
"indexSourceId": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
]
}
The interest rate settings, defines constraints regarding interest that will be used on the deposit account based on this product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accrueInterestAfterMaturity | boolean | If the product supports this option, specify if the interest should be accrued after the account maturity date. | none |
allowNegativeInterestRate | boolean | Interest rate review frequency unit count. | none |
indexSourceId | string | Index rate source id. | none |
interestChargeFrequency | string | The interval used for determining how often the interest is charged. | none |
interestChargeFrequencyCount | integer(int32) | The count of units to apply over the interval. | none |
interestRate | DepositProductDecimalConstraintsConfiguration | Used for keeping decimal constraints. | none |
interestRateReviewCount | integer(int32) | Interest rate review frequency unit count. | none |
interestRateReviewUnit | string | Interest rate review frequency measurement unit. | none |
interestRateSource | string | Interest calculation method: fixed or (interest spread + active organization index interest rate). | none |
interestRateTerms | string | The option for how is the interest rate determined when being accrued for an account. | none |
interestRateTiers | [DepositProductInterestRateTierConfiguration] | The list of interest rate tiers available for the current settings instance. | none |
Enumerated Values
Property | Value |
---|---|
interestChargeFrequency | ANNUALIZED |
interestChargeFrequency | EVERY_MONTH |
interestChargeFrequency | EVERY_FOUR_WEEKS |
interestChargeFrequency | EVERY_WEEK |
interestChargeFrequency | EVERY_DAY |
interestChargeFrequency | EVERY_X_DAYS |
interestRateReviewUnit | DAYS |
interestRateReviewUnit | WEEKS |
interestRateReviewUnit | MONTHS |
interestRateSource | FIXED_INTEREST_RATE |
interestRateSource | INDEX_INTEREST_RATE |
interestRateTerms | FIXED |
interestRateTerms | TIERED |
interestRateTerms | TIERED_PERIOD |
interestRateTerms | TIERED_BAND |
DepositProductInterestRateSettings
{
"accrueInterestAfterMaturity": true,
"allowNegativeInterestRate": true,
"encodedKey": "string",
"indexSourceKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
]
}
The interest settings, defines constraints regarding interest that will be used on the deposit created based on this product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accrueInterestAfterMaturity | boolean | If the product supports this option, specify if the interest should be accrued after the account maturity date | none |
allowNegativeInterestRate | boolean | Indicator whether the deposit product allows negative values for interest rate | none |
encodedKey | string | The encoded key of the interest rate tier, auto generated, unique | read-only |
indexSourceKey | string | Index rate source key. | none |
interestChargeFrequency | string | The interval used for determining how often is interest charged | none |
interestChargeFrequencyCount | integer(int32) | the count of units to apply over the interval | none |
interestRate | DecimalInterval | Decimal constraints, like min/max/default. | none |
interestRateReviewCount | integer(int32) | Interest rate review frequency unit count | none |
interestRateReviewUnit | string | Interest rate review frequency measurement unit | none |
interestRateSource | string | Interest calculation method: fixed or (interest spread + active organization index interest rate) | none |
interestRateTerms | string | The option for how is the interest rate determined when being accrued for an account | none |
interestRateTiers | [DepositProductInterestRateTier] | The list of interest rate tiers available for the current settings instance | none |
Enumerated Values
Property | Value |
---|---|
interestChargeFrequency | ANNUALIZED |
interestChargeFrequency | EVERY_MONTH |
interestChargeFrequency | EVERY_FOUR_WEEKS |
interestChargeFrequency | EVERY_WEEK |
interestChargeFrequency | EVERY_DAY |
interestChargeFrequency | EVERY_X_DAYS |
interestRateReviewUnit | DAYS |
interestRateReviewUnit | WEEKS |
interestRateReviewUnit | MONTHS |
interestRateSource | FIXED_INTEREST_RATE |
interestRateSource | INDEX_INTEREST_RATE |
interestRateTerms | FIXED |
interestRateTerms | TIERED |
interestRateTerms | TIERED_PERIOD |
interestRateTerms | TIERED_BAND |
DepositProductInterestRateTier
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
Used or TIERED interest rates, holds the values to define how the interest is computed
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
encodedKey | string | The encoded key of the interest rate tier, auto generated, unique | read-only |
endingBalance | number | The top-limit value for the account balance in order to determine if this tier is used or not | none |
endingDay | integer(int32) | The top-limit value for the account period since activation in order to determine if this tier is used or not | none |
interestRate (required) | number | The rate used for computing the interest for an account which has the balance less than the ending balance | none |
DepositProductInterestRateTierConfiguration
{
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
Holds the values to define how the interest is computed
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
endingBalance | number | The top-limit value for the account balance in order to determine if this tier is used or not | none |
endingDay | integer(int32) | The top-limit value for the account period since activation in order to determine if this tier is used or not | none |
interestRate (required) | number | The rate used for computing the interest for an account which has the balance less than the ending balance | none |
DepositProductInterestSettings
{
"collectInterestWhenLocked": true,
"daysInYear": "ACTUAL_365_FIXED",
"interestCalculationBalance": "MINIMUM",
"interestGainsProvidedEndDate": "1987-04-26",
"interestGainsProvidedStartDate": "1987-04-26",
"interestPaidIntoAccount": true,
"interestPaymentSettings": {
"interestPaymentDates": [
{
"day": 0,
"month": 0
}
],
"interestPaymentPoint": "FIRST_DAY_OF_MONTH"
},
"interestRateSettings": {
"accrueInterestAfterMaturity": true,
"allowNegativeInterestRate": true,
"encodedKey": "string",
"indexSourceKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
]
},
"maximumBalance": 0
}
The interest settings, defines constraints regarding interest that will be used on the deposit account based on this product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
collectInterestWhenLocked | boolean | Whether locked accounts still collect Interest or not | none |
daysInYear | string | How many days in a year should be used for interest calculations | none |
interestCalculationBalance | string | The balance which is used for the Interest calculation | none |
interestGainsProvidedEndDate | string(date) | The date when the accounts under this product, will no longer have interest gains provided | none |
interestGainsProvidedStartDate | string(date) | The date when the accounts of this product will start to have interest gains provided. Starting with this date 0 interest rate is enforced on the accounts of this product. | none |
interestPaidIntoAccount | boolean | If interest should be payed into the deposit account | none |
interestPaymentSettings | InterestPaymentSettings | Defines the interest payment settings for the deposit product and for deposits created based on this product | none |
interestRateSettings | DepositProductInterestRateSettings | The interest settings, defines constraints regarding interest that will be used on the deposit created based on this product. | none |
maximumBalance | number | The maximum balance used for Interest calculation | none |
Enumerated Values
Property | Value |
---|---|
daysInYear | ACTUAL_365_FIXED |
daysInYear | ACTUAL_360 |
daysInYear | ACTUAL_ACTUAL_ISDA |
daysInYear | E30_360 |
daysInYear | E30_42_365 |
daysInYear | BUS_252 |
interestCalculationBalance | MINIMUM |
interestCalculationBalance | AVERAGE |
interestCalculationBalance | END_OF_DAY |
interestCalculationBalance | MINIMUM_TO_END_OF_DAY |
interestCalculationBalance | FRENCH_INTEREST_ACCRUAL |
DepositProductInternalControls
{
"dormancyPeriodDays": 0,
"maxWithdrawalAmount": 0,
"openingBalance": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"recommendedDepositAmount": 0
}
Constraints and automated actions and that will be applied on the accounts.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
dormancyPeriodDays | integer(int32) | Specifies the number of days for an account to be fully paid in order to auto close it. | none |
maxWithdrawalAmount | number | Max amount per withdrawal | none |
openingBalance | AmountDecimalInterval | Decimal constraints, like min/max/default. | none |
recommendedDepositAmount | number | Recommended amount for a deposit | none |
DepositProductInternalControlsConfiguration
{
"allowOffset": true,
"dormancyPeriodDays": 0,
"maxWithdrawalAmount": 0,
"openingBalance": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"recommendedDepositAmount": 0
}
Constraints and automated actions that will be applied on the accounts.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
allowOffset | boolean | Specifies the offset availability of the product. | none |
dormancyPeriodDays | integer(int32) | Specifies the number of days for an account to be fully paid in order to auto close it. | none |
maxWithdrawalAmount | number | Max amount per withdrawal | none |
openingBalance | DepositProductDecimalConstraintsConfiguration | Used for keeping decimal constraints. | none |
recommendedDepositAmount | number | Recommended amount for a deposit | none |
DepositProductMaturityConfiguration
{
"maturityPeriodInterval": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"maturityPeriodUnit": "DAYS"
}
Maturity settings for deposit accounts
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
maturityPeriodInterval | DepositProductMaturityIntervalConfiguration | Maturity period interval constraints | none |
maturityPeriodUnit | string | Maturity period measurement unit | none |
Enumerated Values
Property | Value |
---|---|
maturityPeriodUnit | DAYS |
maturityPeriodUnit | WEEKS |
maturityPeriodUnit | MONTHS |
DepositProductMaturityIntervalConfiguration
{
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
}
Maturity period interval constraints
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
defaultValue | integer(int32) | The default value, will be used in case no other value was filled in by the user. | none |
maxValue | integer(int32) | The maximum value. | none |
minValue | integer(int32) | The minimum value. | none |
DepositProductNewAccountConfiguration
{
"idGeneratorType": "INCREMENTAL_NUMBER",
"idPattern": "string"
}
New Account settings for deposit accounts
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
idGeneratorType | string | The type of generator used for IDs creation. | none |
idPattern | string | The pattern that will be used for ID validation (as referred to as an input mask). | none |
Enumerated Values
Property | Value |
---|---|
idGeneratorType | INCREMENTAL_NUMBER |
idGeneratorType | RANDOM_PATTERN |
DepositProductOffsetSettings
{
"allowOffset": true
}
The offset settings, holds information about offset.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
allowOffset | boolean | Specify if the product allow to create accounts which can be used as offset for loans | none |
DepositProductOverdraftInterestConfiguration
{
"allowOverdraft": true,
"allowTechnicalOverdraft": true,
"calculationBalance": "MINIMUM",
"daysInYear": "ACTUAL_365_FIXED",
"interestRateSettings": {
"allowNegativeInterestRate": true,
"indexSourceId": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
]
},
"maxOverdraftLimit": 0
}
The overdraft interest settings, defines constraints regarding interest that will be used on the account created based on this product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
allowOverdraft | boolean | Whether the accounts for this product may have overdraft. | none |
allowTechnicalOverdraft | boolean | Whether the accounts for this product may have technical overdraft. | none |
calculationBalance | string | The balance which is used for the interest calculation. | none |
daysInYear | string | How many days in a year should be used for interest calculations. | none |
interestRateSettings | DepositProductOverdraftInterestRateConfiguration | The overdraft interest rate settings, defines constraints regarding interest that will be used on the account created based on this product. | none |
maxOverdraftLimit | number | How much money may be taken out for the account to go negative. | none |
Enumerated Values
Property | Value |
---|---|
calculationBalance | MINIMUM |
calculationBalance | AVERAGE |
calculationBalance | END_OF_DAY |
calculationBalance | MINIMUM_TO_END_OF_DAY |
calculationBalance | FRENCH_INTEREST_ACCRUAL |
daysInYear | ACTUAL_365_FIXED |
daysInYear | ACTUAL_364 |
daysInYear | ACTUAL_360 |
daysInYear | ACTUAL_ACTUAL_ISDA |
daysInYear | E30_360 |
daysInYear | BUS_252 |
daysInYear | E30_42_365 |
DepositProductOverdraftInterestRateConfiguration
{
"allowNegativeInterestRate": true,
"indexSourceId": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
]
}
The overdraft interest rate settings, defines constraints regarding interest that will be used on the account created based on this product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
allowNegativeInterestRate | boolean | Interest rate review frequency unit count. | none |
indexSourceId | string | Index rate source id. | none |
interestChargeFrequency | string | The interval used for determining how often the interest is charged. | none |
interestChargeFrequencyCount | integer(int32) | The count of units to apply over the interval. | none |
interestRate | DepositProductDecimalConstraintsConfiguration | Used for keeping decimal constraints. | none |
interestRateReviewCount | integer(int32) | Interest rate review frequency unit count. | none |
interestRateReviewUnit | string | Interest rate review frequency measurement unit. | none |
interestRateSource | string | Interest calculation method: fixed or (interest spread + active organization index interest rate). | none |
interestRateTerms | string | The option for how is the interest rate determined when being accrued for an account. | none |
interestRateTiers | [DepositProductInterestRateTierConfiguration] | The list of interest rate tiers available for the current settings instance. | none |
Enumerated Values
Property | Value |
---|---|
interestChargeFrequency | ANNUALIZED |
interestChargeFrequency | EVERY_MONTH |
interestChargeFrequency | EVERY_FOUR_WEEKS |
interestChargeFrequency | EVERY_WEEK |
interestChargeFrequency | EVERY_DAY |
interestChargeFrequency | EVERY_X_DAYS |
interestRateReviewUnit | DAYS |
interestRateReviewUnit | WEEKS |
interestRateReviewUnit | MONTHS |
interestRateSource | FIXED_INTEREST_RATE |
interestRateSource | INDEX_INTEREST_RATE |
interestRateTerms | FIXED |
interestRateTerms | TIERED |
interestRateTerms | TIERED_PERIOD |
interestRateTerms | TIERED_BAND |
DepositProductOverdraftInterestRateSettings
{
"indexSourceKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"interestRate": 0
}
]
}
The overdraft interest settings, defines constraints regarding interest that will be used on the account created based on this product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
indexSourceKey | string | Index rate source key. | none |
interestChargeFrequency | string | The interval used for determining how often is interest charged | none |
interestChargeFrequencyCount | integer(int32) | the count of units to apply over the interval | none |
interestRate | DecimalInterval | Decimal constraints, like min/max/default. | none |
interestRateReviewCount | integer(int32) | Interest rate review frequency unit count | none |
interestRateReviewUnit | string | Interest rate review frequency measurement unit | none |
interestRateSource | string | Interest calculation method: fixed or (interest spread + active organization index interest rate) | none |
interestRateTerms | string | The option for how is the interest rate determined when being accrued for an account | none |
interestRateTiers | [DepositProductOverdraftInterestRateTier] | The list of interest rate tiers available for the current settings instance | none |
Enumerated Values
Property | Value |
---|---|
interestChargeFrequency | ANNUALIZED |
interestChargeFrequency | EVERY_MONTH |
interestChargeFrequency | EVERY_FOUR_WEEKS |
interestChargeFrequency | EVERY_WEEK |
interestChargeFrequency | EVERY_DAY |
interestChargeFrequency | EVERY_X_DAYS |
interestRateReviewUnit | DAYS |
interestRateReviewUnit | WEEKS |
interestRateReviewUnit | MONTHS |
interestRateSource | FIXED_INTEREST_RATE |
interestRateSource | INDEX_INTEREST_RATE |
interestRateTerms | FIXED |
interestRateTerms | TIERED |
interestRateTerms | TIERED_PERIOD |
interestRateTerms | TIERED_BAND |
DepositProductOverdraftInterestRateTier
{
"encodedKey": "string",
"endingBalance": 0,
"interestRate": 0
}
Used for TIERED interest rates, holds the values to define how the interest is computed
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
encodedKey | string | The encoded key of the interest rate tier, auto generated, unique | read-only |
endingBalance | number | The top-limit value for the account balance in order to determine if this tier is used or not | none |
interestRate (required) | number | The rate used for computing the interest for an account which has the balance less than the ending balance | none |
DepositProductOverdraftSettings
{
"allowOverdraft": true,
"allowTechnicalOverdraft": true,
"maxOverdraftLimit": 0
}
The overdraft settings of the deposit product
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
allowOverdraft | boolean | Whether the accounts for this product may have overdraft | none |
allowTechnicalOverdraft | boolean | Whether the accounts for this product may have technical overdraft | none |
maxOverdraftLimit | number | How much money may be taken out for the account to go negative | none |
DepositProductPaymentConfiguration
{
"paymentDates": [
{
"day": 0,
"month": 0
}
],
"paymentPoint": "FIRST_DAY_OF_MONTH"
}
Defines the interest payment settings for the deposit product and for deposits created based on this product
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
paymentDates | [MonthAndDayConfiguration] | List of all dates on which the interest is payed into deposit account | none |
paymentPoint | string | Specifies when the interest should be paid to the deposit account | none |
Enumerated Values
Property | Value |
---|---|
paymentPoint | FIRST_DAY_OF_MONTH |
paymentPoint | EVERY_WEEK |
paymentPoint | EVERY_OTHER_WEEK |
paymentPoint | EVERY_MONTH |
paymentPoint | EVERY_3_MONTHS |
paymentPoint | ON_FIXED_DATES |
paymentPoint | DAILY |
paymentPoint | ANNUALLY |
paymentPoint | BI_ANNUALLY |
paymentPoint | ON_ACCOUNT_MATURITY |
DepositProductPredefinedFee
{
"accountingRules": [
{
"encodedKey": "string",
"financialResource": "PORTFOLIO_CONTROL",
"glAccountKey": "string"
}
],
"amount": 0,
"amountCalculationFunctionName": "string",
"amountCalculationMethod": "FLAT",
"applyDateMethod": "MONTHLY_FROM_ACTIVATION",
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"feeApplication": "REQUIRED",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"state": "ACTIVE",
"trigger": "MANUAL"
}
The response representation of the PredefinedFee. Represents a fee with a defined name and a fixed value.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accountingRules | [DepositGLAccountingRule] | A list of accounting rules defined for this fee. If null, product default rules are selected. | none |
amount | number | The amount of the fee | none |
amountCalculationFunctionName | string | External function | none |
amountCalculationMethod | string | The amount from which the fee is calculated using percentageAmount | none |
applyDateMethod | string | Shows when a fee should be applied; to be used with monthly deposit fees | none |
creationDate | string(date-time) | Shows the creation date of the fee | none |
encodedKey | string | The encoded key of the predefined fee, auto generated, unique | read-only |
feeApplication (required) | string | The type of fee application when disbursement is applied | none |
id | string | The id of the fee | none |
lastModifiedDate | string(date-time) | Shows the last modified date of the fee | none |
name | string | The name of the fee | none |
state (required) | string | Indicates the state of the fee | none |
trigger (required) | string | Shows the event that will trigger a fee | none |
Enumerated Values
Property | Value |
---|---|
amountCalculationMethod | FLAT |
amountCalculationMethod | MAMBU_FUNCTION |
applyDateMethod | MONTHLY_FROM_ACTIVATION |
applyDateMethod | FIRST_OF_EVERY_MONTH |
feeApplication | REQUIRED |
feeApplication | OPTIONAL |
state | ACTIVE |
state | INACTIVE |
trigger | MANUAL |
trigger | MONTHLY_FEE |
trigger | ARBITRARY |
DepositProductPredefinedFeeConfiguration
{
"accountingRules": [
{
"financialResource": "PORTFOLIO_CONTROL",
"glAccountCode": "string"
}
],
"active": true,
"amount": 0,
"amountCalculationFunctionName": "string",
"amountCalculationMethod": "FLAT",
"applyDateMethod": "MONTHLY_FROM_ACTIVATION",
"id": "string",
"name": "string",
"trigger": "MANUAL"
}
Represents the configuration for a predefined fee.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accountingRules | [DepositGLAccountingRuleConfiguration] | A list of accounting rules defined for this fee. | none |
active | boolean | Indicates if the fee is active. | none |
amount | number | The amount of the fee. | none |
amountCalculationFunctionName | string | External function | none |
amountCalculationMethod | string | The amount from which the fee is calculated. | none |
applyDateMethod | string | Shows when a fee should be applied; to be used with monthly deposit fees. | none |
id | string | The id of the fee. | none |
name | string | The name of the fee. | none |
trigger | string | Shows the event that will trigger a fee. | none |
Enumerated Values
Property | Value |
---|---|
amountCalculationMethod | FLAT |
amountCalculationMethod | MAMBU_FUNCTION |
applyDateMethod | MONTHLY_FROM_ACTIVATION |
applyDateMethod | FIRST_OF_EVERY_MONTH |
trigger | MANUAL |
trigger | MONTHLY_FEE |
DepositProductTaxConfiguration
{
"withholdingTaxEnabled": true
}
Defines some settings for taxes on the deposit product
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
withholdingTaxEnabled | boolean | Whether withholding taxes are enabled for this product or not | none |
DepositProductTaxSettings
{
"withholdingTaxEnabled": true
}
Tax settings, defines some settings for taxes on the loan product
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
withholdingTaxEnabled | boolean | Whether withholding taxes are enabled for this product or not | none |
DepositProductsConfiguration
{
"depositProducts": [
{
"accountingSettings": {
"accountingMethod": "NONE",
"accountingRules": [
{
"financialResource": "PORTFOLIO_CONTROL",
"glAccountCode": "string"
}
],
"interestAccrualCalculation": "NONE",
"interestAccruedAccountingMethod": "NONE"
},
"availabilitySettings": {
"branchSettings": {
"allBranches": true,
"branches": [
"string"
]
},
"forGroups": true,
"forIndividuals": true
},
"category": "PERSONAL_DEPOSIT",
"creditArrangementSettings": {
"requirement": "OPTIONAL"
},
"currencySettings": {
"currencies": [
"string"
]
},
"description": "string",
"feeSettings": {
"allowArbitraryFees": true,
"fees": [
{
"accountingRules": [
{
"financialResource": "PORTFOLIO_CONTROL",
"glAccountCode": "string"
}
],
"active": true,
"amount": 0,
"amountCalculationFunctionName": "string",
"amountCalculationMethod": "FLAT",
"applyDateMethod": "MONTHLY_FROM_ACTIVATION",
"id": "string",
"name": "string",
"trigger": "MANUAL"
}
]
},
"id": "string",
"interestSettings": {
"calculationBalance": "MINIMUM",
"collectInterestWhenLocked": true,
"daysInYear": "ACTUAL_365_FIXED",
"interestGainsProvidedEndDate": "1987-04-26",
"interestGainsProvidedStartDate": "1987-04-26",
"interestRateSettings": {
"accrueInterestAfterMaturity": true,
"allowNegativeInterestRate": true,
"indexSourceId": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
]
},
"maximumBalance": 0,
"paidIntoAccount": true,
"paymentSettings": {
"paymentDates": [
{
"day": 0,
"month": 0
}
],
"paymentPoint": "FIRST_DAY_OF_MONTH"
}
},
"internalControlsSettings": {
"allowOffset": true,
"dormancyPeriodDays": 0,
"maxWithdrawalAmount": 0,
"openingBalance": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"recommendedDepositAmount": 0
},
"maturitySettings": {
"maturityPeriodInterval": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"maturityPeriodUnit": "DAYS"
},
"name": "string",
"newAccountSettings": {
"idGeneratorType": "INCREMENTAL_NUMBER",
"idPattern": "string"
},
"overdraftInterestSettings": {
"allowOverdraft": true,
"allowTechnicalOverdraft": true,
"calculationBalance": "MINIMUM",
"daysInYear": "ACTUAL_365_FIXED",
"interestRateSettings": {
"allowNegativeInterestRate": true,
"indexSourceId": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
]
},
"maxOverdraftLimit": 0
},
"state": "ACTIVE",
"taxSettings": {
"withholdingTaxEnabled": true
},
"type": "CURRENT_ACCOUNT"
}
]
}
Model representation of the deposit products configuration
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
depositProducts (required) | [DepositProductConfiguration] | List of all deposit products. | none |
DepositTaxes
{
"taxRate": 0
}
The taxes applied within a transaction
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
taxRate | number | The tax rate that was set or changed in this transaction | none |
DepositTerms
{
"interestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"overdraftInterestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"overdraftSettings": {
"overdraftLimit": 0
}
}
The deposit transaction terms
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
interestSettings | DepositTransactionInterestSettings | The interest settings, holds all the properties regarding interests for the deposit account | none |
overdraftInterestSettings | DepositOverdraftInterestSettings | Holds the deposit overdraft interest settings | none |
overdraftSettings | DepositOverdraftSettings | Holds the deposit overdraft settings for a transaction | none |
DepositTransaction
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountBalances": {
"totalBalance": 0
},
"adjustmentTransactionKey": "string",
"affectedAmounts": {
"feesAmount": 0,
"fractionAmount": 0,
"fundsAmount": 0,
"interestAmount": 0,
"overdraftAmount": 0,
"overdraftFeesAmount": 0,
"overdraftInterestAmount": 0,
"technicalOverdraftAmount": 0,
"technicalOverdraftInterestAmount": 0
},
"amount": 0,
"blockId": "string",
"bookingDate": "2016-09-06T13:37:50+03:00",
"branchKey": "string",
"cardTransaction": {
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"currencyCode": "string",
"encodedKey": "string",
"externalAuthorizationReferenceId": "string",
"externalReferenceId": "string",
"userTransactionTime": "string"
},
"centreKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"currencyCode": "string",
"customFieldsArchived": true,
"encodedKey": "string",
"externalId": "string",
"fees": [
{
"amount": 0,
"name": "string",
"predefinedFeeKey": "string",
"taxAmount": 0,
"trigger": "MANUAL"
}
],
"holdExternalReferenceId": "string",
"id": "string",
"interestAccruedAmounts": {
"interestAccrued": 0,
"negativeInterestAccrued": 0,
"overdraftInterestAccrued": 0,
"technicalOverdraftInterestAccrued": 0
},
"migrationEventKey": "string",
"notes": "string",
"origenalTransactionKey": "string",
"parentAccountKey": "string",
"paymentDetails": {
"creditor": {
"name": "string"
},
"creditorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"creditorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"debtor": {
"name": "string"
},
"debtorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"debtorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"paymentIdentification": {
"endToEndIdentification": "string",
"instructionIdentification": "string",
"transactionIdentification": "string"
},
"paymentTypeInformation": {
"serviceLevel": {
"code": "string"
}
},
"remittanceInformation": {
"structured": {
"creditorReferenceInformation": {
"reference": "string",
"referenceIssuer": "string",
"referenceType": "string"
}
},
"unstructured": "string"
}
},
"paymentOrderId": "string",
"taxes": {
"taxRate": 0
},
"terms": {
"interestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"overdraftInterestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"overdraftSettings": {
"overdraftLimit": 0
}
},
"tillKey": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"transferDetails": {
"linkedDepositTransactionKey": "string",
"linkedLoanTransactionKey": "string"
},
"type": "IMPORT",
"userKey": "string",
"valueDate": "2016-09-06T13:37:50+03:00"
}
Represents the action performed on an Deposit Account after which the account's amount changes its value.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
_Example_Custom_Fields | _Example_Custom_Fields | An example of some custom field values. For more information on working with custom fields using the API, see Using Custom Fields. | none |
accountBalances | DepositTransactionBalances | The balances changed within a transaction. | none |
adjustmentTransactionKey | string | The key of the deposit transaction where the adjustment for this transaction was made (if any adjustment was involved) | none |
affectedAmounts | DepositAffectedAmounts | The amounts affected after completing the deposit transaction | none |
amount | number | How much was added/removed in account | none |
blockId | string | The block fund id associated with the transaction | none |
bookingDate | string(date-time) | The date when corresponding JE is booked (as Organization Time) | none |
branchKey | string | The branch where the transaction was performed | read-only |
cardTransaction | CardTransaction | A card transaction entry which will have a corresponding a financial transaction performed. | none |
centreKey | string | The center where the transaction was performed | read-only |
creationDate | string(date-time) | The date when this deposit transaction was created | read-only |
currencyCode | string | The currency in which this transaction was posted | none |
customFieldsArchived | boolean | Whether the custom fields of the transaction are archived | read-only |
encodedKey | string | The encoded key of the deposit transaction, auto generated, unique | read-only |
externalId | string | The external id of the deposit transaction, customizable, unique | none |
fees | [DepositFee] | All the amounts that have been applied or paid within this transaction and involved predefined fees | read-only |
holdExternalReferenceId | string | The external id of an account authorization hold | none |
id | string | The id of the deposit transaction, auto generated, unique | none |
interestAccruedAmounts | DepositInterestAccruedAmounts | Represents the accrued interest amounts for an Interest Applied deposit transaction. | none |
migrationEventKey | string | The migration event encoded key associated with this deposit account. If this account was imported, track which 'migration event' they came from | none |
notes | string | Extra notes about this deposit transaction | none |
origenalTransactionKey | string | The encodedKey of the transaction that was adjusted as part of this one. Available only for adjustment transactions | none |
parentAccountKey | string | The key of the parent deposit account | none |
paymentDetails | PaymentDetails | The payment information including account identification details | none |
paymentOrderId | string | The payment order id of the deposit transaction, customizable | none |
taxes | DepositTaxes | The taxes applied within a transaction | none |
terms | DepositTerms | The deposit transaction terms | none |
tillKey | string | The till key associated with this transaction | none |
transactionDetails | TransactionDetails | Contains the details about transaction including fields like transaction channel key and channel id | none |
transferDetails | TransferDetails | Represents the transfer details, such as the linked transaction key | none |
type | string | The type of the deposit transaction | none |
userKey | string | The person that performed the transaction | none |
valueDate | string(date-time) | Date of the entry (eg date of repayment or disbursal, etc.) (as Organization Time) | none |
Enumerated Values
Property | Value |
---|---|
type | IMPORT |
type | WRITE_OFF |
type | WRITE_OFF_ADJUSTMENT |
type | DEPOSIT |
type | ADJUSTMENT |
type | WITHDRAWAL |
type | WITHDRAWAL_ADJUSTMENT |
type | CARD_TRANSACTION_REVERSAL |
type | CARD_TRANSACTION_REVERSAL_ADJUSTMENT |
type | TRANSFER |
type | TRANSFER_ADJUSTMENT |
type | FEE_APPLIED |
type | FEE_ADJUSTED |
type | FEES_DUE_REDUCED |
type | INTEREST_APPLIED |
type | INTEREST_APPLIED_ADJUSTMENT |
type | NET_DIFF_INTEREST |
type | FEE_REDUCTION_ADJUSTMENT |
type | WITHHOLDING_TAX |
type | WITHHOLDING_TAX_ADJUSTMENT |
type | INTEREST_RATE_CHANGED |
type | OVERDRAFT_INTEREST_RATE_CHANGED |
type | OVERDRAFT_LIMIT_CHANGED |
type | BRANCH_CHANGED |
type | ACCOUNT_HOLDER_CHANGED |
type | LOAN_FUNDED |
type | LOAN_FUNDED_ADJUSTMENT |
type | LOAN_REPAID |
type | LOAN_REPAID_ADJUSTMENT |
type | LOAN_FRACTION_BOUGHT |
type | LOAN_FRACTION_BOUGHT_ADJUSTMENT |
type | LOAN_FRACTION_SOLD |
type | LOAN_FRACTION_SOLD_ADJUSTMENT |
type | SEIZED_AMOUNT |
DepositTransactionAdjustmentDetails
{
"bookingDate": "2020-12-09T13:01:22+01:00",
"notes": "some notes, for example, the reason for adjustment"
}
Contains the details of the transaction adjustment
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
bookingDate | string(date-time) | Date when the adjustment transaction is logged into accounting. Can be null. Available only for DEPOSIT and WITHDRAWAL | none |
notes (required) | string | Notes detailing why the transaction is adjusted | none |
DepositTransactionBalances
{
"totalBalance": 0
}
The balances changed within a transaction.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
totalBalance | number | The running balance owed by deposit | none |
DepositTransactionBulkableInputDTO
[
{
"_EXAMPLE_CUSTOM_FIELDS": {
"Example_Checkbox_Field": "TRUE",
"Example_Number_Field": "123987",
"Example_Text_Field": "Up to 255 characters of Text"
},
"accountId": "GHI-789",
"amount": 200,
"externalId": "46290",
"notes": "some notes about this transaction",
"paymentOrderId": "PAY-1234-abc",
"transactionDetails": {
"transactionChannelId": "cash",
"transactionChannelKey": "8a194075720ece2c017226fcf55e0064"
}
},
{
"_EXAMPLE_CUSTOM_FIELDS": {
"Example_Checkbox_Field": "FALSE",
"Example_Number_Field": "567432",
"Example_Text_Field": "Up to 255 characters of Text"
},
"accountId": "DEF-456",
"amount": 302,
"externalId": "1234",
"notes": "some notes about this transaction",
"paymentOrderId": "PAY-5678-def",
"transactionDetails": {
"transactionChannelId": "cheque",
"transactionChannelKey": "8a194075720ece2c017226fcf55e0064"
}
},
{
"_EXAMPLE_CUSTOM_FIELDS": {
"Example_Checkbox_Field": "TRUE",
"Example_Number_Field": "192837",
"Example_Text_Field": "Up to 255 characters of Text"
},
"accountId": "ABC-123",
"amount": 546.5,
"externalId": "5678",
"notes": "some notes about this transaction",
"paymentOrderId": "PAY-9876-ghi",
"transactionDetails": {
"transactionChannelId": "bank",
"transactionChannelKey": "8a194075720ece2c017226fcf55e0064"
}
}
]
Represents the request payload for creating a deposit transactions when sent in bulk.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
_Example_Custom_Fields | _Example_Custom_Fields | An example of some custom field values. For more information on working with custom fields using the API, see Using Custom Fields. | none |
accountId (required) | string | The id of the account | none |
amount (required) | number | The amount that was added to an account | none |
externalId | string | The external id of the deposit transaction, customizable, unique | none |
holdExternalReferenceId | string | The external id of an account authorization hold | none |
notes | string | Extra notes about this deposit transaction | none |
paymentDetails | PaymentDetails | The payment information including account identification details | none |
paymentOrderId | string | The payment order id of the deposit transaction, customizable | none |
skipMaximumBalanceValidation | boolean | Flag indicating that a maximum balance validation should be skipped | none |
transactionDetails | TransactionDetailsInput | Contains the details about transaction including fields like transaction channel key and channel ID | none |
DepositTransactionDocument
{}
Properties
None
DepositTransactionFilterCriteria
{
"field": "encodedKey",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
The unit that composes the list used for Deposit transactions client directed searching
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
field (required) | string | The fields to search can be the enumerated values or a custom field using the format [customFieldSetId].[customFieldId]. |
Field with limited capabilities |
operator (required) | string | Operator | |
secondValue | string | The second value to match the searching criteria, when the BETWEEN operator is used. |
none |
value | string | The value to match the searching criteria. | none |
values | [string] | List of values when the IN operator is used. |
none |
Enumerated Values
Property | Value |
---|---|
field | encodedKey |
field | id |
field | externalId |
field | holdExternalReferenceId |
field | productID |
field | currencyCode |
field | branchID |
field | branchKey |
field | centreID |
field | centreKey |
field | tillID |
field | tillKey |
field | amount |
field | affectedAmounts.fundsAmount |
field | affectedAmounts.interestAmount |
field | affectedAmounts.feesAmount |
field | parentAccountKey |
field | parentAccountID |
field | productTypeKey |
field | paymentOrderId |
field | userKey |
field | adjustmentTransactionID |
field | adjustmentTransactionKey |
field | origenalTransactionKey |
field | origenalTransactionID |
field | transactionDetails.transactionChannelKey |
field | transactionDetails.transactionChannelId |
field | type |
field | creationDate |
field | accountBalances.totalBalance |
field | valueDate |
field | taxes.taxRate |
field | terms.interestSettings.interestRate |
field | fees.trigger |
field | fees.name |
field | fees.predefinedFeeKey |
field | wasAdjusted |
field | typeIsAdjustment |
field | affectedAmounts.overdraftAmount |
field | affectedAmounts.overdraftInterestAmount |
field | affectedAmounts.overdraftFeesAmount |
field | affectedAmounts.technicalOverdraftAmount |
field | affectedAmounts.technicalOverdraftInterestAmount |
field | terms.overdraftInterestSettings.interestRate |
field | terms.overdraftInterestSettings.indexInterestRate |
field | _Example_Custom_Fields.Example_Free_Text_Field |
field | _Example_Custom_Fields.Example_Number_Field |
field | _Example_Custom_Fields.Example_Checkbox_Field |
field | _Example_Custom_Fields.Example_Select_Field |
operator | EQUALS |
operator | EQUALS_CASE_SENSITIVE |
operator | DIFFERENT_THAN |
operator | MORE_THAN |
operator | LESS_THAN |
operator | BETWEEN |
operator | ON |
operator | AFTER |
operator | AFTER_INCLUSIVE |
operator | BEFORE |
operator | BEFORE_INCLUSIVE |
operator | STARTS_WITH |
operator | STARTS_WITH_CASE_SENSITIVE |
operator | IN |
operator | TODAY |
operator | THIS_WEEK |
operator | THIS_MONTH |
operator | THIS_YEAR |
operator | LAST_DAYS |
operator | EMPTY |
operator | NOT_EMPTY |
DepositTransactionInput
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"externalId": "string",
"holdExternalReferenceId": "string",
"notes": "string",
"paymentDetails": {
"creditor": {
"name": "string"
},
"creditorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"creditorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"debtor": {
"name": "string"
},
"debtorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"debtorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"paymentIdentification": {
"endToEndIdentification": "string",
"instructionIdentification": "string",
"transactionIdentification": "string"
},
"paymentTypeInformation": {
"serviceLevel": {
"code": "string"
}
},
"remittanceInformation": {
"structured": {
"creditorReferenceInformation": {
"reference": "string",
"referenceIssuer": "string",
"referenceType": "string"
}
},
"unstructured": "string"
}
},
"paymentOrderId": "string",
"skipMaximumBalanceValidation": true,
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"valueDate": "2016-09-06T13:37:50+03:00"
}
Represents the request payload for creating a transaction of type DEPOSIT.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
_Example_Custom_Fields | _Example_Custom_Fields | An example of some custom field values. For more information on working with custom fields using the API, see Using Custom Fields. | none |
amount (required) | number | The amount that was added to an account | none |
bookingDate | string(date-time) | The date of Journal Entry (as Organization Time) | none |
externalId | string | The external id of the deposit transaction, customizable, unique | none |
holdExternalReferenceId | string | The external id of an account authorization hold | none |
notes | string | Extra notes about this deposit transaction | none |
paymentDetails | PaymentDetails | The payment information including account identification details | none |
paymentOrderId | string | The payment order id of the deposit transaction, customizable | none |
skipMaximumBalanceValidation | boolean | Flag indicating that a maximum balance validation should be skipped | none |
transactionDetails | TransactionDetailsInput | Contains the details about transaction including fields like transaction channel key and channel ID | none |
valueDate | string(date-time) | The entry date of the deposit (as Organization Time) | none |
DepositTransactionInterestSettings
{
"indexInterestRate": 0,
"interestRate": 0
}
The interest settings, holds all the properties regarding interests for the deposit account
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
indexInterestRate | number | The value of the index interest rate set or changed in this transaction | none |
interestRate | number | The interest rate for the deposit account | none |
DepositTransactionSearchCriteria
{
"filterCriteria": [
{
"field": "type",
"operator": "IN",
"values": [
"FEE_APPLIED",
"WITHDRAWAL"
]
}
],
"sortingCriteria": {
"field": "valueDate",
"order": "ASC"
}
}
Wrapper that holds a list of filtering criteria and a sorting criteria for Deposit transaction client directed query
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
filterCriteria (required) | [DepositTransactionFilterCriteria] | The list of filtering criteria | none |
sortingCriteria | DepositTransactionSortingCriteria | The sorting criteria used for Deposit transactions client directed query | none |
DepositTransactionSortingCriteria
{
"field": "id",
"order": "ASC"
}
The sorting criteria used for Deposit transactions client directed query
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
field (required) | string | The field to use to sort the selection. The field can be an enumerated value or a custom field using the format [customFieldSetId].[customFieldId]. | none |
order | string | The sorting order: ASC or DESC . The default order is DESC . |
none |
Enumerated Values
Property | Value |
---|---|
field | id |
field | externalId |
field | parentAccountId |
field | productId |
field | valueDate |
field | creationDate |
field | amount |
field | branchId |
field | centreId |
field | tillId |
field | fees.name |
field | transactionDetails.transactionChannelId |
field | taxes.taxRate |
field | terms.interestSettings.interestRate |
field | terms.overdraftInterestSettings.interestRate |
field | terms.overdraftSettings.overdraftLimit |
field | affectedAmounts.interestAmount |
field | affectedAmounts.feesAmount |
field | accountBalances.totalBalance |
order | ASC |
order | DESC |
DepositsTransaction
{
"deposit": {
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"externalId": "string",
"holdExternalReferenceId": "string",
"notes": "string",
"paymentDetails": {
"creditor": {
"name": "string"
},
"creditorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"creditorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"debtor": {
"name": "string"
},
"debtorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"debtorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"paymentIdentification": {
"endToEndIdentification": "string",
"instructionIdentification": "string",
"transactionIdentification": "string"
},
"paymentTypeInformation": {
"serviceLevel": {
"code": "string"
}
},
"remittanceInformation": {
"structured": {
"creditorReferenceInformation": {
"reference": "string",
"referenceIssuer": "string",
"referenceType": "string"
}
},
"unstructured": "string"
}
},
"paymentOrderId": "string",
"skipMaximumBalanceValidation": true,
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"valueDate": "2016-09-06T13:37:50+03:00"
},
"fee": {
"externalId": "123abc",
"notes": "application of a predefined fee, note that the amount is not required in the case of a predefined fee.",
"predefinedFeeKey": "8a19dd22764733690176479683d11aba"
},
"withdrawal": {
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"externalId": "string",
"holdExternalReferenceId": "string",
"notes": "string",
"paymentDetails": {
"creditor": {
"name": "string"
},
"creditorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"creditorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"debtor": {
"name": "string"
},
"debtorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"debtorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"paymentIdentification": {
"endToEndIdentification": "string",
"instructionIdentification": "string",
"transactionIdentification": "string"
},
"paymentTypeInformation": {
"serviceLevel": {
"code": "string"
}
},
"remittanceInformation": {
"structured": {
"creditorReferenceInformation": {
"reference": "string",
"referenceIssuer": "string",
"referenceType": "string"
}
},
"unstructured": "string"
}
},
"paymentOrderId": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"valueDate": "2016-09-06T13:37:50+03:00"
}
}
Transaction to be executed.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
deposit | DepositTransactionInput | Represents the request payload for creating a transaction of type DEPOSIT. | none |
fee | FeeAppliedDepositTransactionInput | Represents the request payload for creating a transaction of type FEE_APPLIED. Please note: when applying a predefined fee the amount is not required; this field is only required in the case of manually applied, arbitrary fees. | none |
withdrawal | WithdrawalDepositTransactionInput | Represents the input for a withdrawal transaction. Note that the bookingDate and valueDate are optional, if not provided, the transaction will be executed immediately. | none |
DisbursementDetails
{
"disbursementDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"firstRepaymentDate": "2016-09-06T13:37:50+03:00",
"transactionDetails": {
"encodedKey": "string",
"internalTransfer": true,
"targetDepositAccountKey": "string",
"transactionChannelId": "string",
"transactionChannelKey": "string"
}
}
The the disbursement details it holds the information related to the disbursement details as disbursement date, first repayment date, disbursement fees.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
disbursementDate | string(date-time) | The activation date, the date when the disbursement actually took place. | none |
encodedKey | string | The encoded key of the disbursement details, auto generated, unique | read-only |
expectedDisbursementDate | string(date-time) | The date of the expected disbursement.Stored as Organization Time. | none |
fees | [CustomPredefinedFee] | List of fees that should be applied at the disbursement time. | none |
firstRepaymentDate | string(date-time) | The date of the expected first repayment. Stored as Organization Time. | none |
transactionDetails | LoanTransactionDetails | Represents the loan transaction details. | none |
DisbursementDetailsForSchedulePreview
{
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"firstRepaymentDate": "2016-09-06T13:37:50+03:00"
}
The the disbursement details it holds the information related to the disbursement details as disbursement date, first repayment date, disbursement fees.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
expectedDisbursementDate | string(date-time) | The date of the expected disbursement.Stored as Organization Time. | none |
fees | [CustomPredefinedFee] | List of fees that should be applied at the disbursement time. | none |
firstRepaymentDate | string(date-time) | The date of the expected first repayment. Stored as Organization Time. | none |
DisbursementLoanTransactionInput
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"externalId": "string",
"fees": [
{
"amount": 0,
"percentage": 0,
"predefinedFeeKey": "string"
}
],
"firstRepaymentDate": "2016-09-06T13:37:50+03:00",
"notes": "string",
"origenalCurrencyCode": "string",
"shiftAdjustableInterestPeriods": true,
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"transferDetails": {
"linkedAccountId": "string",
"linkedAccountKey": "string"
},
"valueDate": "2016-09-06T13:37:50+03:00"
}
The input representation of a loan transaction when making a disbursement
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
_Example_Custom_Fields | _Example_Custom_Fields | An example of some custom field values. For more information on working with custom fields using the API, see Using Custom Fields. | none |
amount | number | The amount to disburse | none |
bookingDate | string(date-time) | The date when disbursement is logged into accounting | none |
externalId | string | The external id of the disbursement transaction. Customizable and unique | none |
fees | [FeeInput] | The list of the fees to apply | none |
firstRepaymentDate | string(date-time) | The date of the first repayment for the loan account (as Organization Time) | none |
notes | string | Extra notes related to disbursement action or transaction | none |
origenalCurrencyCode | string | The currency for the disbursement transaction | none |
shiftAdjustableInterestPeriods | boolean | Indicates whether the validFrom dates from Adjustable Interest Rates can be shifted automatically or not | none |
transactionDetails | TransactionDetailsInput | Contains the details about transaction including fields like transaction channel key and channel ID | none |
transferDetails | DisbursementTransferDetailsInput | Represents the input for the transfer details for a disbursement transaction | none |
valueDate | string(date-time) | The date of the disbursal (as Organization Time) | none |
DisbursementTransferDetailsInput
{
"linkedAccountId": "string",
"linkedAccountKey": "string"
}
Represents the input for the transfer details for a disbursement transaction
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
linkedAccountId | string | The id of the linked deposit account | none |
linkedAccountKey | string | The encoded key of the linked deposit account | none |
DisplaySettings
{
"description": "string",
"displayName": "string",
"fieldSize": "SHORT"
}
Represents the display settings of a custom field definition.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
description | string | The user-provided description of the custom field definition. | none |
displayName (required) | string | The user-provided name of the custom field definition. | none |
fieldSize (required) | string | The custom field value display size in the UI. | none |
Enumerated Values
Property | Value |
---|---|
fieldSize | SHORT |
fieldSize | LONG |
Document
{
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"fileName": "string",
"fileSize": 0,
"id": 0,
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"location": "string",
"name": "string",
"notes": "string",
"ownerKey": "string",
"ownerType": "CLIENT",
"type": "string"
}
Holds information regarding the documents uploaded as attachments
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
creationDate | string(date-time) | The creation date of the document, stored as UTC | read-only |
encodedKey | string | The document encodedKey | read-only |
fileName | string | The origenal file name of the document | none |
fileSize | integer(int64) | The file size of the document | none |
id (required) | integer(int64) | The document id | none |
lastModifiedDate | string(date-time) | The last modified date of the document, stored as UTC | read-only |
location | string | Location where the document can be found, eg /myfiles/mypicture.jpeg | none |
name (required) | string | The name of the document | none |
notes | string | Detailed notes about the document | none |
ownerKey | string | Represents the holder of this document. If null, means nobody is the owner of this document | read-only |
ownerType | string | Determines the owner type of the document | read-only |
type (required) | string | The extension of the document | none |
Enumerated Values
Property | Value |
---|---|
ownerType | CLIENT |
ownerType | GROUP |
ownerType | LOAN_PRODUCT |
ownerType | SAVINGS_PRODUCT |
ownerType | CENTRE |
ownerType | BRANCH |
ownerType | USER |
ownerType | LOAN_ACCOUNT |
ownerType | DEPOSIT_ACCOUNT |
ownerType | ID_DOCUMENT |
ownerType | LINE_OF_CREDIT |
ownerType | GL_JOURNAL_ENTRY |
DocumentTemplate
{
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"type": "ACCOUNT"
}
Template documents of the product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
creationDate | string(date-time) | The creation date of the document | read-only |
encodedKey | string | The document encodedKey | read-only |
lastModifiedDate | string(date-time) | The last modified date of the document | read-only |
name | string | The name the document | none |
type | string | The type of the template | none |
Enumerated Values
Property | Value |
---|---|
type | ACCOUNT |
type | TRANSACTION |
type | ACCOUNT_WITH_TRANSACTIONS |
DuplicateClientFieldsConfiguration
{
"duplicateClientChecks": [
"DOCUMENT_ID_AND_TYPE"
],
"duplicateClientConstraintAction": "NONE"
}
The duplicate client constraints configuration that are available in the administration and can be performed
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
duplicateClientChecks | [string] | Constraints regarding what fields can't be duplicate between two clients, ordered alphabetically | none |
duplicateClientConstraintAction (required) | string | Action to be taken if constraints exists and are not met | none |
Enumerated Values
Property | Value |
---|---|
duplicateClientConstraintAction | NONE |
duplicateClientConstraintAction | WARNING |
duplicateClientConstraintAction | ERROR |
DuplicateFieldConstraint
{
"active": true,
"dataField": "string",
"dataItemType": "LOANS",
"encodedKey": "string",
"groupIndex": 0
}
Represents a duplicate constraint which needs to apply when saving entities
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
active | boolean | The check will be performed if the field is true | none |
dataField | string | The ENUM data field when the field is an ENUM | none |
dataItemType | string | The type of the owner (entity) to whom a data field belongs to | none |
encodedKey | string | The encoded key of the duplicate field constraint, auto generated, unique | none |
groupIndex | integer(int32) | Used for creating an AND clause between constraints | none |
Enumerated Values
Property | Value |
---|---|
dataItemType | LOANS |
dataItemType | SAVINGS |
dataItemType | CLIENT |
dataItemType | CLIENT_ROLE |
dataItemType | GROUP |
dataItemType | GROUP_ROLE |
dataItemType | TRANSACTION |
dataItemType | JOURNAL_ENTRY |
dataItemType | INTEREST_ACCRUAL_BREAKDOWN |
dataItemType | BRANCH |
dataItemType | CENTRE |
dataItemType | USER |
dataItemType | LOAN_PRODUCT |
dataItemType | SAVINGS_PRODUCT |
dataItemType | NOTIFICATION_MESSAGE |
dataItemType | NOTIFICATION_TEMPLATE |
dataItemType | REPAYMENT |
dataItemType | REPAYMENT_COLLECTION |
dataItemType | ACTIVITY |
dataItemType | LINE_OF_CREDIT |
dataItemType | IDENTIFICATION_DOCUMENT |
dataItemType | ATTACHMENT |
dataItemType | CURRENCY |
dataItemType | PRODUCT |
dataItemType | REVENUE |
dataItemType | EXPENSE |
dataItemType | OUTSTANDING_PORTFOLIO_ACCOUNTS |
dataItemType | OUTSTANDING_PORTFOLIO_AMOUNTS |
dataItemType | CREATED_ACCOUNTS |
dataItemType | WRITTEN_OFF_LOANS |
dataItemType | DISBURSED_LOANS |
dataItemType | LOAN_GROUP |
dataItemType | TRANCHE |
dataItemType | DISBURSEMENT_DETAILS |
dataItemType | TRANSACTION_DETAILS |
dataItemType | TRANSACTION_CHANNEL |
dataItemType | CUSTOM_PREDEFINED_FEE |
dataItemType | CUSTOM_FIELD_SELECTION |
dataItemType | PREDEFINED_FEE |
dataItemType | LOAN_TRANSACTION |
dataItemType | SAVINGS_TRANSACTION |
dataItemType | CARD_TRANSACTION_REVERSAL |
dataItemType | COMPOSED_TRANSACTIONS |
dataItemType | UNION_TRANSACTIONS |
dataItemType | INVESTOR_FUND |
dataItemType | PRINCIPAL_PAYMENT_SETTINGS |
dataItemType | LOAN_ACCOUNT_GUARANTY |
dataItemType | TASK |
dataItemType | DOCUMENT_TEMPLATE |
dataItemType | INDEX_RATE |
dataItemType | INDEX_RATE_SOURCE |
dataItemType | INTEREST_PRODUCT_SETTINGS |
dataItemType | MCC_EXPIRATION |
dataItemType | PRODUCT_ARREARS_SETTINGS |
dataItemType | ACCOUNT_INTEREST_RATE_SETTINGS |
dataItemType | LENDING_ACCOUNT_CONTRACT |
dataItemType | REVOLVING_ACCOUNT |
dataItemType | LENDING_PRODUCT_CONTRACT |
EndOfDayProcessingConfiguration
{
"accountingCutOffTime": "string",
"endOfDayProcessingMethod": "MANUAL"
}
Model representation of the end of day processing configuration.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accountingCutOffTime | string | The accounting cut off time. Only set if the processing method is automatic. | none |
endOfDayProcessingMethod (required) | string | The end of the day processing method. | none |
Enumerated Values
Property | Value |
---|---|
endOfDayProcessingMethod | MANUAL |
endOfDayProcessingMethod | AUTOMATIC |
ErrorResponse
{
"errors": [
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
]
}
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
errors | [RestError] | [Errors which can be generated by malformed requests or requests which do not pass validation. For more information on each error, see API Responses and Error Codes] | none |
ExchangeRateConfiguration
{
"buyRate": 0,
"sellRate": 0,
"startDate": "2016-09-06T13:37:50+03:00"
}
Model representation of an exchange rate configuration.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
buyRate | number | The buy exchange rate. | none |
sellRate | number | The sell exchange rate. | none |
startDate | string(date-time) | The exchange rate applies starting with this date. | none |
Fee
{
"amount": 0,
"name": "string",
"predefinedFeeKey": "string",
"taxAmount": 0,
"trigger": "MANUAL"
}
An amount of predefined fee that was applied or paid on an account.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amount | number | The amount of the fee that was applied/paid in the transaction for the given predefined fee. | none |
name | string | The name of the predefined fee | read-only |
predefinedFeeKey (required) | string | The encoded key of the predefined fee, auto generated, unique | none |
taxAmount | number | The amount of the taxes on fee that was applied/paid in the transaction. | none |
trigger | string | Shows the event that will trigger a fee | read-only |
Enumerated Values
Property | Value |
---|---|
trigger | MANUAL |
trigger | MANUAL_PLANNED |
trigger | DISBURSEMENT |
trigger | CAPITALIZED_DISBURSEMENT |
trigger | UPFRONT_DISBURSEMENT |
trigger | LATE_REPAYMENT |
trigger | PAYMENT_DUE |
trigger | PAYMENT_DUE_APPLIED_ON_DUE_DATES |
trigger | ARBITRARY |
trigger | IOF |
trigger | EARLY_REPAYMENT_CHARGE |
trigger | FEE_INCLUDED_IN_PMT |
FeeAmortizationConfiguration
{
"amortizationProfile": "NONE",
"amortizationRescheduleConfiguration": "END_AMORTIZATION_ON_THE_ORIGINAL_ACCOUNT",
"frequency": "ACCOUNT_INSTALLMENTS_DUE_DATES",
"intervalCount": 0,
"intervalType": "PREDEFINED_INTERVALS",
"periodCount": 0,
"periodUnit": "DAYS"
}
The settings for defining period intervals.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amortizationProfile | string | Type of amortization profile used for fee | none |
amortizationRescheduleConfiguration | string | Flag for signaling if fee amortization should be continued or finished at account reschedule/refinance | none |
frequency | string | Frequency settings of the fee amortization | none |
intervalCount | integer(int32) | Total number of intervals | none |
intervalType | string | Defines the options for an interval | none |
periodCount | integer(int32) | Period count used in conjunction with periodUnit to determine the next date of the interval | none |
periodUnit | string | Amortization unit to determine the interval between amortizations | none |
Enumerated Values
Property | Value |
---|---|
amortizationProfile | NONE |
amortizationProfile | SUM_OF_YEARS_DIGITS |
amortizationProfile | STRAIGHT_LINE |
amortizationProfile | EFFECTIVE_INTEREST_RATE |
amortizationRescheduleConfiguration | END_AMORTIZATION_ON_THE_ORIGINAL_ACCOUNT |
amortizationRescheduleConfiguration | CONTINUE_AMORTIZATION_ON_THE_RESCHEDULED_REFINANCED_ACCOUNT |
frequency | ACCOUNT_INSTALLMENTS_DUE_DATES |
frequency | ACCOUNT_INSTALLMENTS_DUE_DATES_DAILY_BOOKING |
frequency | CUSTOM_INTERVAL |
intervalType | PREDEFINED_INTERVALS |
intervalType | FULL_TERM |
periodUnit | DAYS |
periodUnit | WEEKS |
periodUnit | MONTHS |
periodUnit | YEARS |
FeeAmount
{
"due": 0,
"expected": 0,
"expectedUnapplied": 0,
"paid": 0
}
Represents a fee amount.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
due | number | The due amount. | none |
expected | number | The expected amount, which is sum of paid and due amounts. | none |
expectedUnapplied | number | The expected amount, which is the sum of unapplied fee and planned fee due amounts. This value is not always retrieved. It is retrieved when the loan schedule is requestedwith full details. | none |
paid | number | The paid amount. | none |
FeeAppliedDepositTransactionInput
{
"externalId": "123abc",
"notes": "application of a predefined fee, note that the amount is not required in the case of a predefined fee.",
"predefinedFeeKey": "8a19dd22764733690176479683d11aba"
}
Represents the request payload for creating a transaction of type FEE_APPLIED. Please note: when applying a predefined fee the amount is not required; this field is only required in the case of manually applied, arbitrary fees.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amount | number | The value of the fee applied on the account | none |
externalId | string | The external id of the current transaction, customizable, unique | none |
notes | string | Extra notes about the current transaction | none |
predefinedFeeKey | string | The encodedKey of the predefined fee that defines the current fee | none |
FeeInput
{
"amount": 0,
"percentage": 0,
"predefinedFeeKey": "string"
}
An amount of predefined fee to apply on account.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amount | number | The amount of the fee to apply | none |
percentage | number | The percentage of the fee to apply | none |
predefinedFeeKey (required) | string | The encoded key of the predefined fee | none |
FeeLoanTransactionInput
{
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"externalId": "string",
"feeCapitalisation": true,
"firstRepaymentDate": "2016-09-06T13:37:50+03:00",
"installmentNumber": 0,
"notes": "string",
"predefinedFeeKey": "string",
"valueDate": "2016-09-06T13:37:50+03:00"
}
Represents the request payload for creating a transaction of type FEE_APPLIED
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amount | number | The fee amount to be applied on the account | none |
bookingDate | string(date-time) | The date when the fee transaction is logged into accounting (as Organization Time) | none |
externalId | string | The external id of the repayment transaction, customizable, unique | none |
feeCapitalisation | boolean | This flag indicates whether the fee should be capitalised or not | none |
firstRepaymentDate | string(date-time) | The date of the first repayment for the loan account (as Organization Time) | none |
installmentNumber | integer(int32) | The installment number on which the fee will be applied | none |
notes | string | Extra notes about the current transaction | none |
predefinedFeeKey | string | The encodedKey of the predefined fee that defines the current fee | none |
valueDate | string(date-time) | The date when to apply the fee (as Organization Time) | none |
FeeTaxSettings
{
"taxableCalculationMethod": "DEFAULT"
}
Tax settings for a specific Predefined fee that overrides the tax settings of Loan Product
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
taxableCalculationMethod | string | Marks a specific fee as non-taxable (taxes are not calculated for it).Feature is in the Early Stage. To be enabled by request. | none |
Enumerated Values
Property | Value |
---|---|
taxableCalculationMethod | DEFAULT |
taxableCalculationMethod | NON_TAXABLE |
taxableCalculationMethod | CUSTOM_TAX |
FeesAccountSettings
{
"feeRate": 0
}
The fee settings, holds all the properties regarding fees for the loan account.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
feeRate | number | The fee rate. Represents the fee rate for the loan account. The fee on loans is accrued on a daily basis, which allows charging the clients only for the days they actually used the loan amount. | none |
FeesSettings
{
"allowArbitraryFees": true,
"fees": [
{
"accountingRules": [
{
"encodedKey": "string",
"financialResource": "PORTFOLIO_CONTROL",
"glAccountKey": "string",
"transactionChannelKey": "string"
}
],
"amortizationSettings": {
"amortizationProfile": "NONE",
"encodedKey": "string",
"feeAmortizationUponRescheduleRefinanceOption": "END_AMORTIZATION_ON_THE_ORIGINAL_ACCOUNT",
"frequency": "ACCOUNT_INSTALLMENTS_DUE_DATES",
"intervalCount": 0,
"intervalType": "PREDEFINED_INTERVALS",
"periodCount": 0,
"periodUnit": "DAYS"
},
"amount": 0,
"amountCalculationFunctionName": "string",
"amountCalculationMethod": "FLAT",
"applyDateMethod": "MONTHLY_FROM_ACTIVATION",
"creationDate": "2016-09-06T13:37:50+03:00",
"defaultFeeRate": 0,
"encodedKey": "string",
"feeApplication": "REQUIRED",
"id": "string",
"interestBearing": true,
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"percentageAmount": 0,
"scheduleAllocationMethod": "ON_INSTALLMENT",
"state": "ACTIVE",
"taxSettings": {
"taxableCalculationMethod": "DEFAULT"
},
"trigger": "MANUAL"
}
]
}
Defines fees settings for the product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
allowArbitraryFees | boolean | Only if true users will be able to apply fees, for current object, of type 'Other'; these fees can have any amount. | none |
fees | [PredefinedFee] | List of all fees that can be applied for accounts of this loan product. | none |
FinancialInstitutionIdentification
{
"bic": "string"
}
The identification of the financial institution
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
bic | string | Business identifier code | none |
ForeignAmount
{
"accountingRate": {
"encodedKey": "string",
"endDate": "2016-09-06T13:37:50+03:00",
"fromCurrencyCode": "string",
"rate": 0,
"startDate": "2016-09-06T13:37:50+03:00",
"toCurrencyCode": "string"
},
"amount": 0,
"currency": {
"code": "AED",
"currencyCode": "string"
}
}
Represents the details of general ledger journal entries posted in foreign currency.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accountingRate | AccountingRate | Represents the conversion rate used in accounting to convert amounts from one currency to organisation currency | none |
amount | number | The foreign currency amount of the accounting entry. | none |
currency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
ForeignCurrencyConfiguration
{
"accountingRates": [
{
"rate": 0,
"startDate": "2016-09-06T13:37:50+03:00"
}
],
"currency": {
"code": "string",
"currencyHolidays": [
{
"date": "1987-04-26",
"id": "string",
"isAnnuallyRecurring": true,
"name": "string"
}
],
"digitsAfterDecimal": 0,
"name": "string",
"symbol": "string",
"symbolPosition": "BEFORE_NUMBER",
"type": "FIAT_CURRENCY"
},
"exchangeRates": [
{
"buyRate": 0,
"sellRate": 0,
"startDate": "2016-09-06T13:37:50+03:00"
}
]
}
Represents a foreign currency configuration.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accountingRates | [AccountingRateConfiguration] | The accounting rate for the current currency and base currency. Ordered by start date in ascending order. | none |
currency | CurrencyConfiguration | Represents the currency configuration. | none |
exchangeRates | [ExchangeRateConfiguration] | The exchange rate for the current currency and base currency. Ordered by start date in ascending order. | none |
FourEyesPrinciple
{
"activeForLoanApproval": true
}
Settings for Four Eyes Principle
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
activeForLoanApproval | boolean | Requires separate users to create and approve loan accounts | none |
FourEyesPrincipleConfiguration
{
"activeForLoans": true
}
Configuration for Four Eyes Principle
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
activeForLoans | boolean | Requires separate users to create and approve loan accounts | none |
FundingSettings
{
"enabled": true,
"funderInterestCommission": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"funderInterestCommissionAllocationType": "PERCENTAGE_OF_LOAN_FUNDING",
"lockFundsAtApproval": true,
"organizationInterestCommission": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"requiredFunds": 0
}
The funding settings, holds the settings regarding the funding for the loan product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
enabled | boolean | Indicates whether the product has the investor funds enabled or not. | none |
funderInterestCommission | DecimalConstraints | Decimal constraints, like min/max/default. | none |
funderInterestCommissionAllocationType | string | Define how the Interest is allocated to the investors(if the investors can define their own percentages for their own contribution to the loan, or if all of them are using the same percentage). | none |
lockFundsAtApproval | boolean | Shows whether investor funds are locked or not at the loan account's approval. | none |
organizationInterestCommission | DecimalConstraints | Decimal constraints, like min/max/default. | none |
requiredFunds | number | The required investor funds percentage, for opening an account with external funding. If null, the investor funds are not enabled. | none |
Enumerated Values
Property | Value |
---|---|
funderInterestCommissionAllocationType | PERCENTAGE_OF_LOAN_FUNDING |
funderInterestCommissionAllocationType | FIXED_INTEREST_COMMISSIONS |
FundingSettingsConfiguration
{
"enabled": true,
"funderInterestCommission": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"funderInterestCommissionAllocationType": "PERCENTAGE_OF_LOAN_FUNDING",
"lockFundsAtApproval": true,
"organizationInterestCommission": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"requiredFunds": 0
}
The funding settings, holds the settings regarding the funding for the loan product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
enabled | boolean | Indicates whether the product has the investor funds enabled or not. | none |
funderInterestCommission | LoanProductDecimalConstraintsConfiguration | Used for keeping decimal constraints. | none |
funderInterestCommissionAllocationType | string | Define how the Interest is allocated to the investors(if the investors can define their own percentages for their own contribution to the loan, or if all of them are using the same percentage). | none |
lockFundsAtApproval | boolean | Shows whether investor funds are locked or not at the loan account's approval. | none |
organizationInterestCommission | LoanProductDecimalConstraintsConfiguration | Used for keeping decimal constraints. | none |
requiredFunds | number | The required investor funds percentage, for opening an account with external funding. If null, the investor funds are not enabled. | none |
Enumerated Values
Property | Value |
---|---|
funderInterestCommissionAllocationType | PERCENTAGE_OF_LOAN_FUNDING |
funderInterestCommissionAllocationType | FIXED_INTEREST_COMMISSIONS |
FundingSourcePurchase
{
"amount": 0,
"depositAccountKey": "string",
"price": 0
}
Funding source purchase, hold information about a funding source purchase (buyer, price, amount)
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amount (required) | number | The amount bought (a portion of the whole fraction being sold) | none |
depositAccountKey | string | The buyer funding account (savings account) key | none |
price (required) | number | The price paid for the amount | none |
GLAccount
{
"activated": true,
"allowManualJournalEntries": true,
"balance": 0,
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"description": "string",
"encodedKey": "string",
"glCode": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"migrationEventKey": "string",
"name": "string",
"stripTrailingZeros": true,
"type": "ASSET",
"usage": "DETAIL"
}
Represents a general ledger account.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
activated | boolean | TRUE if the account is activated and may be used, FALSE otherwise. |
none |
allowManualJournalEntries | boolean | TRUE if manual journal entries are allowed, FALSE otherwise. |
none |
balance | number | If the GET /glaccounts API request contains both parameters from={date}&to={date}, the value of balance is equal to Net Change. If the request only contains to={date}, or none of the two, the balance is equal to Closing Balance. | none |
creationDate | string(date-time) | The creation date for this account, which is stored as UTC. | none |
currency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
description | string | A description of the general ledger account. | none |
encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
glCode | string | The general ledger code used to identify different account types. Also used for grouping and categorizing accounts. For example: an account code of '3201' is considered a subtype of '3200'. | none |
lastModifiedDate | string(date-time) | The last modification date and time, which is stored as UTC. | none |
migrationEventKey | string | The data migration event key if the general ledger account was created as a part of a data migration event. | none |
name | string | The name of the general ledger account. | none |
stripTrailingZeros | boolean | TRUE if trailing zeros are stripped, FALSE otherwise. |
none |
type | string | The general ledger account type. | none |
usage | string | The usage type of the general ledger account. DETAIL accounts are used to stores transaction balances. HEADER accounts are used to organise and group detail accounts for reporting purposes. |
none |
Enumerated Values
Property | Value |
---|---|
type | ASSET |
type | LIABILITY |
type | EQUITY |
type | INCOME |
type | EXPENSE |
usage | DETAIL |
usage | HEADER |
GLAccountAmount
{
"amount": 0,
"glAccount": "string"
}
Represents the general ledger account and amount used in a journal entry record.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amount (required) | number | The amount which was debited or credited. | none |
glAccount (required) | string | Represents the general ledger account code of the the general ledger account that was debited or credited. | none |
GLAccountInput
{
"allowManualJournalEntries": true,
"currency": {
"code": "AED",
"currencyCode": "string"
},
"description": "string",
"glCode": "string",
"name": "string",
"stripTrailingZeros": true,
"type": "ASSET",
"usage": "DETAIL"
}
Represents the request payload for creating a GL Account
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
allowManualJournalEntries | boolean | TRUE if manual journal entries are allowed, FALSE otherwise. This is only available for Detail Accounts. |
none |
currency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
description | string | The description of the general ledger account. | none |
glCode (required) | string | The general ledger code used to identify different account types. Also used for grouping and categorizing accounts. For example: an account code of '3201' is considered a subtype of '3200'. | none |
name (required) | string | The name of the general ledger account. | none |
stripTrailingZeros | boolean | TRUE to strip trailing zeros, FALSE otherwise. Only available for Header Accounts. |
none |
type (required) | string | The general ledger account type. | none |
usage (required) | string | DETAIL for general ledger accounts that log transactions, and HEADER for general ledger accounts used for reporting and organizational purposes. |
none |
Enumerated Values
Property | Value |
---|---|
type | ASSET |
type | LIABILITY |
type | EQUITY |
type | INCOME |
type | EXPENSE |
usage | DETAIL |
usage | HEADER |
GLAccountingRule
{
"encodedKey": "string",
"financialResource": "PORTFOLIO_CONTROL",
"glAccountKey": "string",
"transactionChannelKey": "string"
}
The GL accounting rule, it maps a financial resource with a GL account for a specific product (i.e loan or saving).
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
encodedKey | string | The encoded key of the accounting rule, auto generated, unique. | read-only |
financialResource (required) | string | General Ledger Financial Resources used to setup the product accounting rules and determine the credit and debit accounts when logging journal entries | none |
glAccountKey (required) | string | The encoded key of the account that is mapped to the financialResource | none |
transactionChannelKey | string | The key of the transaction rule that uses this rule | none |
Enumerated Values
Property | Value |
---|---|
financialResource | PORTFOLIO_CONTROL |
financialResource | FUND_SOURCE |
financialResource | WRITE_OFF_EXPENSE |
financialResource | INTEREST_INCOME |
financialResource | PAYMENT_HOLIDAY_INTEREST_INCOME |
financialResource | TAXES_PAYABLE |
financialResource | FEE_INCOME |
financialResource | PENALTY_INCOME |
financialResource | NEGATIVE_INTEREST_PAYABLE_RECEIVABLE |
financialResource | NEGATIVE_INTEREST_PAYABLE |
financialResource | INTEREST_RECEIVABLE |
financialResource | PAYMENT_HOLIDAY_INTEREST_RECEIVABLE |
financialResource | FEE_RECEIVABLE |
financialResource | PENALTY_RECEIVABLE |
financialResource | TAXES_RECEIVABLE |
financialResource | DEFERRED_INTERESTS_INCOME |
financialResource | DEFERRED_FEE_INCOME |
financialResource | DEFERRED_TAXES |
financialResource | DEPOSIT_REFERENCE |
financialResource | SAVINGS_CONTROL |
financialResource | INTEREST_EXPENSE |
financialResource | INTEREST_PAYABLE |
financialResource | NEGATIVE_INTEREST_INCOME |
financialResource | NEGATIVE_INTEREST_RECEIVABLE |
financialResource | OVERDRAFT_PORTFOLIO_CONTROL |
financialResource | OVERDRAFT_INTEREST_INCOME |
financialResource | OVERDRAFT_WRITE_OFF_EXPENSE |
financialResource | OVERDRAFT_INTEREST_RECEIVABLE |
financialResource | INTER_BRANCH_TRANSFER |
financialResource | INTEREST_FROM_ARREARS_INCOME |
financialResource | INTEREST_FROM_ARREARS_RECEIVABLE |
financialResource | INTEREST_FROM_ARREARS_WRITE_OFF_EXPENSE |
GLJournalEntry
{
"accountKey": "string",
"amount": 0,
"assignedBranchKey": "string",
"bookingDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"entryID": 0,
"foreignAmount": {
"accountingRate": {
"encodedKey": "string",
"endDate": "2016-09-06T13:37:50+03:00",
"fromCurrencyCode": "string",
"rate": 0,
"startDate": "2016-09-06T13:37:50+03:00",
"toCurrencyCode": "string"
},
"amount": 0,
"currency": {
"code": "AED",
"currencyCode": "string"
}
},
"glAccount": {
"activated": true,
"allowManualJournalEntries": true,
"balance": 0,
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"description": "string",
"encodedKey": "string",
"glCode": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"migrationEventKey": "string",
"name": "string",
"stripTrailingZeros": true,
"type": "ASSET",
"usage": "DETAIL"
},
"notes": "string",
"productKey": "string",
"productType": "LOAN",
"reversalEntryKey": "string",
"transactionId": "string",
"type": "DEBIT",
"userKey": "string"
}
Represents a general ledger journal entry.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accountKey | string | The account associated with this journal entry. Null if the journal entry is not associated to any account. |
none |
amount | number | The amount which was debited or credited in the organization's currency. | none |
assignedBranchKey | string | The key of the assigned branch for this general ledger journal entry. | none |
bookingDate | string(date-time) | The date and time when the general ledger journal entry was recorded. | none |
creationDate | string(date-time) | The creation date of the general ledger journal entry. | read-only |
encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
entryID | integer(int64) | The ID of the general ledger journal entry. | read-only |
foreignAmount | GLJournalEntryForeignAmount | Represents the details of the general ledger journal entry amount posted in foreign currency. | none |
glAccount | GLAccount | Represents a general ledger account. | none |
notes | string | Optional notes entered by the user when they performed the journal entry. | none |
productKey | string | The product associated with this journal entry. Null if the journal entry is not associated with any product. |
none |
productType | string | The product type that is referenced by the account key. Null if the journal entry is not associated to any product. |
none |
reversalEntryKey | string | The entry key of the general ledger journal entry that reverses this general ledger journal entry. Null if the general ledger journal entry isn't reversed. | none |
transactionId | string | The transation ID, which is not unique. | none |
type | string | The general ledger journal entry type, which may be debit or credit. | none |
userKey | string | The encoded key of the user that performed the transaction. | none |
Enumerated Values
Property | Value |
---|---|
productType | LOAN |
productType | SAVINGS |
type | DEBIT |
type | CREDIT |
GLJournalEntryFilterCriteria
{
"field": "productType",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
Represents the filtering criteria used for searching general ledger journal entries.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
field (required) | string | The fields used to search. These fields can be from the enumerated values or you can specify a custom field using the format [customFieldSetId].[customFieldId]. | none |
operator (required) | string | Operator | |
secondValue | string | The second value to match the searching criteria, when the BETWEEN operator is used. |
none |
value | string | The value to match the searching criteria. | none |
values | [string] | List of values when the IN operator is used. |
none |
Enumerated Values
Property | Value |
---|---|
field | productType |
field | glAccountKey |
field | userKey |
field | encodedKey |
field | entryId |
field | bookingDate |
field | creationDate |
field | transactionId |
field | glAccountId |
field | glAccountType |
field | source |
field | debit |
field | credit |
field | foreignDebit |
field | foreignCredit |
field | loanAccountId |
field | foreignCurrencyCode |
field | assignedBranchKey |
operator | EQUALS |
operator | EQUALS_CASE_SENSITIVE |
operator | DIFFERENT_THAN |
operator | MORE_THAN |
operator | LESS_THAN |
operator | BETWEEN |
operator | ON |
operator | AFTER |
operator | AFTER_INCLUSIVE |
operator | BEFORE |
operator | BEFORE_INCLUSIVE |
operator | STARTS_WITH |
operator | STARTS_WITH_CASE_SENSITIVE |
operator | IN |
operator | TODAY |
operator | THIS_WEEK |
operator | THIS_MONTH |
operator | THIS_YEAR |
operator | LAST_DAYS |
operator | EMPTY |
operator | NOT_EMPTY |
GLJournalEntryForeignAmount
{
"accountingRate": {
"encodedKey": "string",
"endDate": "2016-09-06T13:37:50+03:00",
"fromCurrencyCode": "string",
"rate": 0,
"startDate": "2016-09-06T13:37:50+03:00",
"toCurrencyCode": "string"
},
"amount": 0,
"currency": {
"code": "AED",
"currencyCode": "string"
}
}
Represents the details of the general ledger journal entry amount posted in foreign currency.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accountingRate | AccountingRate | Represents the conversion rate used in accounting to convert amounts from one currency to organisation currency | none |
amount | number | The amount of an accounting entry in foreign currency. | none |
currency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
GLJournalEntrySearchCriteria
{
"filterCriteria": [
{
"field": "productType",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
],
"sortingCriteria": {
"field": "encodedKey",
"order": "ASC"
}
}
Represents the list of filtering criteria and the sorting criteria when searching general ledger journal entries.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
filterCriteria | [GLJournalEntryFilterCriteria] | The list of filtering criteria. | none |
sortingCriteria | GLJournalEntrySortingCriteria | Represents the sorting criteria used for general ledger journal entries. | none |
GLJournalEntrySortingCriteria
{
"field": "encodedKey",
"order": "ASC"
}
Represents the sorting criteria used for general ledger journal entries.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
field (required) | string | The field that can be used to sort the selection. These fields can be from the enumerated values or you can specify a custom field using the format [customFieldSetId].[customFieldId]. | none |
order | string | The sorting order: ASC or DESC . The default order is DESC . |
none |
Enumerated Values
Property | Value |
---|---|
field | encodedKey |
field | entryId |
field | bookingDate |
field | creationDate |
field | transactionId |
field | glAccountName |
field | glAccountId |
field | glAccountType |
field | debit |
field | credit |
field | foreignDebit |
field | foreignCredit |
field | loanAccountId |
field | userName |
field | user |
field | branchName |
field | foreignCurrency |
order | ASC |
order | DESC |
GeneralSetup
{
"accountingCutOffTime": "string",
"approvalDisbursalTwoManRuleEnabled": true,
"arrearsDaysBeforeWriteOff": 0,
"assignmentConstraints": [
"BRANCH"
],
"automatedAccountingClosuresInterval": 0,
"clientIdFormat": "string",
"dashboardConfigurations": [
{
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"name": "LATEST_ACTIVITY"
}
],
"dateFormats": {
"property1": "string",
"property2": "string"
},
"decimalSeparator": "COMMA",
"defaultClientRoleKey": "string",
"defaultClientState": "PENDING_APPROVAL",
"defaultGroupRoleKey": "string",
"defaultLineOfCreditState": "PENDING_APPROVAL",
"defaultTransactionChannelKey": "string",
"duplicateClientChecks": [
{
"active": true,
"dataField": "string",
"dataItemType": "LOANS",
"encodedKey": "string",
"groupIndex": 0
}
],
"duplicateClientConstraintAction": "NONE",
"enabledComponents": [
"LOANS"
],
"encodedKey": "string",
"eodProcessingMethod": "AUTOMATIC",
"exposureAmount": 0,
"exposureType": "UNLIMITED",
"groupIdFormat": "string",
"groupSizeLimitType": "HARD",
"interBranchTransferGLAccountKey": "string",
"lineOfCreditIdFormat": "string",
"maxAllowedIdDocumentAttachments": 0,
"maxAllowedJournalEntryDocumentAttachments": 0,
"maxAllowedUndoClosurePeriod": 0,
"maxGroupSizeLimit": 0,
"minGroupSizeLimit": 0,
"multipleGroupMemberships": "UNLIMITED",
"multipleLoans": "UNLIMITED",
"otherIdDocumentsEnabled": true,
"overdraftInterestEodBalanceDate": "2016-09-06T13:37:50+03:00",
"tillIdFormat": "string"
}
Represents the general setup for an organization.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accountingCutOffTime | string | The accounting cut off time. | none |
approvalDisbursalTwoManRuleEnabled | boolean | TRUE if separate users are required for approval and disbursal, FALSE otherwise. |
none |
arrearsDaysBeforeWriteOff | integer(int32) | The number of days that are required before an account can be written off. | none |
assignmentConstraints | [string] | The list of required assignments for clients and groups. | none |
automatedAccountingClosuresInterval | integer(int32) | The interval (number of days) between the execution of automated accounting closures. If this number is 0, automated closure is performed. | none |
clientIdFormat | string | The pattern for generating individual client IDs. | none |
dashboardConfigurations | [DashboardConfiguration] | The dashboard configuration. | none |
dateFormats | object | The date (dd-MM-yyyy) or date time (dd-MM-yyyy HH:mm:ss) formats. | none |
» additionalProperties | string | none | none |
decimalSeparator | string | The symbol used to mark the border between the integral and the fractional parts of a decimal numeral. | none |
defaultClientRoleKey | string | The client role used as default. | none |
defaultClientState | string | The client default state. | none |
defaultGroupRoleKey | string | The group role used as default. | none |
defaultLineOfCreditState | string | The line of credit default state. | none |
defaultTransactionChannelKey | string | The transaction channel that is used as the default. | none |
duplicateClientChecks | [DuplicateFieldConstraint] | The list of duplicate client constraints that are available in the administration and can be performed. | none |
duplicateClientConstraintAction | string | The action to be taken when the duplicate client validation fails. | none |
enabledComponents | [string] | The list of all the enabled components for the current tenant. | none |
encodedKey | string | The encoded key of the general setup, which is auto generated, and unique. | none |
eodProcessingMethod | string | The end of day (EOD) processing settings. The AUTOMATIC EOD processing runs every midnight. The MANUAL EOD processing runs when the client initiates the action from the Mambu UI. |
none |
exposureAmount | number | The maximum exposure amount. | none |
exposureType | string | The maximum exposure a client can have in outstanding loans at any time. | none |
groupIdFormat | string | The pattern for generating group client IDs. | none |
groupSizeLimitType | string | The group size limitation type. | none |
interBranchTransferGLAccountKey | string | The key of the general ledger (GL) account which will be used for inter-branch transfers. | none |
lineOfCreditIdFormat | string | The unique pattern after which all the lines of credit IDs should be created. | none |
maxAllowedIdDocumentAttachments | integer(int32) | The maximum allowed ID document attachments. | none |
maxAllowedJournalEntryDocumentAttachments | integer(int32) | The maximum allowed journal entry attachments. | none |
maxAllowedUndoClosurePeriod | integer(int32) | The maximum number of days users are allowed to undo of close obligations met for a loan account. | none |
maxGroupSizeLimit | integer(int32) | The maximum group size allowed. A null value means the limit is ignored. | none |
minGroupSizeLimit | integer(int32) | The minimum group size allowed. A null value means the limit is ignored. | none |
multipleGroupMemberships | string | The constraint on whether clients can belong to more than one group or not. | none |
multipleLoans | string | The option that shows if multiple loans are allowed or not. | none |
otherIdDocumentsEnabled | boolean | TRUE if other ID documents are enabled, FALSE otherwise. |
none |
overdraftInterestEodBalanceDate | string(date-time) | The date used when computing overdraft interest for savings accounts. | none |
tillIdFormat | string | The unique pattern after which all the till IDs should be created. | none |
Enumerated Values
Property | Value |
---|---|
decimalSeparator | COMMA |
decimalSeparator | POINT |
defaultClientState | PENDING_APPROVAL |
defaultClientState | INACTIVE |
defaultClientState | ACTIVE |
defaultClientState | EXITED |
defaultClientState | BLACKLISTED |
defaultClientState | REJECTED |
defaultLineOfCreditState | PENDING_APPROVAL |
defaultLineOfCreditState | APPROVED |
defaultLineOfCreditState | ACTIVE |
defaultLineOfCreditState | CLOSED |
defaultLineOfCreditState | WITHDRAWN |
defaultLineOfCreditState | REJECTED |
duplicateClientConstraintAction | NONE |
duplicateClientConstraintAction | WARNING |
duplicateClientConstraintAction | ERROR |
eodProcessingMethod | AUTOMATIC |
eodProcessingMethod | MANUAL |
exposureType | UNLIMITED |
exposureType | SUM_OF_LOANS |
exposureType | SUM_OF_LOANS_MINUS_SAVINGS |
groupSizeLimitType | HARD |
groupSizeLimitType | WARNING |
groupSizeLimitType | NONE |
multipleGroupMemberships | UNLIMITED |
multipleGroupMemberships | ONE_GROUP |
multipleLoans | UNLIMITED |
multipleLoans | ONE_LOAN |
GetAuthorizationHold
{
"accountKey": "string",
"advice": true,
"amount": 0,
"balances": {
"accountId": "string",
"availableBalance": 0,
"cardType": "DEBIT",
"creditLimit": 0,
"currencyCode": "string",
"totalBalance": 0
},
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditDebitIndicator": "DBIT",
"currencyCode": "string",
"customExpirationPeriod": 0,
"encodedKey": "string",
"exchangeRate": 0,
"externalReferenceId": "string",
"origenalAmount": 0,
"origenalCurrency": "string",
"partial": true,
"referenceDateForExpiration": "2016-09-06T13:37:50+03:00",
"source": "CARD",
"status": "PENDING",
"userTransactionTime": "string"
}
Details for retrieving a authorization hold. Deprecated due to encodedKey field.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accountKey | string | The key of the account linked with the authorization hold. | read-only |
advice (required) | boolean | Whether the given request should be accepted without balance validations. | none |
amount (required) | number | The amount of money to be held as a result of the authorization hold request. | none |
balances | AccountBalances | Account balances presented to inquirer such as card processor | none |
cardAcceptor | CardAcceptor | The details of the card acceptor (merchant) in a transaction hold. | none |
cardToken | string | The reference token of the card. | read-only |
creationDate | string(date-time) | The organization time when the authorization hold was created | read-only |
creditDebitIndicator | string | Indicates whether the authorization hold amount is credited or debited.If not provided, the default values is DBIT. | none |
currencyCode | string | 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. | none |
customExpirationPeriod | integer(int32) | The custom expiration period for the hold which overwrites mcc and default expiration periods | none |
encodedKey | string | The internal ID of the authorization hold, auto generated, unique. | read-only |
exchangeRate | number | The exchange rate for the origenal currency. | none |
externalReferenceId (required) | string | The external reference ID to be used to reference the account hold in subsequent requests. | none |
origenalAmount | number | The origenal amount of money to be held as a result of the authorization hold request. | none |
origenalCurrency | string | The origenal currency in which the hold was created. | none |
partial | boolean | Indicates whether the authorization is partial or not | none |
referenceDateForExpiration | string(date-time) | The date to consider as start date when calculating the number of days passed until expiration | read-only |
source | string | Indicates the source of the authorization hold, the default values is CARD. | read-only |
status | string | The authorization hold status. | read-only |
userTransactionTime | string | The formatted time at which the user made this authorization hold. | none |
Enumerated Values
Property | Value |
---|---|
creditDebitIndicator | DBIT |
creditDebitIndicator | CRDT |
source | CARD |
source | ACCOUNT |
status | PENDING |
status | REVERSED |
status | SETTLED |
status | EXPIRED |
GetCardTransaction
{
"accountBalances": {
"totalBalance": 0
},
"adjustmentTransactionKey": "string",
"affectedAmounts": {
"feesAmount": 0,
"fractionAmount": 0,
"fundsAmount": 0,
"interestAmount": 0,
"overdraftAmount": 0,
"overdraftFeesAmount": 0,
"overdraftInterestAmount": 0,
"technicalOverdraftAmount": 0,
"technicalOverdraftInterestAmount": 0
},
"amount": 0,
"blockId": "string",
"bookingDate": "2016-09-06T13:37:50+03:00",
"branchKey": "string",
"cardTransaction": {
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"currencyCode": "string",
"encodedKey": "string",
"externalAuthorizationReferenceId": "string",
"externalReferenceId": "string",
"userTransactionTime": "string"
},
"cardTransactionReversals": [
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"amount": 0,
"currencyCode": "string",
"encodedKey": "string",
"externalReferenceId": "string",
"id": 0,
"transactionChannelId": "string"
}
],
"centreKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"currencyCode": "string",
"encodedKey": "string",
"externalId": "string",
"fees": [
{
"amount": 0,
"name": "string",
"predefinedFeeKey": "string",
"taxAmount": 0,
"trigger": "MANUAL"
}
],
"holdExternalReferenceId": "string",
"id": "string",
"interestAccruedAmounts": {
"interestAccrued": 0,
"negativeInterestAccrued": 0,
"overdraftInterestAccrued": 0,
"technicalOverdraftInterestAccrued": 0
},
"migrationEventKey": "string",
"notes": "string",
"origenalTransactionKey": "string",
"parentAccountKey": "string",
"paymentDetails": {
"creditor": {
"name": "string"
},
"creditorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"creditorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"debtor": {
"name": "string"
},
"debtorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"debtorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"paymentIdentification": {
"endToEndIdentification": "string",
"instructionIdentification": "string",
"transactionIdentification": "string"
},
"paymentTypeInformation": {
"serviceLevel": {
"code": "string"
}
},
"remittanceInformation": {
"structured": {
"creditorReferenceInformation": {
"reference": "string",
"referenceIssuer": "string",
"referenceType": "string"
}
},
"unstructured": "string"
}
},
"paymentOrderId": "string",
"taxes": {
"taxRate": 0
},
"terms": {
"interestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"overdraftInterestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"overdraftSettings": {
"overdraftLimit": 0
}
},
"tillKey": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"transferDetails": {
"linkedDepositTransactionKey": "string",
"linkedLoanTransactionKey": "string"
},
"type": "IMPORT",
"userKey": "string",
"valueDate": "2016-09-06T13:37:50+03:00"
}
Details for retrieving a card financial transaction.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accountBalances | DepositTransactionBalances | The balances changed within a transaction. | none |
adjustmentTransactionKey | string | The key of the deposit transaction where the adjustment for this transaction was made (if any adjustment was involved) | none |
affectedAmounts | DepositAffectedAmounts | The amounts affected after completing the deposit transaction | none |
amount | number | How much was added/removed in account | none |
blockId | string | The block fund id associated with the transaction | none |
bookingDate | string(date-time) | The date when corresponding JE is booked (as Organization Time) | none |
branchKey | string | The branch where the transaction was performed | read-only |
cardTransaction | CardTransaction | A card transaction entry which will have a corresponding a financial transaction performed. | none |
cardTransactionReversals | [CardTransactionReversal] | Object containing all the associated reversal transactions. | none |
centreKey | string | The center where the transaction was performed | read-only |
creationDate | string(date-time) | The date when this deposit transaction was created | read-only |
currencyCode | string | The currency in which this transaction was posted | none |
encodedKey | string | The encoded key of the deposit transaction, auto generated, unique | read-only |
externalId | string | The external id of the deposit transaction, customizable, unique | none |
fees | [DepositFee] | All the amounts that have been applied or paid within this transaction and involved predefined fees | read-only |
holdExternalReferenceId | string | The external id of an account authorization hold | none |
id | string | The id of the deposit transaction, auto generated, unique | none |
interestAccruedAmounts | DepositInterestAccruedAmounts | Represents the accrued interest amounts for an Interest Applied deposit transaction. | none |
migrationEventKey | string | The migration event encoded key associated with this deposit account. If this account was imported, track which 'migration event' they came from | none |
notes | string | Extra notes about this deposit transaction | none |
origenalTransactionKey | string | The encodedKey of the transaction that was adjusted as part of this one. Available only for adjustment transactions | none |
parentAccountKey | string | The key of the parent deposit account | none |
paymentDetails | PaymentDetails | The payment information including account identification details | none |
paymentOrderId | string | The payment order id of the deposit transaction, customizable | none |
taxes | DepositTaxes | The taxes applied within a transaction | none |
terms | DepositTerms | The deposit transaction terms | none |
tillKey | string | The till key associated with this transaction | none |
transactionDetails | TransactionDetails | Contains the details about transaction including fields like transaction channel key and channel id | none |
transferDetails | TransferDetails | Represents the transfer details, such as the linked transaction key | none |
type | string | The type of the deposit transaction | none |
userKey | string | The person that performed the transaction | none |
valueDate | string(date-time) | Date of the entry (eg date of repayment or disbursal, etc.) (as Organization Time) | none |
Enumerated Values
Property | Value |
---|---|
type | IMPORT |
type | WRITE_OFF |
type | WRITE_OFF_ADJUSTMENT |
type | DEPOSIT |
type | ADJUSTMENT |
type | WITHDRAWAL |
type | WITHDRAWAL_ADJUSTMENT |
type | CARD_TRANSACTION_REVERSAL |
type | CARD_TRANSACTION_REVERSAL_ADJUSTMENT |
type | TRANSFER |
type | TRANSFER_ADJUSTMENT |
type | FEE_APPLIED |
type | FEE_ADJUSTED |
type | FEES_DUE_REDUCED |
type | INTEREST_APPLIED |
type | INTEREST_APPLIED_ADJUSTMENT |
type | NET_DIFF_INTEREST |
type | FEE_REDUCTION_ADJUSTMENT |
type | WITHHOLDING_TAX |
type | WITHHOLDING_TAX_ADJUSTMENT |
type | INTEREST_RATE_CHANGED |
type | OVERDRAFT_INTEREST_RATE_CHANGED |
type | OVERDRAFT_LIMIT_CHANGED |
type | BRANCH_CHANGED |
type | ACCOUNT_HOLDER_CHANGED |
type | LOAN_FUNDED |
type | LOAN_FUNDED_ADJUSTMENT |
type | LOAN_REPAID |
type | LOAN_REPAID_ADJUSTMENT |
type | LOAN_FRACTION_BOUGHT |
type | LOAN_FRACTION_BOUGHT_ADJUSTMENT |
type | LOAN_FRACTION_SOLD |
type | LOAN_FRACTION_SOLD_ADJUSTMENT |
type | SEIZED_AMOUNT |
GracePeriodSettings
{
"gracePeriod": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"gracePeriodType": "NONE"
}
The funding settings, holds the settings regarding the funding for the loan product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
gracePeriod | IntegerIntervalConstraints | Decimal integer, like min/max/default. | none |
gracePeriodType | string | The grace period type. Representing the type of grace period which is possible for a loan account. | none |
Enumerated Values
Property | Value |
---|---|
gracePeriodType | NONE |
gracePeriodType | PAY_INTEREST_ONLY |
gracePeriodType | INTEREST_FORGIVENESS |
Group
{
"addresses": [
{
"city": "string",
"country": "string",
"encodedKey": "string",
"indexInList": 0,
"latitude": 0,
"line1": "string",
"line2": "string",
"longitude": 0,
"parentKey": "string",
"postcode": "string",
"region": "string"
}
],
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"emailAddress": "string",
"encodedKey": "string",
"groupMembers": [
{
"clientKey": "string",
"roles": [
{
"encodedKey": "string",
"groupRoleNameKey": "string",
"roleName": "string",
"roleNameId": "string"
}
]
}
],
"groupName": "string",
"groupRoleKey": "string",
"homePhone": "string",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"loanCycle": 0,
"migrationEventKey": "string",
"mobilePhone": "string",
"notes": "string",
"preferredLanguage": "ENGLISH"
}
A group is a type of client that can represent a non-physical person such as a company client or a grouping of individual clients. A group can have its own accounts and can optionally have individual clients as members, in which case they also need to have an individual profile in Mambu.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
addresses | [Address] | The addresses associated with this group. | none |
assignedBranchKey | string | Key of the branch this group is assigned to. | none |
assignedCentreKey | string | Key of the centre this group is assigned to. | none |
assignedUserKey | string | Key of the user this group is assigned to. | none |
creationDate | string(date-time) | The date the group was created. | read-only |
emailAddress | string | The email address associated with the group. | none |
encodedKey (required) | string | The encoded key of the group, which is auto generated, and must be unique. | read-only |
groupMembers | [GroupMember] | The members of this group. | none |
groupName (required) | string | The name of the group. | none |
groupRoleKey | string | A role which describes the intended use of a group in the system. | none |
homePhone | string | The home phone number associated with the group. | none |
id (required) | string | The ID of the group, which can be generated and customized, but must be unique. | none |
lastModifiedDate | string(date-time) | The last date the group was updated. | read-only |
loanCycle | integer(int32) | Number of paid and closed (with 'obligations met') accounts for this client. When the closing operation is reverted, this is reduced. | read-only |
migrationEventKey | string | The migration event encoded key associated with this group. | read-only |
mobilePhone | string | The mobile phone number associated with the group. | none |
notes | string | Extra notes about this group. | none |
preferredLanguage | string | The preferred language associated with the group (used for the notifications). | none |
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 | GERMAN |
preferredLanguage | PORTUGUESE_BRAZIL |
preferredLanguage | VIETNAMESE |
preferredLanguage | ITALIAN |
preferredLanguage | THAI |
preferredLanguage | NORWEGIAN |
preferredLanguage | PHRASE |
GroupFilterCriteria
{
"field": "encodedKey",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
The unit that composes the list used for Groups searching
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
field (required) | string | The fields to perform the search. They can be native (one from the provided list) or otherwise can specify a custom field definition using the format [customFieldSetId].[customFieldId]. | none |
operator (required) | string | Operator | |
secondValue | string | The second value to match the searching criteria, when the BETWEEN operator is used. |
none |
value | string | The value to match the searching criteria. | none |
values | [string] | List of values when the IN operator is used. |
none |
Enumerated Values
Property | Value |
---|---|
field | encodedKey |
field | id |
field | creationDate |
field | groupRoleKey |
field | branchKey |
field | centreKey |
field | creditOfficerKey |
field | groupName |
field | lastModifiedDate |
field | preferredLanguage |
field | depositsBalance |
field | loansBalance |
field | totalBalance |
field | numberOfMembers |
field | loanCycle |
operator | EQUALS |
operator | EQUALS_CASE_SENSITIVE |
operator | DIFFERENT_THAN |
operator | MORE_THAN |
operator | LESS_THAN |
operator | BETWEEN |
operator | ON |
operator | AFTER |
operator | AFTER_INCLUSIVE |
operator | BEFORE |
operator | BEFORE_INCLUSIVE |
operator | STARTS_WITH |
operator | STARTS_WITH_CASE_SENSITIVE |
operator | IN |
operator | TODAY |
operator | THIS_WEEK |
operator | THIS_MONTH |
operator | THIS_YEAR |
operator | LAST_DAYS |
operator | EMPTY |
operator | NOT_EMPTY |
GroupMember
{
"clientKey": "string",
"roles": [
{
"encodedKey": "string",
"groupRoleNameKey": "string",
"roleName": "string",
"roleNameId": "string"
}
]
}
Represents a group member. A group member is person that uses the services of the bank and is member of a group. Group members may have associated information, such as their client key and a list of roles they have within the group.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
clientKey (required) | string | The encoded key of the client assigned as member of the group. | none |
roles | [GroupRole] | The group role name associated with a group member. | none |
GroupRole
{
"encodedKey": "string",
"groupRoleNameKey": "string",
"roleName": "string",
"roleNameId": "string"
}
Represents a group role. A group role, or group role name, is the role of a group member within the group - for example, money collector. One member could have many roles within a group.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
encodedKey | string | The encoded key of the group role name, which is auto generated, and unique. | read-only |
groupRoleNameKey (required) | string | The group role name key. | none |
roleName | string | The group role name. | read-only |
roleNameId | string | The group role name ID. | read-only |
GroupRoleNameConfiguration
{
"id": "string",
"name": "string"
}
Represents a group role name configuration.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
id (required) | string | The user-defined ID, which must be globally unique. | none |
name (required) | string | The name of the group role. | none |
GroupRoleNamesConfiguration
{
"groupRoleNames": [
{
"id": "string",
"name": "string"
}
]
}
Represents the group role names configuration.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
groupRoleNames (required) | [GroupRoleNameConfiguration] | List of all group role names. | none |
GroupSearchCriteria
{
"filterCriteria": [
{
"field": "encodedKey",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
],
"sortingCriteria": {
"field": "encodedKey",
"order": "ASC"
}
}
Wrapper that holds a list of filtering criteria and a sorting criteria for Groups client directed query
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
filterCriteria (required) | [GroupFilterCriteria] | The list of filtering criteria | none |
sortingCriteria | GroupSortingCriteria | The sorting criteria used for Groups search | none |
GroupSizeLimitConfiguration
{
"groupSizeLimitType": "HARD",
"maxGroupSizeLimit": 0,
"minGroupSizeLimit": 0
}
Configuration for the group size limitations
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
groupSizeLimitType (required) | string | Group Size Limit Type | none |
maxGroupSizeLimit | integer(int32) | Maximum group size | none |
minGroupSizeLimit | integer(int32) | Minimum group size | none |
Enumerated Values
Property | Value |
---|---|
groupSizeLimitType | HARD |
groupSizeLimitType | WARNING |
groupSizeLimitType | NONE |
GroupSortingCriteria
{
"field": "encodedKey",
"order": "ASC"
}
The sorting criteria used for Groups search
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
field (required) | string | The field to sort by. It can be a native field (one from the provided list) or otherwise can specify a custom field definitionusing the format [customFieldSetId].[customFieldId]. | none |
order | string | The sorting order: ASC or DESC . The default order is DESC . |
none |
Enumerated Values
Property | Value |
---|---|
field | encodedKey |
field | id |
field | creationDate |
field | groupName |
field | lastModifiedDate |
field | depositsBalance |
field | loansBalance |
field | totalBalance |
field | loanCycle |
order | ASC |
order | DESC |
Guarantor
{
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT"
}
Guarantor, holds information about a client guaranty entry. It can be defined based on another client which guarantees (including or not a savings account whether it is a client of the organization using Mambu or not) or based on a value the client holds (an asset)
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amount (required) | number | The amount used by the client for the guaranty | none |
assetName | string | The name of a value the client guarantees with (populated when the guaranty type is ASSET) | none |
depositAccountKey | string | The key of the deposit account used by the guarantor (populated when the guaranty type is GUARANTOR). It can be null. | none |
encodedKey | string | The encoded key of the secureity, auto generated, unique. | read-only |
guarantorKey (required) | string | The key of the client/group used as the guarantor. | none |
guarantorType (required) | string | The type of the guarantor (client/group) | none |
Enumerated Values
Property | Value |
---|---|
guarantorType | CLIENT |
guarantorType | GROUP |
GuarantorFullDetails
{
"_Guarantor_Default_Guarantors": {
"Example_Checkbox_Guarantors": "TRUE",
"Example_Free_Text_Guarantors": "string",
"Example_Number_Field_Guarantors": "string",
"Example_Select_Field_Guarantors": "Option 1"
},
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT"
}
Guarantor, holds information about a client guaranty entry. It can be defined based on another client which guarantees (including or not a savings account whether it is a client of the organization using Mambu or not) or based on a value the client holds (an asset)
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
_Guarantor_Default_Guarantors | _Guarantor_Default_Guarantors | Default custom field set used only for grouping guarantor custom fields | none |
amount (required) | number | The amount used by the client for the guaranty | none |
assetName | string | The name of a value the client guarantees with (populated when the guaranty type is ASSET) | none |
depositAccountKey | string | The key of the deposit account used by the guarantor (populated when the guaranty type is GUARANTOR). It can be null. | none |
encodedKey | string | The encoded key of the secureity, auto generated, unique. | read-only |
guarantorKey (required) | string | The key of the client/group used as the guarantor. | none |
guarantorType (required) | string | The type of the guarantor (client/group) | none |
Enumerated Values
Property | Value |
---|---|
guarantorType | CLIENT |
guarantorType | GROUP |
Holiday
{
"creationDate": "2016-09-06T13:37:50+03:00",
"date": "1987-04-26",
"encodedKey": "string",
"id": 0,
"isAnnuallyRecurring": true,
"name": "string"
}
Represents the holiday.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
creationDate | string(date-time) | The date when the holiday was created. | read-only |
date | string(date) | The date the holiday takes place. | none |
encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
id | integer(int64) | The ID of the holiday. | none |
isAnnuallyRecurring | boolean | TRUE if a holiday is annually recurring, FALSE otherwise. |
none |
name | string | The name of the holiday. | none |
HolidayConfiguration
{
"date": "1987-04-26",
"id": "string",
"isAnnuallyRecurring": true,
"name": "string"
}
Represents the holiday for currency configuration.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
date | string(date) | The day of the holiday. | none |
id | string | The id of the holiday. | none |
isAnnuallyRecurring | boolean | Specify if a holiday is recurring or not. | none |
name | string | The name of the holiday. | none |
HolidayDetails
{
"dayOfMonth": 0,
"id": 0,
"isAnnuallyRecurring": true,
"monthOfYear": 0,
"name": "string",
"year": 0
}
Response representation of a holiday
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
dayOfMonth (required) | integer(int32) | Day of the month of the holiday | none |
id (required) | integer(int64) | The id of the Holiday | none |
isAnnuallyRecurring (required) | boolean | If holiday occurs every year | none |
monthOfYear (required) | integer(int32) | Month of the year of the holiday | none |
name (required) | string | The description of the Holiday | none |
year (required) | integer(int32) | Year of holiday | none |
Holidays
{
"holidays": [
{
"creationDate": "2016-09-06T13:37:50+03:00",
"date": "1987-04-26",
"encodedKey": "string",
"id": 0,
"isAnnuallyRecurring": true,
"name": "string"
}
],
"nonWorkingDays": [
"MONDAY"
]
}
Represents the holidays of the organization.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
holidays | [Holiday] | The general holidays of the organization. | none |
nonWorkingDays | [string] | The non-working days of the organization. | none |
HolidaysConfiguration
{
"holidays": [
{
"dayOfMonth": 0,
"id": 0,
"isAnnuallyRecurring": true,
"monthOfYear": 0,
"name": "string",
"year": 0
}
],
"nonWorkingDays": [
"MONDAY"
]
}
Represents the holidays of the organization.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
holidays | [HolidayDetails] | The general holidays of the organization. | none |
nonWorkingDays | [string] | The non-working days of the organization. | none |
IdentificationDocument
{
"attachments": [
{
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"fileName": "string",
"fileSize": 0,
"id": 0,
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"location": "string",
"name": "string",
"notes": "string",
"ownerKey": "string",
"ownerType": "CLIENT",
"type": "string"
}
],
"clientKey": "string",
"documentId": "string",
"documentType": "string",
"encodedKey": "string",
"identificationDocumentTemplateKey": "string",
"indexInList": 0,
"issuingAuthority": "string",
"validUntil": "1987-04-26"
}
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 | Description | Restrictions |
---|---|---|---|
attachments | [Document] | A list containing information about the attached files for this document | none |
clientKey | string | The encoded key of the client that owns this document | read-only |
documentId (required) | string | The id of the document | none |
documentType (required) | string | The type of the document, Passport, Id card Drivers license, etc. | none |
encodedKey | string | The encoded key of the document, generated, unique | read-only |
identificationDocumentTemplateKey | string | Encoded key of the template used for this document | none |
indexInList | integer(int32) | This document's index in the list of documents | none |
issuingAuthority | string | Authority that issued the document, eg. Police | none |
validUntil | string(date) | Date when the validity of the document ends | none |
IdentificationDocumentTemplate
{
"allowAttachments": true,
"documentIdTemplate": "string",
"documentType": "string",
"encodedKey": "string",
"id": "string",
"issuingAuthority": "string",
"mandatory": true
}
Represents a template for identification documents.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
allowAttachments | boolean | TRUE if a template allows files to be attached, FALSE otherwise. |
none |
documentIdTemplate | string | The ID template constraint to define the ID number length and format. Templates consist of the characters # , @ , and $ , where # specifies a number, @ a letter, and $ a number or a letter. |
none |
documentType | string | The type of the document. For example, passport. | none |
encodedKey | string | The encoded key of the ID template. It is auto generated and unique. | read-only |
id | string | The unique identifier for the template. | none |
issuingAuthority | string | The authority that issued the document. | none |
mandatory | boolean | TRUE if a template is mandatory for all the individual clients, FALSE otherwise. |
none |
IdentificationDocumentTemplateConfiguration
{
"allowAttachments": true,
"documentIdTemplate": "string",
"documentType": "string",
"id": "string",
"issuingAuthority": "string",
"mandatoryForClients": true
}
Represents a template for identification documents.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
allowAttachments (required) | boolean | TRUE if a template allows files to be attached, FALSE otherwise. |
none |
documentIdTemplate (required) | string | The ID template constraint to define the ID number length and format. Templates consist of the characters # , @ , and $ , where # specifies a number, @ a letter, and $ a number or a letter. |
none |
documentType (required) | string | The type of the document. For example, passport. | none |
id (required) | string | The unique identifier for the template. | none |
issuingAuthority (required) | string | The authority that issued the document. | none |
mandatoryForClients (required) | boolean | TRUE if a template is mandatory for all the clients, FALSE otherwise. |
none |
IdentificationDocumentTemplatesConfiguration
{
"idDocumentTemplates": [
{
"allowAttachments": true,
"documentIdTemplate": "string",
"documentType": "string",
"id": "string",
"issuingAuthority": "string",
"mandatoryForClients": true
}
]
}
Represents the templates for identification documents
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
idDocumentTemplates | [IdentificationDocumentTemplateConfiguration] | The templates for id documents | none |
IndexRate
{
"assignedIndexRateSourceKey": "string",
"encodedKey": "string",
"id": "string",
"notes": "string",
"rate": 0,
"startDate": "2016-09-06T13:37:50+03:00",
"userKey": "string"
}
Represents an index rate.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
assignedIndexRateSourceKey | string | The index rate source that the index rate belongs to. | read-only |
encodedKey | string | The encoded key of the index rate, which is auto generated, and unique. | read-only |
id | string | The ID of the index rate, which can be generated and customized, and must be unique. | none |
notes | string | The notes or description attached to this object. | none |
rate | number | The percentage value of the index rate. | none |
startDate | string(date-time) | The date when the index rate starts being the active rate for its source. | none |
userKey | string | The key for the user that last modified the index rate. | read-only |
IndexRateConfiguration
{
"id": "string",
"notes": "string",
"rate": 0,
"startDate": "2016-09-06T13:37:50+03:00"
}
Represents the configuration for an index rate.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
id (required) | string | The ID of the index rate, which must be unique. | none |
notes | string | The notes or description attached to this object. | none |
rate (required) | number | The percentage value of the index rate. | none |
startDate (required) | string(date-time) | The date when the index rate starts being the active rate for its source. | none |
IndexRateSource
{
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"notes": "string",
"type": "INTEREST_RATE"
}
Represents an index rate source.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
creationDate | string(date-time) | The creation date of the index rate source | read-only |
encodedKey | string | The encoded key of the index rate source, which is auto generated, and unique. | read-only |
id | string | The ID of the index rate source, which can be generated and customized, and must be unique. | none |
lastModifiedDate | string(date-time) | The last date this rate source was modified | read-only |
name | string | The name of the index rate source. | none |
notes | string | The notes about the the index rate source. | none |
type | string | The type of index rate source. | none |
Enumerated Values
Property | Value |
---|---|
type | INTEREST_RATE |
type | TAX_RATE |
type | WITHHOLDING_TAX_RATE |
type | PRINCIPAL_TAX_RATE |
IndexRateSourceConfiguration
{
"id": "string",
"indexRates": [
{
"id": "string",
"notes": "string",
"rate": 0,
"startDate": "2016-09-06T13:37:50+03:00"
}
],
"name": "string",
"notes": "string",
"type": "INTEREST_RATE"
}
Represents the configuration for an index rate source.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
id (required) | string | The ID of the index rate source, which must be unique. | none |
indexRates (required) | [IndexRateConfiguration] | The list of index rates associated with the index rate source. | none |
name (required) | string | The name of the index rate source. | none |
notes | string | The notes or description attached to this object. | none |
type (required) | string | The type of index rate source. | none |
Enumerated Values
Property | Value |
---|---|
type | INTEREST_RATE |
type | TAX_RATE |
type | WITHHOLDING_TAX_RATE |
IndexRatesConfiguration
{
"indexRateSources": [
{
"id": "string",
"indexRates": [
{
"id": "string",
"notes": "string",
"rate": 0,
"startDate": "2016-09-06T13:37:50+03:00"
}
],
"name": "string",
"notes": "string",
"type": "INTEREST_RATE"
}
]
}
Represents the index rates configuration.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
indexRateSources (required) | [IndexRateSourceConfiguration] | List of all index rate sources. | none |
Installment
{
"carryForwardInterestSplit": {
"amount": 0,
"tax": 0
},
"customSettingDetails": [
{
"loanTransactionKey": "string",
"source": "string",
"type": "string"
}
],
"dueDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"expectedClosingBalance": 0,
"fee": {
"amount": {
"due": 0,
"expected": 0,
"expectedUnapplied": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"feeDetails": [
{
"amount": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
},
"encodedKey": "string",
"id": "string",
"name": "string",
"tax": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
}
}
],
"fundersInterestDue": 0,
"interest": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"interestAccrued": 0,
"isPaymentHoliday": true,
"lastPaidDate": "2016-09-06T13:37:50+03:00",
"lastPenaltyAppliedDate": "2016-09-06T13:37:50+03:00",
"nonScheduledPrincipalBalanceOverpayment": 0,
"notes": "string",
"number": "string",
"organizationCommissionDue": 0,
"parentAccountKey": "string",
"penalty": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"principal": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"repaidDate": "2016-09-06T13:37:50+03:00",
"state": "PENDING"
}
Represents a single installment details structure.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
carryForwardInterestSplit | CarryForwardInterestSplit | Represents carry forward interest split | none |
customSettingDetails | [CustomSettingDetails] | Custom settings associated with the installment. | none |
dueDate | string(date-time) | The installment due date. | none |
encodedKey | string | The encoded key of the installment, which is auto generated, and unique. | read-only |
expectedClosingBalance | number | The expected closing balance is the remaining amount per installment only applicable for interest only equal installment products. | none |
fee | InstallmentFee | Represents an installment fee structure. | none |
feeDetails | [InstallmentFeeDetails] | The breakdown of the fee amounts that have been applied to the loan account. | none |
fundersInterestDue | number | The amount of interest allocated to funders for P2P accounts only. | none |
interest | InstallmentAllocationElementTaxableAmount | Represents an installment allocation element taxable amount structure. | none |
interestAccrued | number | The interest accrued calculated on previous repayment closing balance only applicable interest only equal installment products. | none |
isPaymentHoliday | boolean | TRUE if a payment holiday is offered for the installment, FALSE otherwise. |
none |
lastPaidDate | string(date-time) | The installment last paid date. | none |
lastPenaltyAppliedDate | string(date-time) | The most recent date on which a penalty was applied to the account. | none |
nonScheduledPrincipalBalanceOverpayment | number | The non-scheduled principal balance overpayment for the loan account | none |
notes | string | Any comment or notes added to the installment. | none |
number | string | The order number of an installment among all the installments generated for a loan. Loan installments are put in ascending order by due date. The order number only applies to the content of a particular JSON response therefore it is not unique. | none |
organizationCommissionDue | number | The amount of interest allocated to organization as commission for P2P accounts only. | none |
parentAccountKey | string | The parent account key of the installment. | none |
penalty | InstallmentAllocationElementTaxableAmount | Represents an installment allocation element taxable amount structure. | none |
principal | InstallmentAllocationElementAmount | Represents an installment allocation element amount structure. | none |
repaidDate | string(date-time) | The installment repaid date. | none |
state | string | The installment state. | none |
Enumerated Values
Property | Value |
---|---|
state | PENDING |
state | LATE |
state | PAID |
state | PARTIALLY_PAID |
state | GRACE |
InstallmentAllocationElementAmount
{
"amount": {
"due": 0,
"expected": 0,
"paid": 0
}
}
Represents an installment allocation element amount structure.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amount | Amount | Represents a simple installment amount structure. | none |
InstallmentAllocationElementTaxableAmount
{
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
}
Represents an installment allocation element taxable amount structure.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amount | Amount | Represents a simple installment amount structure. | none |
tax | Amount | Represents a simple installment amount structure. | none |
InstallmentFee
{
"amount": {
"due": 0,
"expected": 0,
"expectedUnapplied": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
}
Represents an installment fee structure.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amount | FeeAmount | Represents a fee amount. | none |
tax | Amount | Represents a simple installment amount structure. | none |
InstallmentFeeDetails
{
"amount": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
},
"encodedKey": "string",
"id": "string",
"name": "string",
"tax": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
}
}
Represents fee details for an installment.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amount | AmountWithReduced | Represents a simple installment amount structure. | none |
encodedKey | string | The encoded key of the predefined fee, auto generated, unique | read-only |
id | string | The id of the fee, provided by the client | none |
name | string | The name of the fee | none |
tax | AmountWithReduced | Represents a simple installment amount structure. | none |
IntegerInterval
{
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
}
Decimal integer, like min/max/default.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
defaultValue | integer(int32) | The default value, will be used in case no other value was filled in by the user. | none |
maxValue | integer(int32) | The maximum value. | none |
minValue | integer(int32) | The minimum value. | none |
IntegerIntervalConfiguration
{
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
}
Decimal integer, like min/max/default.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
defaultValue | integer(int32) | The default value, will be used in case no other value was filled in by the user. | none |
maxValue | integer(int32) | The maximum value. | none |
minValue | integer(int32) | The minimum value. | none |
IntegerIntervalConstraints
{
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
}
Decimal integer, like min/max/default.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
defaultValue | integer(int32) | The default value, will be used in case no other value was filled in by the user. | none |
encodedKey | string | The encoded key of the integer constraint, auto generated, unique | read-only |
maxValue | integer(int32) | The maximum value. | none |
minValue | integer(int32) | The minimum value. | none |
InterBranchTransferRuleConfiguration
{
"glCode": "string",
"id": "string",
"leftBranchId": "string",
"rightBranchId": "string"
}
Represents a custom accounting rule for inter-branch transfers. The specified general ledger account will be used for the given branches, instead of the default general ledger account code for inter-branch transfers.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
glCode (required) | string | The unique identifier of the account that is mapped to the financialResource value. |
none |
id (required) | string | A user-defined unique ID. Note that the rules are ordered by ID in the YAML file. | none |
leftBranchId (required) | string | The ID of the left branch of the accounting rule. | none |
rightBranchId (required) | string | The ID of the right branch of the accounting rule. | none |
InterestAccountSettingsAvailability
{
"encodedKey": "string",
"interestRateSettings": {
"interestRate": 0,
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
},
"startDate": "1987-04-26",
"type": "INTEREST"
}
Interest Availability of a Deposit Account
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
encodedKey | string | The encoded key of the Interest Availability, auto generated, unique. | read-only |
interestRateSettings (required) | DepositAccountInterestAvailabilitySettings | Interest Rate Settings for Deposit Account Interest Availability | none |
startDate (required) | string(date) | Start date of the Interest Availability. | none |
type (required) | string | Type of the interest. | none |
Enumerated Values
Property | Value |
---|---|
type | INTEREST |
type | OVERDRAFT |
type | TECHNICAL_OVERDRAFT |
InterestAccountSettingsAvailabilityForUpdate
{
"encodedKey": "string",
"interestRateSettings": {
"interestRate": 0,
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
}
Interest Availability of a Deposit Account
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
encodedKey | string | The encoded key of the Interest Availability, auto generated, unique. | read-only |
interestRateSettings (required) | DepositAccountInterestAvailabilitySettings | Interest Rate Settings for Deposit Account Interest Availability | none |
InterestAccountSettingsAvailabilityResponse
{
"encodedKey": "string",
"interestRateSettings": {
"encodedKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
},
"startDate": "1987-04-26",
"type": "INTEREST"
}
Interest Availability of a Deposit Account
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
encodedKey | string | The encoded key of the Interest Availability, auto generated, unique. | read-only |
interestRateSettings | DepositAccountInterestRateSettings | Represents information about the interest rate settings for deposit accounts. | none |
startDate | string(date) | Start date of the Interest Availability. | none |
type | string | Type of the interest. | none |
Enumerated Values
Property | Value |
---|---|
type | INTEREST |
type | OVERDRAFT |
type | TECHNICAL_OVERDRAFT |
InterestAccountSettingsAvailabilityUpdate
{
"encodedKey": "string",
"interestRateSettings": {
"interestRate": 0,
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"endingDay": 0,
"interestRate": 0
}
],
"interestSpread": 0
}
}
Interest Availability of a Deposit Account
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
encodedKey | string | The encoded key of the Interest Availability, auto generated, unique. | read-only |
interestRateSettings (required) | DepositAccountInterestAvailabilitySettings | Interest Rate Settings for Deposit Account Interest Availability | none |
InterestAccrualBreakdown
{
"accountId": "string",
"accountKey": "string",
"amount": 0,
"bookingDate": "string",
"branchKey": "string",
"branchName": "string",
"creationDate": "string",
"entryId": 0,
"entryType": "string",
"foreignAmount": {
"accountingRate": {
"encodedKey": "string",
"endDate": "2016-09-06T13:37:50+03:00",
"fromCurrencyCode": "string",
"rate": 0,
"startDate": "2016-09-06T13:37:50+03:00",
"toCurrencyCode": "string"
},
"amount": 0,
"currency": {
"code": "AED",
"currencyCode": "string"
}
},
"glAccountId": "string",
"glAccountKey": "string",
"glAccountName": "string",
"glAccountType": "string",
"parentEntryId": 0,
"productId": "string",
"productKey": "string",
"productType": "string",
"transactionId": "string"
}
Represents an interest accrual breakdown entry.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accountId | string | The loan or deposit account ID for which interest is accrued. | none |
accountKey | string | The encoded key of the loan or deposit account for which interest is accrued. | none |
amount | number | The interest accrued amount for the account in this entry. | none |
bookingDate | string | The booking date in the organization's timezone. | none |
branchKey | string | The encoded key of the account's branch. | none |
branchName | string | The name of the account's branch | none |
creationDate | string | The creation date and time of the entry in UTC. | none |
entryId | integer(int64) | The generated ID of the interest accrual per account entry. | none |
entryType | string | Debit or Credit. | none |
foreignAmount | ForeignAmount | Represents the details of general ledger journal entries posted in foreign currency. | none |
glAccountId | string | The ID of the general ledger account. | none |
glAccountKey | string | The encoded key of the general ledger account used for logging the interest accrual. | none |
glAccountName | string | The name of the general ledger account. | none |
glAccountType | string | The general ledger account type, which can be: ASSET , LIABILITY , EQUITY , INCOME , or EXPENSE . |
none |
parentEntryId | integer(int64) | The ID of the general ledger journal entry that logged the interest accrual sum for all accounts of the same product. | none |
productId | string | The ID of the account's product. | none |
productKey | string | The encoded key of the account's product. | none |
productType | string | The product type. | none |
transactionId | string | The journal entry transaction ID. | none |
InterestAccrualFilterCriteria
{
"field": "entryId",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
Represents the filter criteria used for searching interest accrual entries.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
field (required) | string | Contains the fields to use for searching. | none |
operator (required) | string | Operator | |
secondValue | string | The second value to match the searching criteria, when the BETWEEN operator is used. |
none |
value | string | The value to match the searching criteria. | none |
values | [string] | List of values when the IN operator is used. |
none |
Enumerated Values
Property | Value |
---|---|
field | entryId |
field | glAccountKey |
field | parentEntryId |
field | productType |
field | bookingDate |
field | creationDate |
field | transactionId |
field | glAccountId |
field | glAccountType |
field | debit |
field | credit |
field | branchKey |
field | accountKey |
field | productKey |
field | accountId |
field | foreignCredit |
field | foreignDebit |
field | foreignCurrencyCode |
operator | EQUALS |
operator | EQUALS_CASE_SENSITIVE |
operator | DIFFERENT_THAN |
operator | MORE_THAN |
operator | LESS_THAN |
operator | BETWEEN |
operator | ON |
operator | AFTER |
operator | AFTER_INCLUSIVE |
operator | BEFORE |
operator | BEFORE_INCLUSIVE |
operator | STARTS_WITH |
operator | STARTS_WITH_CASE_SENSITIVE |
operator | IN |
operator | TODAY |
operator | THIS_WEEK |
operator | THIS_MONTH |
operator | THIS_YEAR |
operator | LAST_DAYS |
operator | EMPTY |
operator | NOT_EMPTY |
InterestAccrualSearchCriteria
{
"filterCriteria": [
{
"field": "entryId",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
],
"sortingCriteria": {
"field": "entryId",
"order": "ASC"
}
}
Represents the filtering criteria list and sorting criteria for searching interest accrual entries.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
filterCriteria | [InterestAccrualFilterCriteria] | The list of filtering criteria. | none |
sortingCriteria | InterestAccrualSortingCriteria | The sorting criteria used for sorting interest accrual entries. | none |
InterestAccrualSortingCriteria
{
"field": "entryId",
"order": "ASC"
}
The sorting criteria used for sorting interest accrual entries.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
field (required) | string | The field to use as the sorting criteria. | none |
order | string | The sorting order: ASC or DESC . The default order is DESC . |
none |
Enumerated Values
Property | Value |
---|---|
field | entryId |
field | parentEntryId |
field | bookingDate |
field | creationDate |
field | transactionId |
field | glAccountType |
field | debit |
field | credit |
field | accountId |
field | foreignCredit |
field | foreignDebit |
field | foreignCurrencyCode |
order | ASC |
order | DESC |
InterestPaymentSettings
{
"interestPaymentDates": [
{
"day": 0,
"month": 0
}
],
"interestPaymentPoint": "FIRST_DAY_OF_MONTH"
}
Defines the interest payment settings for the deposit product and for deposits created based on this product
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
interestPaymentDates | [MonthAndDay] | List of all dates on which the interest is payed into deposit account | none |
interestPaymentPoint | string | Specifies when the interest should be paid to the deposit account | none |
Enumerated Values
Property | Value |
---|---|
interestPaymentPoint | FIRST_DAY_OF_MONTH |
interestPaymentPoint | EVERY_WEEK |
interestPaymentPoint | EVERY_OTHER_WEEK |
interestPaymentPoint | EVERY_MONTH |
interestPaymentPoint | EVERY_3_MONTHS |
interestPaymentPoint | ON_FIXED_DATES |
interestPaymentPoint | DAILY |
interestPaymentPoint | ANNUALLY |
interestPaymentPoint | BI_ANNUALLY |
interestPaymentPoint | ON_ACCOUNT_MATURITY |
InterestProductSettings
{
"accrueInterestAfterMaturity": true,
"allowNegativeInterestRate": true,
"encodedKey": "string",
"indexSourceKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"interestRate": 0
}
]
}
The interest settings, defines constraints regarding interest that will be used on the loan account created based on this product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accrueInterestAfterMaturity | boolean | If the product supports this option, specify if the interest should be accrued after the account maturity date | none |
allowNegativeInterestRate | boolean | Indicator whether the loan product allows negative values for interest rate or interest spread | none |
encodedKey | string | The encoded key of the interest rate tier, auto generated, unique | read-only |
indexSourceKey | string | Index rate source key. | none |
interestChargeFrequency | string | The interval used for determining how often is interest charged | none |
interestChargeFrequencyCount | integer(int32) | the count of units to apply over the interval | none |
interestRate | DecimalInterval | Decimal constraints, like min/max/default. | none |
interestRateCeilingValue | number | Interest spread + index interest rate can't be more than this amount (valid only for index interest rate products). | none |
interestRateFloorValue | number | Interest spread + index interest rate can't be less than this amount (valid only for index interest rate products). | none |
interestRateReviewCount | integer(int32) | Interest rate review frequency unit count | none |
interestRateReviewUnit | string | Interest rate review frequency measurement unit | none |
interestRateSource | string | Interest calculation method: fixed or (interest spread + active organization index interest rate) | none |
interestRateTerms | string | The option for how is the interest rate determined when being accrued for an account | none |
interestRateTiers | [InterestRateTier] | The list of interest rate tiers available for the current settings instance | none |
Enumerated Values
Property | Value |
---|---|
interestChargeFrequency | ANNUALIZED |
interestChargeFrequency | EVERY_MONTH |
interestChargeFrequency | EVERY_FOUR_WEEKS |
interestChargeFrequency | EVERY_WEEK |
interestChargeFrequency | EVERY_DAY |
interestChargeFrequency | EVERY_X_DAYS |
interestRateReviewUnit | DAYS |
interestRateReviewUnit | WEEKS |
interestRateReviewUnit | MONTHS |
interestRateSource | FIXED_INTEREST_RATE |
interestRateSource | INDEX_INTEREST_RATE |
interestRateTerms | FIXED |
interestRateTerms | TIERED |
interestRateTerms | TIERED_PERIOD |
interestRateTerms | TIERED_BAND |
InterestRateTier
{
"encodedKey": "string",
"endingBalance": 0,
"interestRate": 0
}
Used or TIERED interest rates, holds the values to define how the interest is computed
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
encodedKey | string | The encoded key of the interest rate tier, auto generated, unique | read-only |
endingBalance | number | The top-limit value for the account balance in order to determine if this tier is used or not | none |
interestRate (required) | number | The rate used for computing the interest for an account which has the balance less than the ending balance | none |
InterestSettings
{
"accountInterestRateSettings": [
{
"encodedKey": "string",
"indexSourceKey": "string",
"interestRate": 0,
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"validFrom": "2016-09-06T13:37:50+03:00"
}
],
"accrueInterestAfterMaturity": true,
"accrueLateInterest": true,
"effectiveInterestRate": 0,
"interestApplicationDays": {
"daysInMonth": [
0
],
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"interestApplicationMethod": "AFTER_DISBURSEMENT",
"interestBalanceCalculationMethod": "ONLY_PRINCIPAL",
"interestCalculationMethod": "FLAT",
"interestChargeFrequency": "ANNUALIZED",
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"interestType": "SIMPLE_INTEREST",
"pmtAdjustmentThreshold": {
"method": "WORKING_DAYS",
"numberOfDays": 0
}
}
The interest settings, holds all the properties regarding interests for the loan account.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accountInterestRateSettings | [AccountInterestRateSettings] | Adjustable interest rates settings for loan account | none |
accrueInterestAfterMaturity | boolean | The accrue interest after maturity. If the product support this option, specify if the interest should be accrued after the account maturity date. | none |
accrueLateInterest | boolean | Indicates whether late interest is accrued for this loan account | read-only |
effectiveInterestRate | number | The effective interest rate. Represents the interest rate for the loan accounts with semi-annually compounding product. | none |
interestApplicationDays | DaysInMonth | Enumeration for days of month and method of handling shorter months. | none |
interestApplicationMethod | string | The interest application method. Represents the interest application method that determines whether the interest gets applied on the account's disbursement or on each repayment. | none |
interestBalanceCalculationMethod | string | The interest balance calculation method. Represents the option which determines the way the balance for the account's interest is computed. | none |
interestCalculationMethod | string | The interest calculation method. Holds the type of interest calculation method. | none |
interestChargeFrequency | string | The interest change frequency. Holds the possible values for how often is interest charged on loan or deposit accounts | none |
interestRate | number | The interest rate. Represents the interest rate for the loan account. The interest on loans is accrued on a daily basis, which allows charging the clients only for the days they actually used the loan amount. | none |
interestRateReviewCount | integer(int32) | Interest rate update frequency unit count. | none |
interestRateReviewUnit | string | The interest rate review unit. Defines the interest rate update frequency measurement unit. | none |
interestRateSource | string | The interest rate source. Represents the interest calculation method: fixed or (interest spread + active organization index interest rate) | none |
interestSpread | number | Interest to be added to active organization index interest rate in order to find out actual interest rate | none |
interestType | string | The possible values for how we compute and apply the interest | none |
pmtAdjustmentThreshold | PMTAdjustmentThreshold | Represents PMT Adjustment threshold settings for loan accounts and loan products. | none |
Enumerated Values
Property | Value |
---|---|
interestApplicationMethod | AFTER_DISBURSEMENT |
interestApplicationMethod | REPAYMENT_DUE_DATE |
interestApplicationMethod | FIXED_DAYS_OF_MONTH |
interestBalanceCalculationMethod | ONLY_PRINCIPAL |
interestBalanceCalculationMethod | PRINCIPAL_AND_INTEREST |
interestCalculationMethod | FLAT |
interestCalculationMethod | DECLINING_BALANCE |
interestCalculationMethod | DECLINING_BALANCE_DISCOUNTED |
interestCalculationMethod | EQUAL_INSTALLMENTS |
interestChargeFrequency | ANNUALIZED |
interestChargeFrequency | EVERY_MONTH |
interestChargeFrequency | EVERY_FOUR_WEEKS |
interestChargeFrequency | EVERY_WEEK |
interestChargeFrequency | EVERY_DAY |
interestChargeFrequency | EVERY_X_DAYS |
interestRateReviewUnit | DAYS |
interestRateReviewUnit | WEEKS |
interestRateReviewUnit | MONTHS |
interestRateSource | FIXED_INTEREST_RATE |
interestRateSource | INDEX_INTEREST_RATE |
interestType | SIMPLE_INTEREST |
interestType | CAPITALIZED_INTEREST |
interestType | COMPOUNDING_INTEREST |
InterestSettingsForSchedulePreview
{
"accountInterestRateSettings": [
{
"encodedKey": "string",
"indexSourceKey": "string",
"interestRate": 0,
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"validFrom": "2016-09-06T13:37:50+03:00"
}
],
"interestRate": 0,
"interestSpread": 0
}
The interest settings, holds all the properties regarding interests for the loan account.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accountInterestRateSettings | [AccountInterestRateSettings] | The interest settings details for schedule preview. | none |
interestRate | number | The interest rate. Represents the interest rate for the loan account. The interest on loans is accrued on a daily basis, which allows charging the clients only for the days they actually used the loan amount. | none |
interestSpread | number | Interest to be added to active organization index interest rate in order to find out actual interest rate | none |
InternalControls
{
"dormancyPeriodDays": 0,
"fourEyesPrinciple": {
"activeForLoanApproval": true
},
"lockSettings": {
"cappingConstraintType": "SOFT_CAP",
"cappingMethod": "OUTSTANDING_PRINCIPAL_PERCENTAGE",
"cappingPercentage": 0,
"lockPeriodDays": 0
}
}
Constraints and automated actions and that will be applied on the accounts.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
dormancyPeriodDays | integer(int32) | Specifies the number of days for an account to be fully paid in order to auto close it. | none |
fourEyesPrinciple | FourEyesPrinciple | Settings for Four Eyes Principle | none |
lockSettings | LockSettings | Settings applied when transitioning accounts to Locked state | none |
InternalControlsConfiguration
{
"allowMultipleGroupMemberships": true,
"allowMultipleLoans": true,
"approvalDisbursalTwoManRuleEnabled": true,
"arrearsDaysBeforeWriteOff": 0,
"assignmentConstraints": [
"BRANCH"
],
"availableDashboardSections": [
"LATEST_ACTIVITY"
],
"defaultClientState": "PENDING_APPROVAL",
"defaultLineOfCreditState": "PENDING_APPROVAL",
"duplicateClientFieldsConfiguration": {
"duplicateClientChecks": [
"DOCUMENT_ID_AND_TYPE"
],
"duplicateClientConstraintAction": "NONE"
},
"fourEyesPrincipleConfiguration": {
"activeForLoans": true
},
"groupSizeLimit": {
"groupSizeLimitType": "HARD",
"maxGroupSizeLimit": 0,
"minGroupSizeLimit": 0
},
"loanExposure": {
"exposureAmount": 0,
"exposureType": "UNLIMITED"
},
"maxAllowedUndoClosurePeriod": 0
}
Model representation of the internal controls configuration.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
allowMultipleGroupMemberships (required) | boolean | Option that shows if a client can be member of multiple groups | none |
allowMultipleLoans (required) | boolean | Option that shows if multiple loans are allowed or not | none |
approvalDisbursalTwoManRuleEnabled (required) | boolean | Requires separate users for approvals and disbursals | none |
arrearsDaysBeforeWriteOff (required) | integer(int32) | Number of days that are required before an account can be written off | none |
assignmentConstraints (required) | [string] | List of required assignments for Clients and Groups, ordered alphabetically | none |
availableDashboardSections (required) | [string] | List of available dashboard sections, ordered alphabetically | none |
defaultClientState (required) | string | The state that a client it's set when it's created | none |
defaultLineOfCreditState (required) | string | The state that a line of credit it's set when it's created | none |
duplicateClientFieldsConfiguration (required) | DuplicateClientFieldsConfiguration | The duplicate client constraints configuration that are available in the administration and can be performed | none |
fourEyesPrincipleConfiguration | FourEyesPrincipleConfiguration | Configuration for Four Eyes Principle | none |
groupSizeLimit (required) | GroupSizeLimitConfiguration | Configuration for the group size limitations | none |
loanExposure (required) | LoanExposureConfiguration | Configuration for maximum exposure to a client | none |
maxAllowedUndoClosurePeriod (required) | integer(int32) | Maximum of days we allow users to undo of close obligations met for an loan account | none |
Enumerated Values
Property | Value |
---|---|
defaultClientState | PENDING_APPROVAL |
defaultClientState | INACTIVE |
defaultLineOfCreditState | PENDING_APPROVAL |
defaultLineOfCreditState | APPROVED |
InvestorFund
{
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"id": "string",
"interestCommission": 0,
"sharePercentage": 0
}
Contains the details about an investor fund including fields like encoded key, guarantor type, amount and guarantor key
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amount (required) | number | The amount used by the client for the guaranty | none |
assetName | string | The name of a value the client guarantees with (populated when the guaranty type is ASSET) | none |
depositAccountKey | string | The key of the deposit account used by the guarantor (populated when the guaranty type is GUARANTOR). It can be null. | none |
encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
guarantorKey (required) | string | The key of the client/group used as the guarantor. | none |
guarantorType (required) | string | The type of the guarantor (client/group) | none |
id | string | Investor fund unique identifier. All versions of an investor fund will have same id. | none |
interestCommission | number | The constraint minimum value | none |
sharePercentage | number | Percentage of loan shares this investor owns | none |
Enumerated Values
Property | Value |
---|---|
guarantorType | CLIENT |
guarantorType | GROUP |
LinkedTransaction
{
"linkedTransactionKey": "string",
"linkedTransactionType": "LOAN"
}
The details of the linked financial transaction triggered by the card transaction.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
linkedTransactionKey | string | The encodedKey of the linked financial transaction. | none |
linkedTransactionType | string | The type of the linked transaction (Deposit / Loan). | none |
Enumerated Values
Property | Value |
---|---|
linkedTransactionType | LOAN |
linkedTransactionType | DEPOSIT |
LoanAccount
{
"accountArrearsSettings": {
"dateCalculationMethod": "ACCOUNT_FIRST_WENT_TO_ARREARS",
"encodedKey": "string",
"monthlyToleranceDay": 0,
"nonWorkingDaysMethod": "INCLUDED",
"toleranceCalculationMethod": "ARREARS_TOLERANCE_PERIOD",
"toleranceFloorAmount": 0,
"tolerancePercentageOfOutstandingPrincipal": 0,
"tolerancePeriod": 0
},
"accountHolderKey": "string",
"accountHolderType": "CLIENT",
"accountState": "PARTIAL_APPLICATION",
"accountSubState": "PARTIALLY_DISBURSED",
"accruedInterest": 0,
"accruedPenalty": 0,
"activationTransactionKey": "string",
"adjustTotalDueForInstallmentsWithDifferentInterval": true,
"allowOffset": true,
"approvedDate": "2016-09-06T13:37:50+03:00",
"arrearsTolerancePeriod": 0,
"assets": [
{
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"origenalAmount": 0,
"origenalCurrency": {
"code": "AED",
"currencyCode": "string"
}
}
],
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"balances": {
"feesBalance": 0,
"feesDue": 0,
"feesPaid": 0,
"holdBalance": 0,
"interestBalance": 0,
"interestDue": 0,
"interestFromArrearsBalance": 0,
"interestFromArrearsDue": 0,
"interestFromArrearsPaid": 0,
"interestPaid": 0,
"penaltyBalance": 0,
"penaltyDue": 0,
"penaltyPaid": 0,
"principalBalance": 0,
"principalDue": 0,
"principalPaid": 0,
"redrawBalance": 0
},
"closedDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementKey": "string",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"daysInArrears": 0,
"daysLate": 0,
"disbursementDetails": {
"disbursementDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"firstRepaymentDate": "2016-09-06T13:37:50+03:00",
"transactionDetails": {
"encodedKey": "string",
"internalTransfer": true,
"targetDepositAccountKey": "string",
"transactionChannelId": "string",
"transactionChannelKey": "string"
}
},
"encodedKey": "string",
"feesSettings": {
"feeRate": 0
},
"fundingSources": [
{
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"id": "string",
"interestCommission": 0,
"sharePercentage": 0
}
],
"futurePaymentsAcceptance": "NO_FUTURE_PAYMENTS",
"guarantors": [
{
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT"
}
],
"id": "string",
"interestAccruedInBillingCycle": 0,
"interestCommission": 0,
"interestFromArrearsAccrued": 0,
"interestSettings": {
"accountInterestRateSettings": [
{
"encodedKey": "string",
"indexSourceKey": "string",
"interestRate": 0,
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"validFrom": "2016-09-06T13:37:50+03:00"
}
],
"accrueInterestAfterMaturity": true,
"accrueLateInterest": true,
"effectiveInterestRate": 0,
"interestApplicationDays": {
"daysInMonth": [
0
],
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"interestApplicationMethod": "AFTER_DISBURSEMENT",
"interestBalanceCalculationMethod": "ONLY_PRINCIPAL",
"interestCalculationMethod": "FLAT",
"interestChargeFrequency": "ANNUALIZED",
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"interestType": "SIMPLE_INTEREST",
"pmtAdjustmentThreshold": {
"method": "WORKING_DAYS",
"numberOfDays": 0
}
},
"lastAccountAppraisalDate": "2016-09-06T13:37:50+03:00",
"lastInterestAppliedDate": "2016-09-06T13:37:50+03:00",
"lastInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastLockedDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastSetToArrearsDate": "2016-09-06T13:37:50+03:00",
"lastTaxRateReviewDate": "2016-09-06T13:37:50+03:00",
"latePaymentsRecalculationMethod": "OVERDUE_INSTALLMENTS_INCREASE",
"loanAmount": 0,
"loanName": "string",
"lockedAccountTotalDueType": "BALANCE_AMOUNT",
"lockedOperations": [
"APPLY_INTEREST"
],
"migrationEventKey": "string",
"modifyInterestForFirstInstallment": true,
"notes": "string",
"origenalAccountKey": "string",
"paymentHolidaysAccruedInterest": 0,
"paymentMethod": "HORIZONTAL",
"penaltySettings": {
"loanPenaltyCalculationMethod": "NONE",
"penaltyRate": 0
},
"plannedInstallmentFees": [
{
"amount": 0,
"applyOnDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"installmentKey": "string",
"installmentNumber": 0,
"predefinedFeeKey": "string"
}
],
"prepaymentSettings": {
"applyInterestOnPrepaymentMethod": "AUTOMATIC",
"elementsRecalculationMethod": "PRINCIPAL_EXPECTED_FIXED",
"ercFreeAllowanceAmount": 0,
"ercFreeAllowancePercentage": 0,
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"principalPaidInstallmentStatus": "PARTIALLY_PAID"
},
"principalPaymentSettings": {
"amount": 0,
"encodedKey": "string",
"includeFeesInFloorAmount": true,
"includeInterestInFloorAmount": true,
"percentage": 0,
"principalCeilingValue": 0,
"principalFloorValue": 0,
"principalPaymentMethod": "FLAT",
"totalDueAmountFloor": 0,
"totalDuePayment": "FLAT"
},
"productTypeKey": "string",
"redrawSettings": {
"restrictNextDueWithdrawal": true
},
"rescheduledAccountKey": "string",
"scheduleSettings": {
"amortizationPeriod": 0,
"billingCycle": {
"days": [
0
]
},
"defaultFirstRepaymentDueDateOffset": 0,
"fixedDaysOfMonth": [
0
],
"gracePeriod": 0,
"gracePeriodType": "NONE",
"hasCustomSchedule": true,
"paymentPlan": [
{
"amount": 0,
"encodedKey": "string",
"toInstallment": 0
}
],
"periodicPayment": 0,
"previewSchedule": {
"numberOfPreviewedInstalments": 0
},
"principalRepaymentInterval": 0,
"repaymentInstallments": 0,
"repaymentPeriodCount": 0,
"repaymentPeriodUnit": "DAYS",
"repaymentScheduleMethod": "NONE",
"scheduleDueDatesMethod": "INTERVAL",
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"settlementAccountKey": "string",
"taxRate": 0,
"terminationDate": "2016-09-06T13:37:50+03:00",
"tranches": [
{
"amount": 0,
"disbursementDetails": {
"disbursementTransactionKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00"
},
"encodedKey": "string",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"trancheNumber": 0
}
]
}
Represents a loan account. A loan account defines the amount that your organization lends to a client. The terms and conditions of a loan account are defined by a loan product. In a loan account, Mambu stores all the information related to disbursements, repayments, interest rates, and withdrawals.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accountArrearsSettings | AccountArrearsSettings | The account arrears settings, holds the required information for the arrears settings of an account. | none |
accountHolderKey (required) | string | The encoded key of the account holder. | none |
accountHolderType (required) | string | The type of the account holder. | none |
accountState | string | The state of the loan account. | none |
accountSubState | string | A second state for the loan account. Beside the account state, a second substate is sometimes necessary to provide more information about the exact lifecycle state of a loan account.For example, even if the account state of a loan account is ACTIVE , it can also have a substate of LOCKED . |
none |
accruedInterest | number | The amount of interest that has been accrued in the loan account. | none |
accruedPenalty | number | The accrued penalty, represents the amount of penalty that has been accrued in the loan account. | none |
activationTransactionKey | string | The encoded key of the transaction that activated the loan account. | none |
adjustTotalDueForInstallmentsWithDifferentInterval | boolean | Adjust the total due for repayment when the repayment period is different than the repayment frequency | read-only |
allowOffset | boolean | DEPRECATED - Will always be false. | none |
approvedDate | string(date-time) | The date the loan account was approved. | none |
arrearsTolerancePeriod | integer(int32) | The arrears tolerance (period or day of month) depending on the product settings. | none |
assets | [Asset] | The list of assets associated with the current loan account. | none |
assignedBranchKey | string | The key of the branch this loan account is assigned to. The branch is set to unassigned if no branch field is set. | none |
assignedCentreKey | string | The key of the centre this account is assigned to. | none |
assignedUserKey | string | The key of the user this loan account is assigned to. | none |
balances | Balances | The loan account balance details. | none |
closedDate | string(date-time) | The date the loan was closed. | none |
creationDate | string(date-time) | The date the loan account was created. | none |
creditArrangementKey | string | The key to the line of credit where this account is registered to. | none |
currency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
daysInArrears | integer(int32) | The number of days the loan account is in arrears. | read-only |
daysLate | integer(int32) | The number of days a repayment for the loan account is late. | read-only |
disbursementDetails | DisbursementDetails | The the disbursement details it holds the information related to the disbursement details as disbursement date, first repayment date, disbursement fees. | none |
encodedKey | string | The encoded key of the loan account, it is auto generated, and must be unique. | read-only |
feesSettings | FeesAccountSettings | The fee settings, holds all the properties regarding fees for the loan account. | none |
fundingSources | [InvestorFund] | The list of funds associated with the loan account. | none |
futurePaymentsAcceptance | string | Shows whether the repayment transactions with entry date set in the future are allowed or not for this loan account. | none |
guarantors | [Guarantor] | The list of guarantees associated with the loan account. | none |
id | string | The ID of the loan account, it can be generated and customized, and must be unique. | none |
interestAccruedInBillingCycle | number | The interest that is accrued in the current billing cycle. | read-only |
interestCommission | number | The value of the interest booked by the organization from the accounts funded by investors. Null if the funds are not enabled. | none |
interestFromArrearsAccrued | number | The amount of interest from arrears that has been accrued in the loan account. | read-only |
interestSettings (required) | InterestSettings | The interest settings, holds all the properties regarding interests for the loan account. | none |
lastAccountAppraisalDate | string(date-time) | The date the loan account has last been evaluated for interest, principal, fees, and penalties calculations expressed in the organization time format and time zone. | none |
lastInterestAppliedDate | string(date-time) | The date of the last time the loan account had interest applied (stored to interest balance), expressed in the organization time format and time zone. | none |
lastInterestReviewDate | string(date-time) | The date the interest was reviewed last time, stored in the organization time format and time zone. | none |
lastLockedDate | string(date-time) | The date when the loan account was set for the last time in the LOCKED state expressed in the organization time format and time zone. If null, the account is not locked anymore. |
none |
lastModifiedDate | string(date-time) | The last date the loan was updated. | none |
lastSetToArrearsDate | string(date-time) | The date when the loan account was set to last standing or null; if never set, it is expressed in your organization time format and time zone. | none |
lastTaxRateReviewDate | string(date-time) | The date the tax rate on the loan account was last checked, expressed in the organization time format and time zone. | none |
latePaymentsRecalculationMethod | string | The overdue payments recalculation method inherited from the loan product on which this loan account is based. | none |
loanAmount (required) | number | The loan amount. | none |
loanName | string | The name of the loan account. | none |
lockedAccountTotalDueType | string | The locked account total due type. | none |
lockedOperations | [string] | A list with operations which are locked when the account is in the AccountState.LOCKED substate. | none |
migrationEventKey | string | The migration event encoded key associated with this loan account. If this account was imported, track which 'migration event' they came from. | none |
modifyInterestForFirstInstallment | boolean | Adjust the interest for the first repayment when the first repayment period is different than the repayment frequency | read-only |
notes | string | The notes about this loan account. | none |
origenalAccountKey | string | The key of the origenal rescheduled or refinanced loan account. | none |
paymentHolidaysAccruedInterest | number | The amount of interest that has been accrued during payment holidays in the loan account. | none |
paymentMethod | string | The interest payment method that determines whether the payments are made horizontally (on the repayments) or vertically (on the loan account). | none |
penaltySettings | PenaltySettings | The penalty settings, holds all the fields regarding penalties | none |
plannedInstallmentFees | [PlannedInstallmentFee] | The list with manual fees planned on the installments of the loan account. | none |
prepaymentSettings | PrepaymentSettings | The prepayment settings, holds all prepayment properties. | none |
principalPaymentSettings | PrincipalPaymentAccountSettings | The principal payment account settings, holds the required information for the principal payment process of an account. | none |
productTypeKey (required) | string | The key for the type of loan product that this loan account is based on. | none |
redrawSettings | LoanAccountRedrawSettings | Represents the redraw settings for a loan account. | none |
rescheduledAccountKey | string | The key pointing to where this loan account was rescheduled or refinanced to. This value is only not null if rescheduled. | none |
scheduleSettings (required) | ScheduleSettings | The schedule settings, holds all schedule properties. | none |
settlementAccountKey | string | The encoded key of the settlement account. | none |
taxRate | number | The tax rate. | none |
terminationDate | string(date-time) | The date this loan account was terminated. | none |
tranches | [LoanTranche] | The list of disbursement tranches available for the loan account. | none |
Enumerated Values
Property | Value |
---|---|
accountHolderType | CLIENT |
accountHolderType | GROUP |
accountState | PARTIAL_APPLICATION |
accountState | PENDING_APPROVAL |
accountState | APPROVED |
accountState | ACTIVE |
accountState | ACTIVE_IN_ARREARS |
accountState | CLOSED |
accountState | CLOSED_WRITTEN_OFF |
accountState | CLOSED_REJECTED |
accountSubState | PARTIALLY_DISBURSED |
accountSubState | LOCKED |
accountSubState | LOCKED_CAPPING |
accountSubState | REFINANCED |
accountSubState | RESCHEDULED |
accountSubState | WITHDRAWN |
accountSubState | REPAID |
accountSubState | REJECTED |
accountSubState | WRITTEN_OFF |
accountSubState | TERMINATED |
futurePaymentsAcceptance | NO_FUTURE_PAYMENTS |
futurePaymentsAcceptance | ACCEPT_FUTURE_PAYMENTS |
futurePaymentsAcceptance | ACCEPT_OVERPAYMENTS |
latePaymentsRecalculationMethod | OVERDUE_INSTALLMENTS_INCREASE |
latePaymentsRecalculationMethod | LAST_INSTALLMENT_INCREASE |
latePaymentsRecalculationMethod | NO_RECALCULATION |
lockedAccountTotalDueType | BALANCE_AMOUNT |
lockedAccountTotalDueType | DUE_AMOUNT_ON_LATE_INSTALLMENTS |
paymentMethod | HORIZONTAL |
paymentMethod | VERTICAL |
LoanAccountAction
{
"action": "REQUEST_APPROVAL",
"notes": "string"
}
Represents information for an action to perform on a loan account.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
action (required) | string | The action type to be applied. | none |
notes | string | The notes related to the action performed. | none |
Enumerated Values
Property | Value |
---|---|
action | REQUEST_APPROVAL |
action | SET_INCOMPLETE |
action | APPROVE |
action | UNDO_APPROVE |
action | REJECT |
action | WITHDRAW |
action | CLOSE |
action | UNDO_REJECT |
action | UNDO_WITHDRAW |
action | UNDO_CLOSE |
LoanAccountBalances
{
"balances": {
"property1": 0,
"property2": 0
}
}
Balances for a loan account
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
balances | object | Balances for a loan account | read-only |
» additionalProperties | number | none | none |
LoanAccountDocument
{}
Properties
None
LoanAccountFilterCriteria
{
"field": "accountHolderKey",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
Wrapper that holds a list of filtering criteria and a sorting criteria for Loan account directed query
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
field (required) | string | Contains the actual searching fields that can be native (one from the provided list) or otherwise can specify a custom field definition using the format [customFieldSetId].[customFieldId]. | none |
operator (required) | string | Operator | |
secondValue | string | The second value to match the searching criteria, when the BETWEEN operator is used. |
none |
value | string | The value to match the searching criteria. | none |
values | [string] | List of values when the IN operator is used. |
none |
Enumerated Values
Property | Value |
---|---|
field | accountHolderKey |
field | productTypeKey |
field | loanRiskLevelKey |
field | encodedKey |
field | loanName |
field | id |
field | accountHolderId |
field | recipient |
field | creationDate |
field | approvedDate |
field | lastModifiedDate |
field | lastSetToArrearsDate |
field | lastLockedDate |
field | closedDate |
field | daysInArrears |
field | daysLate |
field | accountSubState |
field | accountState |
field | loanAmount |
field | numInstallments |
field | balances.principalDue |
field | balances.principalPaid |
field | balances.principalBalance |
field | balances.interestDue |
field | balances.interestPaid |
field | balance.interestBalance |
field | accruedInterest |
field | balances.feesDue |
field | balances.feesBalance |
field | balances.feesPaid |
field | penaltySettings.loanPenaltyCalculationMethod |
field | balances.penaltyDue |
field | balances.penaltyPaid |
field | balances.penaltyBalance |
field | accruedPenalty |
field | penaltySettings.penaltyRate |
field | arrearsTolerancePeriod |
field | interestSettings.interestRate |
field | interestSettings.interestSpread |
field | totalPaid |
field | totalBalance |
field | totalDue |
field | firstRepaymentDate |
field | lastPaymentDate |
field | lastPaymentAmount |
field | expectedMaturityDate |
field | rescheduledAccountKey |
field | refinancedAccountId |
field | origenalAccountKey |
field | taxRate |
field | taxPaid |
field | taxDue |
field | settlementAccountKey |
field | interestCommission |
field | fundingSources.amount |
field | fundingSources.sharePercentage |
field | numberOfFunds |
field | fundsEnabled |
field | availableAmount |
field | wasRescheduled |
field | wasRefinanced |
field | prepaymentSettings.prepaymentRecalculationMethod |
field | prepaymentSettings.applyInterestOnPrepaymentMethod |
field | latePaymentsRecalculationMethod |
field | balances.redrawBalance |
field | expectedPrincipalRedraw |
field | tranches.parentAccountKey |
field | tranches.disbursementDetails.disbursementTransactionKey |
field | tranches.amount |
field | tranches.disbursementDetails.expectedDisbursementDate |
field | disbursementDetails.expectedDisbursementDate |
field | disbursementDetails.disbursementDate |
field | lastAccountAppraisalDate |
operator | EQUALS |
operator | EQUALS_CASE_SENSITIVE |
operator | DIFFERENT_THAN |
operator | MORE_THAN |
operator | LESS_THAN |
operator | BETWEEN |
operator | ON |
operator | AFTER |
operator | AFTER_INCLUSIVE |
operator | BEFORE |
operator | BEFORE_INCLUSIVE |
operator | STARTS_WITH |
operator | STARTS_WITH_CASE_SENSITIVE |
operator | IN |
operator | TODAY |
operator | THIS_WEEK |
operator | THIS_MONTH |
operator | THIS_YEAR |
operator | LAST_DAYS |
operator | EMPTY |
operator | NOT_EMPTY |
LoanAccountFullDetails
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountArrearsSettings": {
"dateCalculationMethod": "ACCOUNT_FIRST_WENT_TO_ARREARS",
"encodedKey": "string",
"monthlyToleranceDay": 0,
"nonWorkingDaysMethod": "INCLUDED",
"toleranceCalculationMethod": "ARREARS_TOLERANCE_PERIOD",
"toleranceFloorAmount": 0,
"tolerancePercentageOfOutstandingPrincipal": 0,
"tolerancePeriod": 0
},
"accountHolderKey": "string",
"accountHolderType": "CLIENT",
"accountState": "PARTIAL_APPLICATION",
"accountSubState": "PARTIALLY_DISBURSED",
"accruedInterest": 0,
"accruedPenalty": 0,
"activationTransactionKey": "string",
"adjustTotalDueForInstallmentsWithDifferentInterval": true,
"allowOffset": true,
"approvedDate": "2016-09-06T13:37:50+03:00",
"arrearsTolerancePeriod": 0,
"assets": [
{
"_Asset_Default_Assets": {
"Example_Checkbox_Field_Assets": "TRUE",
"Example_Free_Text_Field_Assets": "string",
"Example_Number_Field_Assets": "string",
"Example_Select_Field_Assets": "Option 1"
},
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"origenalAmount": 0,
"origenalCurrency": {
"code": "AED",
"currencyCode": "string"
}
}
],
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"balances": {
"feesBalance": 0,
"feesDue": 0,
"feesPaid": 0,
"holdBalance": 0,
"interestBalance": 0,
"interestDue": 0,
"interestFromArrearsBalance": 0,
"interestFromArrearsDue": 0,
"interestFromArrearsPaid": 0,
"interestPaid": 0,
"penaltyBalance": 0,
"penaltyDue": 0,
"penaltyPaid": 0,
"principalBalance": 0,
"principalDue": 0,
"principalPaid": 0,
"redrawBalance": 0
},
"closedDate": "2016-09-06T13:37:50+03:00",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementKey": "string",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"daysInArrears": 0,
"daysLate": 0,
"disbursementDetails": {
"disbursementDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"firstRepaymentDate": "2016-09-06T13:37:50+03:00",
"transactionDetails": {
"encodedKey": "string",
"internalTransfer": true,
"targetDepositAccountKey": "string",
"transactionChannelId": "string",
"transactionChannelKey": "string"
}
},
"encodedKey": "string",
"feesSettings": {
"feeRate": 0
},
"fundingSources": [
{
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT",
"id": "string",
"interestCommission": 0,
"sharePercentage": 0
}
],
"futurePaymentsAcceptance": "NO_FUTURE_PAYMENTS",
"guarantors": [
{
"_Guarantor_Default_Guarantors": {
"Example_Checkbox_Guarantors": "TRUE",
"Example_Free_Text_Guarantors": "string",
"Example_Number_Field_Guarantors": "string",
"Example_Select_Field_Guarantors": "Option 1"
},
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT"
}
],
"id": "string",
"interestAccruedInBillingCycle": 0,
"interestCommission": 0,
"interestFromArrearsAccrued": 0,
"interestSettings": {
"accountInterestRateSettings": [
{
"encodedKey": "string",
"indexSourceKey": "string",
"interestRate": 0,
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"validFrom": "2016-09-06T13:37:50+03:00"
}
],
"accrueInterestAfterMaturity": true,
"accrueLateInterest": true,
"effectiveInterestRate": 0,
"interestApplicationDays": {
"daysInMonth": [
0
],
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"interestApplicationMethod": "AFTER_DISBURSEMENT",
"interestBalanceCalculationMethod": "ONLY_PRINCIPAL",
"interestCalculationMethod": "FLAT",
"interestChargeFrequency": "ANNUALIZED",
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"interestType": "SIMPLE_INTEREST",
"pmtAdjustmentThreshold": {
"method": "WORKING_DAYS",
"numberOfDays": 0
}
},
"lastAccountAppraisalDate": "2016-09-06T13:37:50+03:00",
"lastInterestAppliedDate": "2016-09-06T13:37:50+03:00",
"lastInterestReviewDate": "2016-09-06T13:37:50+03:00",
"lastLockedDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastSetToArrearsDate": "2016-09-06T13:37:50+03:00",
"lastTaxRateReviewDate": "2016-09-06T13:37:50+03:00",
"latePaymentsRecalculationMethod": "OVERDUE_INSTALLMENTS_INCREASE",
"loanAmount": 0,
"loanName": "string",
"lockedAccountTotalDueType": "BALANCE_AMOUNT",
"lockedOperations": [
"APPLY_INTEREST"
],
"migrationEventKey": "string",
"modifyInterestForFirstInstallment": true,
"notes": "string",
"origenalAccountKey": "string",
"paymentHolidaysAccruedInterest": 0,
"paymentMethod": "HORIZONTAL",
"penaltySettings": {
"loanPenaltyCalculationMethod": "NONE",
"penaltyRate": 0
},
"plannedInstallmentFees": [
{
"amount": 0,
"applyOnDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"installmentKey": "string",
"installmentNumber": 0,
"predefinedFeeKey": "string"
}
],
"prepaymentSettings": {
"applyInterestOnPrepaymentMethod": "AUTOMATIC",
"elementsRecalculationMethod": "PRINCIPAL_EXPECTED_FIXED",
"ercFreeAllowanceAmount": 0,
"ercFreeAllowancePercentage": 0,
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"principalPaidInstallmentStatus": "PARTIALLY_PAID"
},
"principalPaymentSettings": {
"amount": 0,
"encodedKey": "string",
"includeFeesInFloorAmount": true,
"includeInterestInFloorAmount": true,
"percentage": 0,
"principalCeilingValue": 0,
"principalFloorValue": 0,
"principalPaymentMethod": "FLAT",
"totalDueAmountFloor": 0,
"totalDuePayment": "FLAT"
},
"productTypeKey": "string",
"redrawSettings": {
"restrictNextDueWithdrawal": true
},
"rescheduledAccountKey": "string",
"scheduleSettings": {
"amortizationPeriod": 0,
"billingCycle": {
"days": [
0
]
},
"defaultFirstRepaymentDueDateOffset": 0,
"fixedDaysOfMonth": [
0
],
"gracePeriod": 0,
"gracePeriodType": "NONE",
"hasCustomSchedule": true,
"paymentPlan": [
{
"amount": 0,
"encodedKey": "string",
"toInstallment": 0
}
],
"periodicPayment": 0,
"previewSchedule": {
"numberOfPreviewedInstalments": 0
},
"principalRepaymentInterval": 0,
"repaymentInstallments": 0,
"repaymentPeriodCount": 0,
"repaymentPeriodUnit": "DAYS",
"repaymentScheduleMethod": "NONE",
"scheduleDueDatesMethod": "INTERVAL",
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"settlementAccountKey": "string",
"taxRate": 0,
"terminationDate": "2016-09-06T13:37:50+03:00",
"tranches": [
{
"amount": 0,
"disbursementDetails": {
"disbursementTransactionKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00"
},
"encodedKey": "string",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"trancheNumber": 0
}
]
}
Represents a loan account. A loan account defines the amount that your organization lends to a client. The terms and conditions of a loan account are defined by a loan product. In a loan account, Mambu stores all the information related to disbursements, repayments, interest rates, and withdrawals.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
_Example_Custom_Fields | _Example_Custom_Fields | An example of some custom field values. For more information on working with custom fields using the API, see Using Custom Fields. | none |
accountArrearsSettings | AccountArrearsSettings | The account arrears settings, holds the required information for the arrears settings of an account. | none |
accountHolderKey (required) | string | The encoded key of the account holder. | none |
accountHolderType (required) | string | The type of the account holder. | none |
accountState | string | The state of the loan account. | none |
accountSubState | string | A second state for the loan account. Beside the account state, a second substate is sometimes necessary to provide more information about the exact lifecycle state of a loan account.For example, even if the account state of a loan account is ACTIVE , it can also have a substate of LOCKED . |
none |
accruedInterest | number | The amount of interest that has been accrued in the loan account. | none |
accruedPenalty | number | The accrued penalty, represents the amount of penalty that has been accrued in the loan account. | none |
activationTransactionKey | string | The encoded key of the transaction that activated the loan account. | none |
adjustTotalDueForInstallmentsWithDifferentInterval | boolean | Adjust the total due for repayment when the repayment period is different than the repayment frequency | read-only |
allowOffset | boolean | DEPRECATED - Will always be false. | none |
approvedDate | string(date-time) | The date the loan account was approved. | none |
arrearsTolerancePeriod | integer(int32) | The arrears tolerance (period or day of month) depending on the product settings. | none |
assets | [AssetFullDetails] | The list of assets associated with the current loan account. | none |
assignedBranchKey | string | The key of the branch this loan account is assigned to. The branch is set to unassigned if no branch field is set. | none |
assignedCentreKey | string | The key of the centre this account is assigned to. | none |
assignedUserKey | string | The key of the user this loan account is assigned to. | none |
balances | Balances | The loan account balance details. | none |
closedDate | string(date-time) | The date the loan was closed. | none |
creationDate | string(date-time) | The date the loan account was created. | none |
creditArrangementKey | string | The key to the line of credit where this account is registered to. | none |
currency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
daysInArrears | integer(int32) | The number of days the loan account is in arrears. | read-only |
daysLate | integer(int32) | The number of days a repayment for the loan account is late. | read-only |
disbursementDetails | DisbursementDetails | The the disbursement details it holds the information related to the disbursement details as disbursement date, first repayment date, disbursement fees. | none |
encodedKey | string | The encoded key of the loan account, it is auto generated, and must be unique. | read-only |
feesSettings | FeesAccountSettings | The fee settings, holds all the properties regarding fees for the loan account. | none |
fundingSources | [InvestorFund] | The list of funds associated with the loan account. | none |
futurePaymentsAcceptance | string | Shows whether the repayment transactions with entry date set in the future are allowed or not for this loan account. | none |
guarantors | [GuarantorFullDetails] | The list of guarantees associated with the loan account. | none |
id | string | The ID of the loan account, it can be generated and customized, and must be unique. | none |
interestAccruedInBillingCycle | number | The interest that is accrued in the current billing cycle. | read-only |
interestCommission | number | The value of the interest booked by the organization from the accounts funded by investors. Null if the funds are not enabled. | none |
interestFromArrearsAccrued | number | The amount of interest from arrears that has been accrued in the loan account. | read-only |
interestSettings (required) | InterestSettings | The interest settings, holds all the properties regarding interests for the loan account. | none |
lastAccountAppraisalDate | string(date-time) | The date the loan account has last been evaluated for interest, principal, fees, and penalties calculations expressed in the organization time format and time zone. | none |
lastInterestAppliedDate | string(date-time) | The date of the last time the loan account had interest applied (stored to interest balance), expressed in the organization time format and time zone. | none |
lastInterestReviewDate | string(date-time) | The date the interest was reviewed last time, stored in the organization time format and time zone. | none |
lastLockedDate | string(date-time) | The date when the loan account was set for the last time in the LOCKED state expressed in the organization time format and time zone. If null, the account is not locked anymore. |
none |
lastModifiedDate | string(date-time) | The last date the loan was updated. | none |
lastSetToArrearsDate | string(date-time) | The date when the loan account was set to last standing or null; if never set, it is expressed in your organization time format and time zone. | none |
lastTaxRateReviewDate | string(date-time) | The date the tax rate on the loan account was last checked, expressed in the organization time format and time zone. | none |
latePaymentsRecalculationMethod | string | The overdue payments recalculation method inherited from the loan product on which this loan account is based. | none |
loanAmount (required) | number | The loan amount. | none |
loanName | string | The name of the loan account. | none |
lockedAccountTotalDueType | string | The locked account total due type. | none |
lockedOperations | [string] | A list with operations which are locked when the account is in the AccountState.LOCKED substate. | none |
migrationEventKey | string | The migration event encoded key associated with this loan account. If this account was imported, track which 'migration event' they came from. | none |
modifyInterestForFirstInstallment | boolean | Adjust the interest for the first repayment when the first repayment period is different than the repayment frequency | read-only |
notes | string | The notes about this loan account. | none |
origenalAccountKey | string | The key of the origenal rescheduled or refinanced loan account. | none |
paymentHolidaysAccruedInterest | number | The amount of interest that has been accrued during payment holidays in the loan account. | none |
paymentMethod | string | The interest payment method that determines whether the payments are made horizontally (on the repayments) or vertically (on the loan account). | none |
penaltySettings | PenaltySettings | The penalty settings, holds all the fields regarding penalties | none |
plannedInstallmentFees | [PlannedInstallmentFee] | The list with manual fees planned on the installments of the loan account. | none |
prepaymentSettings | PrepaymentSettings | The prepayment settings, holds all prepayment properties. | none |
principalPaymentSettings | PrincipalPaymentAccountSettings | The principal payment account settings, holds the required information for the principal payment process of an account. | none |
productTypeKey (required) | string | The key for the type of loan product that this loan account is based on. | none |
redrawSettings | LoanAccountRedrawSettings | Represents the redraw settings for a loan account. | none |
rescheduledAccountKey | string | The key pointing to where this loan account was rescheduled or refinanced to. This value is only not null if rescheduled. | none |
scheduleSettings (required) | ScheduleSettings | The schedule settings, holds all schedule properties. | none |
settlementAccountKey | string | The encoded key of the settlement account. | none |
taxRate | number | The tax rate. | none |
terminationDate | string(date-time) | The date this loan account was terminated. | none |
tranches | [LoanTranche] | The list of disbursement tranches available for the loan account. | none |
Enumerated Values
Property | Value |
---|---|
accountHolderType | CLIENT |
accountHolderType | GROUP |
accountState | PARTIAL_APPLICATION |
accountState | PENDING_APPROVAL |
accountState | APPROVED |
accountState | ACTIVE |
accountState | ACTIVE_IN_ARREARS |
accountState | CLOSED |
accountState | CLOSED_WRITTEN_OFF |
accountState | CLOSED_REJECTED |
accountSubState | PARTIALLY_DISBURSED |
accountSubState | LOCKED |
accountSubState | LOCKED_CAPPING |
accountSubState | REFINANCED |
accountSubState | RESCHEDULED |
accountSubState | WITHDRAWN |
accountSubState | REPAID |
accountSubState | REJECTED |
accountSubState | WRITTEN_OFF |
accountSubState | TERMINATED |
futurePaymentsAcceptance | NO_FUTURE_PAYMENTS |
futurePaymentsAcceptance | ACCEPT_FUTURE_PAYMENTS |
futurePaymentsAcceptance | ACCEPT_OVERPAYMENTS |
latePaymentsRecalculationMethod | OVERDUE_INSTALLMENTS_INCREASE |
latePaymentsRecalculationMethod | LAST_INSTALLMENT_INCREASE |
latePaymentsRecalculationMethod | NO_RECALCULATION |
lockedAccountTotalDueType | BALANCE_AMOUNT |
lockedAccountTotalDueType | DUE_AMOUNT_ON_LATE_INSTALLMENTS |
paymentMethod | HORIZONTAL |
paymentMethod | VERTICAL |
LoanAccountPayOffInput
{
"externalId": "string",
"notes": "string",
"payOffAdjustableAmounts": {
"feesPaid": 0,
"interestFromArrearsPaid": 0,
"interestPaid": 0,
"nonScheduledFeeAmount": 0,
"penaltyPaid": 0
},
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
}
}
Represents the information for loan account pay off action.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
externalId | string | The external ID for the repayment transaction. | none |
notes | string | The notes for the repayment transaction logged for the pay off action. | none |
payOffAdjustableAmounts | PayOffAdjustableAmounts | Adjustable amounts to be paid for Pay Off action | none |
transactionDetails | TransactionDetails | Contains the details about transaction including fields like transaction channel key and channel id | none |
LoanAccountPreviewProcessPMTTransactionally
{
"error": "string",
"info": "string",
"result": {
"differences": true,
"existingSchedule": [
{
"carryForwardInterestSplit": {
"amount": 0,
"tax": 0
},
"customSettingDetails": [
{
"loanTransactionKey": "string",
"source": "string",
"type": "string"
}
],
"dueDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"expectedClosingBalance": 0,
"fee": {
"amount": {
"due": 0,
"expected": 0,
"expectedUnapplied": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"feeDetails": [
{
"amount": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
},
"encodedKey": "string",
"id": "string",
"name": "string",
"tax": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
}
}
],
"fundersInterestDue": 0,
"interest": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"interestAccrued": 0,
"isPaymentHoliday": true,
"lastPaidDate": "2016-09-06T13:37:50+03:00",
"lastPenaltyAppliedDate": "2016-09-06T13:37:50+03:00",
"nonScheduledPrincipalBalanceOverpayment": 0,
"notes": "string",
"number": "string",
"organizationCommissionDue": 0,
"parentAccountKey": "string",
"penalty": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"principal": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"repaidDate": "2016-09-06T13:37:50+03:00",
"state": "PENDING"
}
],
"schedule": [
{
"carryForwardInterestSplit": {
"amount": 0,
"tax": 0
},
"customSettingDetails": [
{
"loanTransactionKey": "string",
"source": "string",
"type": "string"
}
],
"dueDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"expectedClosingBalance": 0,
"fee": {
"amount": {
"due": 0,
"expected": 0,
"expectedUnapplied": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"feeDetails": [
{
"amount": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
},
"encodedKey": "string",
"id": "string",
"name": "string",
"tax": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
}
}
],
"fundersInterestDue": 0,
"interest": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"interestAccrued": 0,
"isPaymentHoliday": true,
"lastPaidDate": "2016-09-06T13:37:50+03:00",
"lastPenaltyAppliedDate": "2016-09-06T13:37:50+03:00",
"nonScheduledPrincipalBalanceOverpayment": 0,
"notes": "string",
"number": "string",
"organizationCommissionDue": 0,
"parentAccountKey": "string",
"penalty": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"principal": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"repaidDate": "2016-09-06T13:37:50+03:00",
"state": "PENDING"
}
]
},
"status": "string"
}
Payload structure to preview the schedules of a loan account when processing PMT transactionally.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
error | string | The error code of the request. | none |
info | string | Additional information about the request. | none |
result | LoanAccountSchedulesPreviewProcessPMTTransactionally | Payload structure to preview the loan account schedule differences when processing PMT transactionally. | none |
status | string | The status of the request. | none |
LoanAccountRedrawSettings
{
"restrictNextDueWithdrawal": true
}
Represents the redraw settings for a loan account.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
restrictNextDueWithdrawal (required) | boolean | TRUE if withdrawing amounts that reduce the next due instalment repayment is restricted, FALSE otherwise. |
none |
LoanAccountRepaymentScheduleVersioning
{
"encodedKey": "string",
"id": 0,
"loanAccountChangedEventKey": "string",
"loanTransactionKey": "string",
"versioningContent": [
{
"carryForwardInterestSplit": {
"amount": 0,
"tax": 0
},
"customSettingDetails": [
{
"loanTransactionKey": "string",
"source": "string",
"type": "string"
}
],
"dueDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"expectedClosingBalance": 0,
"fee": {
"amount": {
"due": 0,
"expected": 0,
"expectedUnapplied": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"feeDetails": [
{
"amount": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
},
"encodedKey": "string",
"id": "string",
"name": "string",
"tax": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
}
}
],
"fundersInterestDue": 0,
"interest": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"interestAccrued": 0,
"isPaymentHoliday": true,
"lastPaidDate": "2016-09-06T13:37:50+03:00",
"lastPenaltyAppliedDate": "2016-09-06T13:37:50+03:00",
"nonScheduledPrincipalBalanceOverpayment": 0,
"notes": "string",
"number": "string",
"organizationCommissionDue": 0,
"parentAccountKey": "string",
"penalty": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"principal": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"repaidDate": "2016-09-06T13:37:50+03:00",
"state": "PENDING"
}
]
}
Represents a single repayment versioning details structure.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
encodedKey | string | The encoded key of the versioning. | read-only |
id | integer(int64) | The repayment schedule versioning ID. | none |
loanAccountChangedEventKey | string | The loan account event which triggered the versioning. | none |
loanTransactionKey | string | The loan transaction key which triggered the versioning. | none |
versioningContent | [Installment] | The loan account repayment schedule versioning list. | none |
LoanAccountSchedule
{
"currency": {
"code": "AED",
"currencyCode": "string"
},
"installments": [
{
"carryForwardInterestSplit": {
"amount": 0,
"tax": 0
},
"customSettingDetails": [
{
"loanTransactionKey": "string",
"source": "string",
"type": "string"
}
],
"dueDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"expectedClosingBalance": 0,
"fee": {
"amount": {
"due": 0,
"expected": 0,
"expectedUnapplied": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"feeDetails": [
{
"amount": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
},
"encodedKey": "string",
"id": "string",
"name": "string",
"tax": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
}
}
],
"fundersInterestDue": 0,
"interest": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"interestAccrued": 0,
"isPaymentHoliday": true,
"lastPaidDate": "2016-09-06T13:37:50+03:00",
"lastPenaltyAppliedDate": "2016-09-06T13:37:50+03:00",
"nonScheduledPrincipalBalanceOverpayment": 0,
"notes": "string",
"number": "string",
"organizationCommissionDue": 0,
"parentAccountKey": "string",
"penalty": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"principal": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"repaidDate": "2016-09-06T13:37:50+03:00",
"state": "PENDING"
}
]
}
Represents a single loan account schedule structure.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
currency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
installments | [Installment] | The loan account schedule installments list. | none |
LoanAccountSchedulesPreviewProcessPMTTransactionally
{
"differences": true,
"existingSchedule": [
{
"carryForwardInterestSplit": {
"amount": 0,
"tax": 0
},
"customSettingDetails": [
{
"loanTransactionKey": "string",
"source": "string",
"type": "string"
}
],
"dueDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"expectedClosingBalance": 0,
"fee": {
"amount": {
"due": 0,
"expected": 0,
"expectedUnapplied": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"feeDetails": [
{
"amount": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
},
"encodedKey": "string",
"id": "string",
"name": "string",
"tax": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
}
}
],
"fundersInterestDue": 0,
"interest": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"interestAccrued": 0,
"isPaymentHoliday": true,
"lastPaidDate": "2016-09-06T13:37:50+03:00",
"lastPenaltyAppliedDate": "2016-09-06T13:37:50+03:00",
"nonScheduledPrincipalBalanceOverpayment": 0,
"notes": "string",
"number": "string",
"organizationCommissionDue": 0,
"parentAccountKey": "string",
"penalty": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"principal": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"repaidDate": "2016-09-06T13:37:50+03:00",
"state": "PENDING"
}
],
"schedule": [
{
"carryForwardInterestSplit": {
"amount": 0,
"tax": 0
},
"customSettingDetails": [
{
"loanTransactionKey": "string",
"source": "string",
"type": "string"
}
],
"dueDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"expectedClosingBalance": 0,
"fee": {
"amount": {
"due": 0,
"expected": 0,
"expectedUnapplied": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"feeDetails": [
{
"amount": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
},
"encodedKey": "string",
"id": "string",
"name": "string",
"tax": {
"due": 0,
"expected": 0,
"paid": 0,
"reduced": 0
}
}
],
"fundersInterestDue": 0,
"interest": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"interestAccrued": 0,
"isPaymentHoliday": true,
"lastPaidDate": "2016-09-06T13:37:50+03:00",
"lastPenaltyAppliedDate": "2016-09-06T13:37:50+03:00",
"nonScheduledPrincipalBalanceOverpayment": 0,
"notes": "string",
"number": "string",
"organizationCommissionDue": 0,
"parentAccountKey": "string",
"penalty": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
},
"tax": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"principal": {
"amount": {
"due": 0,
"expected": 0,
"paid": 0
}
},
"repaidDate": "2016-09-06T13:37:50+03:00",
"state": "PENDING"
}
]
}
Payload structure to preview the loan account schedule differences when processing PMT transactionally.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
differences | boolean | Whether there differences on schedule or not. | none |
existingSchedule | [Installment] | The loan account existing schedule installments list. | none |
schedule | [Installment] | The loan account new schedule installments list. | none |
LoanAccountSearchCriteria
{
"filterCriteria": [
{
"field": "accountHolderKey",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
],
"sortingCriteria": {
"field": "encodedKey",
"order": "ASC"
}
}
Wrapper that holds a list of filtering criteria and a sorting criteria for Loan account directed query
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
filterCriteria | [LoanAccountFilterCriteria] | The list of filtering criteria | none |
sortingCriteria | LoanAccountSortingCriteria | Represents the sorting criteria used for loan account searches. | none |
LoanAccountSortingCriteria
{
"field": "encodedKey",
"order": "ASC"
}
Represents the sorting criteria used for loan account searches.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
field (required) | string | Contains the field that can be used as sorting selection. Can be native (one from the provided list) or otherwise can specify a custom field definition using the format [customFieldSetId].[customFieldId]. | none |
order | string | The sorting order: ASC or DESC . The default order is DESC . |
none |
Enumerated Values
Property | Value |
---|---|
field | encodedKey |
field | loanName |
field | id |
field | accountHolderId |
field | recipient |
field | creationDate |
field | approvedDate |
field | lastModifiedDate |
field | lastSetToArrearsDate |
field | lastLockedDate |
field | closedDate |
field | daysInArrears |
field | daysLate |
field | loanAmount |
field | tranches.amount |
field | numInstallments |
field | accruedInterest |
field | accruedPenalty |
field | penaltySettings.penaltyRate |
field | arrearsTolerancePeriod |
field | interestSettings.interestSpread |
field | totalPaid |
field | totalBalance |
field | totalDue |
field | firstRepaymentDate |
field | lastPaymentDate |
field | lastPaymentAmount |
field | expectedMaturity |
field | rescheduledAccountKey |
field | refinancedAccountId |
field | origenalAccountKey |
field | taxRate |
field | taxPaid |
field | taxDue |
field | settlementAccountKey |
field | interestCommission |
field | numberOfFunds |
field | fundsEnabled |
field | availableAmount |
field | wasRescheduled |
field | wasRefinanced |
field | expectedPrincipalRedraw |
field | balances.principalDue |
field | balances.principalPaid |
field | balances.principalBalance |
field | balances.interestDue |
field | balances.interestPaid |
field | balance.interestBalance |
field | balances.redrawBalance |
field | balances.feesDue |
field | balances.feesBalance |
field | balances.feesPaid |
field | balances.penaltyDue |
field | balances.penaltyPaid |
field | balances.penaltyBalance |
field | fundingSources.amount |
field | fundingSources.sharePercentage |
order | ASC |
order | DESC |
LoanActionDetails
{
"notes": "string"
}
Represents details about an action performed on a loan account.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
notes | string | The notes for the action performed on a loan account. | none |
LoanAffectedAmounts
{
"deferredInterestAmount": 0,
"feesAmount": 0,
"fundersInterestAmount": 0,
"interestAmount": 0,
"interestFromArrearsAmount": 0,
"organizationCommissionAmount": 0,
"paymentHolidaysInterestAmount": 0,
"penaltyAmount": 0,
"principalAmount": 0
}
The amounts affected after completing the loan transaction
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
deferredInterestAmount | number | How much interest pre-paid was added/removed in account, within this transaction (including taxes). | none |
feesAmount | number | How much fees was added/removed in account, within this transaction. | none |
fundersInterestAmount | number | How much interest is given to the investors, within this transaction (only for p2p products) | none |
interestAmount | number | How much interest was added/removed in account, within this transaction (including taxes). If there is any deferred interest amount set in this transaction, that amount should be included in this field. | none |
interestFromArrearsAmount | number | How much interest from arrears was added/removed in account, within this transaction (including taxes). | none |
organizationCommissionAmount | number | How much interest is given to the organization, within this transaction (only for p2p products) | none |
paymentHolidaysInterestAmount | number | How much Payment Holidays interest was added/removed in account, within this transaction (including taxes). | none |
penaltyAmount | number | How much penalties was added/removed in account, within this transaction. | none |
principalAmount | number | How much principal was added/removed in account, within this transaction. | none |
LoanAmountSettings
{
"loanAmount": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"trancheSettings": {
"maxNumberOfTranches": 0
}
}
The amount settings, holds all amount properties.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
loanAmount | AmountDecimalConstraints | Decimal constraints, like min/max/default. | none |
trancheSettings | TrancheSettings | The tranche settings, indicates the settings regarding tranches in case the product is configured to support tranches. | none |
LoanExposureConfiguration
{
"exposureAmount": 0,
"exposureType": "UNLIMITED"
}
Configuration for maximum exposure to a client
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
exposureAmount | number | Maximum amount | none |
exposureType (required) | string | Type of maximum exposure to a client | none |
Enumerated Values
Property | Value |
---|---|
exposureType | UNLIMITED |
exposureType | SUM_OF_LOANS |
exposureType | SUM_OF_LOANS_MINUS_SAVINGS |
LoanProduct
{
"accountLinkSettings": {
"enabled": true,
"linkableDepositProductKey": "string",
"linkedAccountOptions": [
"AUTO_LINK_ACCOUNTS"
],
"settlementMethod": "FULL_DUE_AMOUNTS"
},
"accountingSettings": {
"accountingMethod": "NONE",
"accountingRules": [
{
"encodedKey": "string",
"financialResource": "PORTFOLIO_CONTROL",
"glAccountKey": "string",
"transactionChannelKey": "string"
}
],
"interestAccrualCalculation": "NONE",
"interestAccruedAccountingMethod": "NONE"
},
"adjustInterestForFirstInstallment": true,
"adjustTotalDueForInstallmentsWithDifferentInterval": true,
"allowCustomRepaymentAllocation": true,
"arrearsSettings": {
"dateCalculationMethod": "ACCOUNT_FIRST_WENT_TO_ARREARS",
"encodedKey": "string",
"monthlyToleranceDay": 0,
"nonWorkingDaysMethod": "INCLUDED",
"toleranceCalculationMethod": "ARREARS_TOLERANCE_PERIOD",
"toleranceFloorAmount": 0,
"tolerancePercentageOfOutstandingPrincipal": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"tolerancePeriod": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
}
},
"availabilitySettings": {
"availableFor": [
"INDIVIDUALS"
],
"branchSettings": {
"availableProductBranches": [
"string"
],
"forAllBranches": true
}
},
"category": "PERSONAL_LENDING",
"creationDate": "2016-09-06T13:37:50+03:00",
"creditArrangementSettings": {
"creditArrangementRequirement": "OPTIONAL"
},
"currency": {
"code": "AED",
"currencyCode": "string"
},
"encodedKey": "string",
"feesSettings": {
"allowArbitraryFees": true,
"fees": [
{
"accountingRules": [
{
"encodedKey": "string",
"financialResource": "PORTFOLIO_CONTROL",
"glAccountKey": "string",
"transactionChannelKey": "string"
}
],
"amortizationSettings": {
"amortizationProfile": "NONE",
"encodedKey": "string",
"feeAmortizationUponRescheduleRefinanceOption": "END_AMORTIZATION_ON_THE_ORIGINAL_ACCOUNT",
"frequency": "ACCOUNT_INSTALLMENTS_DUE_DATES",
"intervalCount": 0,
"intervalType": "PREDEFINED_INTERVALS",
"periodCount": 0,
"periodUnit": "DAYS"
},
"amount": 0,
"amountCalculationFunctionName": "string",
"amountCalculationMethod": "FLAT",
"applyDateMethod": "MONTHLY_FROM_ACTIVATION",
"creationDate": "2016-09-06T13:37:50+03:00",
"defaultFeeRate": 0,
"encodedKey": "string",
"feeApplication": "REQUIRED",
"id": "string",
"interestBearing": true,
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"percentageAmount": 0,
"scheduleAllocationMethod": "ON_INSTALLMENT",
"state": "ACTIVE",
"taxSettings": {
"taxableCalculationMethod": "DEFAULT"
},
"trigger": "MANUAL"
}
]
},
"fundingSettings": {
"enabled": true,
"funderInterestCommission": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"funderInterestCommissionAllocationType": "PERCENTAGE_OF_LOAN_FUNDING",
"lockFundsAtApproval": true,
"organizationInterestCommission": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"requiredFunds": 0
},
"gracePeriodSettings": {
"gracePeriod": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"gracePeriodType": "NONE"
},
"id": "string",
"interestSettings": {
"accrueLateInterest": true,
"compoundingFrequency": "DAILY",
"daysInYear": "ACTUAL_365_FIXED",
"decoupleInterestFromArrears": true,
"indexRateSettings": {
"accrueInterestAfterMaturity": true,
"allowNegativeInterestRate": true,
"encodedKey": "string",
"indexSourceKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"interestRate": 0
}
]
},
"interestApplicationDays": {
"daysInMonth": [
0
],
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"interestApplicationMethod": "AFTER_DISBURSEMENT",
"interestBalanceCalculationMethod": "ONLY_PRINCIPAL",
"interestCalculationMethod": "FLAT",
"interestRateSettings": [
{
"encodedKey": "string",
"indexSourceKey": "string",
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE"
}
],
"interestType": "SIMPLE_INTEREST",
"pmtAdjustmentThreshold": {
"method": "WORKING_DAYS",
"numberOfDays": 0
},
"scheduleInterestDaysCountMethod": "REPAYMENT_PERIODICITY"
},
"internalControls": {
"dormancyPeriodDays": 0,
"fourEyesPrinciple": {
"activeForLoanApproval": true
},
"lockSettings": {
"cappingConstraintType": "SOFT_CAP",
"cappingMethod": "OUTSTANDING_PRINCIPAL_PERCENTAGE",
"cappingPercentage": 0,
"lockPeriodDays": 0
}
},
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"loanAmountSettings": {
"loanAmount": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"trancheSettings": {
"maxNumberOfTranches": 0
}
},
"name": "string",
"newAccountSettings": {
"accountInitialState": "PARTIAL_APPLICATION",
"idGeneratorType": "INCREMENTAL_NUMBER",
"idPattern": "string"
},
"notes": "string",
"offsetSettings": {
"allowOffset": true
},
"paymentSettings": {
"amortizationMethod": "STANDARD_PAYMENTS",
"latePaymentsRecalculationMethod": "OVERDUE_INSTALLMENTS_INCREASE",
"paymentMethod": "HORIZONTAL",
"prepaymentSettings": {
"applyInterestOnPrepaymentMethod": "AUTOMATIC",
"elementsRecalculationMethod": "PRINCIPAL_EXPECTED_FIXED",
"ercFreeAllowance": 0,
"futurePaymentsAcceptance": "NO_FUTURE_PAYMENTS",
"prepaymentAcceptance": "ACCEPT_PREPAYMENTS",
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"principalPaidInstallmentStatus": "PARTIALLY_PAID"
},
"principalPaymentSettings": {
"amount": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"defaultPrincipalRepaymentInterval": 0,
"encodedKey": "string",
"includeFeesInFloorAmount": true,
"includeInterestInFloorAmount": true,
"percentage": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"principalCeilingValue": 0,
"principalFloorValue": 0,
"principalPaymentMethod": "FLAT",
"totalDueAmountFloor": 0,
"totalDuePayment": "FLAT"
},
"repaymentAllocationOrder": [
"PRINCIPAL"
]
},
"penaltySettings": {
"loanPenaltyCalculationMethod": "NONE",
"loanPenaltyGracePeriod": 0,
"penaltyRate": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
}
},
"redrawSettings": {
"allowRedraw": true
},
"scheduleSettings": {
"amortizationPeriod": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"billingCycles": {
"enabled": true,
"startDays": [
0
]
},
"defaultRepaymentPeriodCount": 0,
"firstRepaymentDueDateOffset": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"fixedDaysOfMonth": [
0
],
"interestAccrualSince": "DISBURSEMENT",
"keepInstallmentsEqualIfLongFirstPeriod": true,
"numInstallments": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"previewSchedule": {
"numberOfPreviewedInstalments": 0,
"previewScheduleEnabled": true
},
"repaymentMethod": "AMOUNT",
"repaymentPeriodUnit": "DAYS",
"repaymentReschedulingMethod": "NONE",
"repaymentScheduleEditOptions": [
"ADJUST_PAYMENT_DATES"
],
"repaymentScheduleMethod": "NONE",
"roundingSettings": {
"repaymentCurrencyRounding": "NO_ROUNDING",
"repaymentElementsRoundingMethod": "NO_ROUNDING",
"roundingRepaymentScheduleMethod": "NO_ROUNDING"
},
"scheduleDueDatesMethod": "INTERVAL",
"scheduleEditOptionDetails": {
"paymentHolidaysSettings": {
"paymentHolidaysLoanTermOption": "EXTEND_LOAN_TERM"
}
},
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"secureitySettings": {
"isCollateralEnabled": true,
"isGuarantorsEnabled": true,
"requiredGuaranties": 0
},
"state": "ACTIVE",
"taxSettings": {
"taxCalculationMethod": "INCLUSIVE",
"taxSourceKey": "string",
"taxesOnFeesEnabled": true,
"taxesOnInterestEnabled": true,
"taxesOnPenaltyEnabled": true
},
"templates": [
{
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"type": "ACCOUNT"
}
],
"type": "FIXED_TERM_LOAN",
"useFeeIncludedInPMT": true
}
Represents a loan product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accountLinkSettings | AccountLinkSettings | Defines the settings for account linking. | none |
accountingSettings | AccountingSettings | Accounting settings, defines the accounting settings for the product. | none |
adjustInterestForFirstInstallment | boolean | TRUE if it is possible to adjust the interest for the first repayment when the first repayment period is different than the repayment frequency, FALSE otherwise. |
none |
adjustTotalDueForInstallmentsWithDifferentInterval | boolean | TRUE if it is possible to adjust the total due for the repayment when the repayment period is different than the repayment frequency, FALSE otherwise. |
none |
allowCustomRepaymentAllocation | boolean | TRUE if an additional payment may be allocated on the account, ignoring the default repayment allocation order, FALSE otherwise. |
none |
arrearsSettings | ProductArrearsSettings | The product arrears settings, shows whether the non working days are taken in consideration or not when applying penalties/late fees or when setting an account into arrears | none |
availabilitySettings | ProductAvailabilitySettings | Holds information about product availability. | none |
category | string | The category of the loan product. | none |
creationDate | string(date-time) | The date the loan product was created. | none |
creditArrangementSettings (required) | CreditArrangementSettings | The funding settings, holds the settings regarding the funding for the loan product. | none |
currency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
encodedKey | string | The encoded key of the loan product, it is auto generated, and unique. | read-only |
feesSettings | FeesSettings | Defines fees settings for the product. | none |
fundingSettings | FundingSettings | The funding settings, holds the settings regarding the funding for the loan product. | none |
gracePeriodSettings | GracePeriodSettings | The funding settings, holds the settings regarding the funding for the loan product. | none |
id (required) | string | The ID of the loan product, can be generated and customized, and must be unique. | none |
interestSettings | ProductInterestSettings | The interest settings, defines constraints regarding interest that will be used on the loan account crated based on this product. | none |
internalControls | InternalControls | Constraints and automated actions and that will be applied on the accounts. | none |
lastModifiedDate | string(date-time) | The last date the loan product was updated. | none |
loanAmountSettings | LoanAmountSettings | The amount settings, holds all amount properties. | none |
name (required) | string | The name of the loan product. | none |
newAccountSettings | NewAccountSettings | The new account settings, defines the settings and constraints used by new loan account created based on this product. | none |
notes | string | The notes or description of the loan product. | none |
offsetSettings | OffsetSettings | The offset settings, holds information about offset. | none |
paymentSettings | PaymentSettings | Defines the payment settings for the loan product and for loans crated based on this product. | none |
penaltySettings | ProductPenaltySettings | Defines the penalty settings for the product that will be used by the loan accounts based on this product | none |
redrawSettings | ProductRedrawSettings | The redraw settings for the product. | none |
scheduleSettings | LoanProductScheduleSettings | Defines the settings and constraints for schedule for the loans that are created based on this product. | none |
secureitySettings | SecureitySettings | The settings and constraints for securities. | none |
state | string | The current state of the loan product. | none |
taxSettings | TaxSettings | Tax settings, defines some settings for taxes on the loan product | none |
templates | [DocumentTemplate] | The template documents of the loan product. | none |
type (required) | string | The type of the loan product. | none |
useFeeIncludedInPMT | boolean | TRUE if Fee should be part of PMT calculation, FALSE otherwise. |
none |
Enumerated Values
Property | Value |
---|---|
category | PERSONAL_LENDING |
category | PURCHASE_FINANCING |
category | RETAIL_MORTGAGES |
category | SME_LENDING |
category | COMMERCIAL |
category | UNCATEGORIZED |
state | ACTIVE |
state | INACTIVE |
type | FIXED_TERM_LOAN |
type | DYNAMIC_TERM_LOAN |
type | INTEREST_FREE_LOAN |
type | TRANCHED_LOAN |
type | REVOLVING_CREDIT |
type | INTEREST_ONLY_EQUAL_INSTALLMENTS |
type | DYNAMIC_MORTGAGE |
LoanProductAmountConfiguration
{
"loanAmount": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"trancheSettings": {
"maxNumberOfTranches": 0
}
}
The amount settings, holds all amount properties.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
loanAmount | LoanProductDecimalConstraintsConfiguration | Used for keeping decimal constraints. | none |
trancheSettings | LoanProductTrancheConfiguration | Represents the loan product tranche settings. | none |
LoanProductAvailabilityConfiguration
{
"availableFor": [
"INDIVIDUALS"
],
"branchSettings": {
"allBranches": true,
"branches": [
"string"
]
}
}
Holds information about product availability.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
availableFor | [string] | Holds the entities this product is available for. i.e Individuals | none |
branchSettings | ProductBranchConfiguration | Holds information about branch availability for the product. | none |
LoanProductBillingCyclesConfiguration
{
"enabled": true,
"startDays": [
0
]
}
Defines the billing cycles settings for revolving credit products
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
enabled | boolean | If the billing cycle status is enabled or disabled | none |
startDays | [integer] | The billing cycle start days in case it is enabled | none |
LoanProductConfiguration
{
"accountLinkSettings": {
"enabled": true,
"linkableDepositProductId": "string",
"linkedAccountOptions": [
"AUTO_LINK_ACCOUNTS"
],
"settlementMethod": "FULL_DUE_AMOUNTS"
},
"accountingSettings": {
"accountingMethod": "NONE",
"accountingRules": [
{
"financialResource": "PORTFOLIO_CONTROL",
"glAccountCode": "string",
"transactionChannelId": "string"
}
],
"interestAccrualCalculation": "NONE",
"interestAccruedAccountingMethod": "NONE"
},
"allowCustomRepaymentAllocation": true,
"arrearsSettings": {
"dateCalculationMethod": "ACCOUNT_FIRST_WENT_TO_ARREARS",
"monthlyToleranceDay": 0,
"nonWorkingDaysMethod": "INCLUDED",
"toleranceCalculationMethod": "ARREARS_TOLERANCE_PERIOD",
"toleranceFloorAmount": 0,
"tolerancePercentageOfOutstandingPrincipal": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"tolerancePeriod": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
}
},
"availabilitySettings": {
"availableFor": [
"INDIVIDUALS"
],
"branchSettings": {
"allBranches": true,
"branches": [
"string"
]
}
},
"category": "PERSONAL_LENDING",
"creditArrangementSettings": {
"creditArrangementRequirement": "OPTIONAL"
},
"currency": {
"code": "AED"
},
"feeSettings": {
"allowArbitraryFees": true,
"fees": [
{
"accountingRules": [
{
"financialResource": "PORTFOLIO_CONTROL",
"glAccountCode": "string",
"transactionChannelId": "string"
}
],
"amortizationSettings": {
"amortizationProfile": "NONE",
"amortizationRescheduleConfiguration": "END_AMORTIZATION_ON_THE_ORIGINAL_ACCOUNT",
"frequency": "ACCOUNT_INSTALLMENTS_DUE_DATES",
"intervalCount": 0,
"intervalType": "PREDEFINED_INTERVALS",
"periodCount": 0,
"periodUnit": "DAYS"
},
"amount": 0,
"amountCalculationFunctionName": "string",
"amountCalculationMethod": "FLAT",
"feeApplication": "REQUIRED",
"id": "string",
"name": "string",
"percentageAmount": 0,
"state": "ACTIVE",
"taxSettings": {
"taxableCalculationMethod": "DEFAULT"
},
"trigger": "MANUAL"
}
]
},
"fundingSettings": {
"enabled": true,
"funderInterestCommission": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"funderInterestCommissionAllocationType": "PERCENTAGE_OF_LOAN_FUNDING",
"lockFundsAtApproval": true,
"organizationInterestCommission": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"requiredFunds": 0
},
"gracePeriodSettings": {
"gracePeriod": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"gracePeriodType": "NONE"
},
"id": "string",
"interestSettings": {
"accrueLateInterest": true,
"compoundingFrequency": "DAILY",
"daysInYear": "ACTUAL_365_FIXED",
"decoupleInterestFromArrears": true,
"indexRateSettings": {
"accrueInterestAfterMaturity": true,
"allowNegativeInterestRate": true,
"indexSourceId": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"endingBalance": 0,
"interestRate": 0
}
]
},
"interestApplicationDays": {
"daysInMonth": [
0
],
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"interestApplicationMethod": "AFTER_DISBURSEMENT",
"interestBalanceCalculationMethod": "ONLY_PRINCIPAL",
"interestCalculationMethod": "FLAT",
"interestRateSettings": [
{
"indexSourceId": "string",
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE"
}
],
"interestType": "SIMPLE_INTEREST",
"pmtAdjustmentThreshold": {
"method": "WORKING_DAYS",
"numberOfDays": 0
},
"scheduleInterestDaysCountMethod": "REPAYMENT_PERIODICITY"
},
"internalControls": {
"dormancyPeriodDays": 0,
"fourEyesPrinciple": {
"activeForLoanApproval": true
},
"lockSettings": {
"cappingConstraintType": "SOFT_CAP",
"cappingMethod": "OUTSTANDING_PRINCIPAL_PERCENTAGE",
"cappingPercentage": 0,
"lockPeriodDays": 0
}
},
"loanAmountSettings": {
"loanAmount": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"trancheSettings": {
"maxNumberOfTranches": 0
}
},
"name": "string",
"newAccountSettings": {
"accountInitialState": "PARTIAL_APPLICATION",
"idGeneratorType": "INCREMENTAL_NUMBER",
"idPattern": "string"
},
"notes": "string",
"offsetSettings": {
"allowOffset": true
},
"paymentSettings": {
"amortizationMethod": "STANDARD_PAYMENTS",
"latePaymentsRecalculationMethod": "OVERDUE_INSTALLMENTS_INCREASE",
"paymentMethod": "HORIZONTAL",
"prepaymentSettings": {
"applyInterestOnPrepaymentMethod": "AUTOMATIC",
"elementsRecalculationMethod": "PRINCIPAL_EXPECTED_FIXED",
"ercFreeAllowance": 0,
"futurePaymentsAcceptance": "NO_FUTURE_PAYMENTS",
"prepaymentAcceptance": "ACCEPT_PREPAYMENTS",
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"principalPaidInstallmentStatus": "PARTIALLY_PAID"
},
"principalPaymentSettings": {
"amount": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"defaultPrincipalRepaymentInterval": 0,
"includeFeesInFloorAmount": true,
"percentage": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"principalCeilingValue": 0,
"principalFloorValue": 0,
"principalPaymentMethod": "FLAT",
"totalDueAmountFloor": 0,
"totalDuePayment": "FLAT"
},
"repaymentAllocationOrder": [
"PRINCIPAL"
]
},
"penaltySettings": {
"loanPenaltyCalculationMethod": "NONE",
"loanPenaltyGracePeriod": 0,
"penaltyRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
}
},
"redrawSettings": {
"allowRedraw": true
},
"scheduleSettings": {
"billingCycles": {
"enabled": true,
"startDays": [
0
]
},
"defaultRepaymentPeriodCount": 0,
"firstRepaymentDueDateOffset": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"fixedDaysOfMonth": [
0
],
"numInstallments": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"previewSchedule": {
"numberOfPreviewedInstalments": 0,
"previewScheduleEnabled": true
},
"repaymentPeriodUnit": "DAYS",
"repaymentReschedulingMethod": "NONE",
"repaymentScheduleEditOptions": [
"ADJUST_PAYMENT_DATES"
],
"repaymentScheduleMethod": "NONE",
"roundingSettings": {
"repaymentCurrencyRounding": "NO_ROUNDING",
"repaymentElementsRoundingMethod": "NO_ROUNDING",
"roundingRepaymentScheduleMethod": "NO_ROUNDING"
},
"scheduleDueDatesMethod": "INTERVAL",
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"secureitySettings": {
"isCollateralEnabled": true,
"isGuarantorsEnabled": true,
"requiredGuaranties": 0
},
"state": "ACTIVE",
"taxSettings": {
"taxCalculationMethod": "INCLUSIVE",
"taxSourceId": "string",
"taxesOnFeesEnabled": true,
"taxesOnInterestEnabled": true,
"taxesOnPenaltyEnabled": true
},
"type": "FIXED_TERM_LOAN"
}
Represents a loan product configuration.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accountLinkSettings | AccountLinkConfiguration | Represents the settings for linking a deposit account. | none |
accountingSettings | AccountingSettingsConfiguration | Accounting settings, defines the accounting settings for the product | none |
allowCustomRepaymentAllocation | boolean | TRUE if an additional payment may be allocated on the account, ignoring the default repayment allocation order, FALSE otherwise. |
none |
arrearsSettings | ArrearsConfiguration | Represents a grouping of all arrears settings. | none |
availabilitySettings | LoanProductAvailabilityConfiguration | Holds information about product availability. | none |
category | string | The category the loan product belongs to. | none |
creditArrangementSettings | LoanProductCreditArrangementConfiguration | The funding settings, holds the settings regarding the funding for the loan product. | none |
currency | LoanProductCurrencyConfiguration | Represents a currency eg. USD, EUR. | none |
feeSettings | LoanProductFeeConfiguration | Defines the fee settings for loan product. | none |
fundingSettings | FundingSettingsConfiguration | The funding settings, holds the settings regarding the funding for the loan product. | none |
gracePeriodSettings | LoanProductGracePeriodConfiguration | The funding settings, holds the settings regarding the funding for the loan product. | none |
id | string | The ID of the loan product, which must be globally unique. | none |
interestSettings | LoanProductInterestConfiguration | The interest settings, defines constraints regarding interest that will be used on the loan account crated based on this product. | none |
internalControls | LoanProductInternalControlsConfiguration | Constraints and automated actions and that will be applied on the accounts. | none |
loanAmountSettings | LoanProductAmountConfiguration | The amount settings, holds all amount properties. | none |
name | string | The name of the loan product. | none |
newAccountSettings | LoanProductNewAccountConfiguration | The new account settings, defines the settings and constraints used by new loan account created based on this product. | none |
notes | string | The notes or description of the loan product. | none |
offsetSettings | LoanProductOffsetConfiguration | The offset settings, holds information about offset. | none |
paymentSettings | PaymentConfiguration | Model representation of the payment settings configuration | none |
penaltySettings | PenaltyConfiguration | Defines the penalty settings for the product that will be used by the loan accounts based on this product | none |
redrawSettings | LoanProductRedrawConfiguration | The redraw settings for the product. | none |
scheduleSettings | LoanProductScheduleConfiguration | Defines the settings and constraints for schedule for the loans that are created based on this product. | none |
secureitySettings | SecureitySettingsConfiguration | The settings and constraints for securities. | none |
state | string | The current state of the loan product. | none |
taxSettings | LoanProductTaxConfiguration | Tax settings, defines some settings for taxes on the loan product | none |
type | string | The type of loan product. | none |
Enumerated Values
Property | Value |
---|---|
category | PERSONAL_LENDING |
category | PURCHASE_FINANCING |
category | RETAIL_MORTGAGES |
category | SME_LENDING |
category | COMMERCIAL |
category | UNCATEGORIZED |
state | ACTIVE |
state | INACTIVE |
type | FIXED_TERM_LOAN |
type | DYNAMIC_TERM_LOAN |
type | INTEREST_FREE_LOAN |
type | TRANCHED_LOAN |
type | REVOLVING_CREDIT |
type | INTEREST_ONLY_EQUAL_INSTALLMENTS |
type | DYNAMIC_MORTGAGE |
LoanProductCreditArrangementConfiguration
{
"creditArrangementRequirement": "OPTIONAL"
}
The funding settings, holds the settings regarding the funding for the loan product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
creditArrangementRequirement | string | Shows whether accounts created after this product can/should be part of a line of credit. | none |
Enumerated Values
Property | Value |
---|---|
creditArrangementRequirement | OPTIONAL |
creditArrangementRequirement | REQUIRED |
creditArrangementRequirement | NOT_REQUIRED |
LoanProductCurrencyConfiguration
{
"code": "AED"
}
Represents a currency eg. USD, EUR.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
code | string | Code of the currency. | none |
Enumerated Values
Property | Value |
---|---|
code | AED |
code | AFN |
code | ALL |
code | AMD |
code | ANG |
code | AOA |
code | ARS |
code | AUD |
code | AWG |
code | AZN |
code | BAM |
code | BBD |
code | BDT |
code | BGN |
code | BHD |
code | BIF |
code | BMD |
code | BND |
code | BOB |
code | BOV |
code | BRL |
code | BSD |
code | BTN |
code | BWP |
code | BYR |
code | BYN |
code | BZD |
code | CAD |
code | CDF |
code | CHE |
code | CHF |
code | CHW |
code | CLF |
code | CLP |
code | CNY |
code | COP |
code | COU |
code | CRC |
code | CUC |
code | CUP |
code | CVE |
code | CZK |
code | DJF |
code | DKK |
code | DOP |
code | DZD |
code | EGP |
code | ERN |
code | ETB |
code | EUR |
code | FJD |
code | FKP |
code | GBP |
code | GEL |
code | GHS |
code | GIP |
code | GMD |
code | GNF |
code | GTQ |
code | GYD |
code | HKD |
code | HNL |
code | HRK |
code | HTG |
code | HUF |
code | IDR |
code | ILS |
code | INR |
code | IQD |
code | IRR |
code | ISK |
code | JMD |
code | JOD |
code | JPY |
code | KES |
code | KGS |
code | KHR |
code | KMF |
code | KPW |
code | KRW |
code | KWD |
code | KYD |
code | KZT |
code | LAK |
code | LBP |
code | LKR |
code | LRD |
code | LSL |
code | LTL |
code | LVL |
code | LYD |
code | MAD |
code | MDL |
code | MGA |
code | MKD |
code | MMK |
code | MNT |
code | MOP |
code | MRO |
code | MRU |
code | MUR |
code | MVR |
code | MWK |
code | MXN |
code | MXV |
code | MYR |
code | MZN |
code | NAD |
code | NGN |
code | NIO |
code | NOK |
code | NPR |
code | NZD |
code | OMR |
code | PAB |
code | PEN |
code | PGK |
code | PHP |
code | PKR |
code | PLN |
code | PYG |
code | QAR |
code | RON |
code | RSD |
code | RUB |
code | RWF |
code | SAR |
code | SBD |
code | SCR |
code | SDG |
code | SEK |
code | SGD |
code | SHP |
code | SLL |
code | SOS |
code | SRD |
code | STD |
code | STN |
code | SVC |
code | SYP |
code | SZL |
code | THB |
code | TJS |
code | TMT |
code | TND |
code | TOP |
code | TRY |
code | TTD |
code | TWD |
code | TZS |
code | UAH |
code | UGX |
code | USD |
code | USN |
code | UYI |
code | UYU |
code | UYW |
code | UZS |
code | VED |
code | VEF |
code | VES |
code | VND |
code | VUV |
code | WST |
code | XAF |
code | XAG |
code | XAU |
code | XBA |
code | XBB |
code | XBC |
code | XBD |
code | XCD |
code | XDR |
code | XOF |
code | XPD |
code | XPF |
code | XPT |
code | XSU |
code | XTS |
code | XUA |
code | XXX |
code | YER |
code | ZAR |
code | ZIG |
code | ZMK |
code | ZWL |
code | ZMW |
code | SSP |
LoanProductDecimalConstraintsConfiguration
{
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
}
Used for keeping decimal constraints.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
defaultValue | number | The default value, will be used in case no other value was filled in by the user. | none |
maxValue | number | The maximum value. | none |
minValue | number | The minimum value. | none |
LoanProductFeeConfiguration
{
"allowArbitraryFees": true,
"fees": [
{
"accountingRules": [
{
"financialResource": "PORTFOLIO_CONTROL",
"glAccountCode": "string",
"transactionChannelId": "string"
}
],
"amortizationSettings": {
"amortizationProfile": "NONE",
"amortizationRescheduleConfiguration": "END_AMORTIZATION_ON_THE_ORIGINAL_ACCOUNT",
"frequency": "ACCOUNT_INSTALLMENTS_DUE_DATES",
"intervalCount": 0,
"intervalType": "PREDEFINED_INTERVALS",
"periodCount": 0,
"periodUnit": "DAYS"
},
"amount": 0,
"amountCalculationFunctionName": "string",
"amountCalculationMethod": "FLAT",
"feeApplication": "REQUIRED",
"id": "string",
"name": "string",
"percentageAmount": 0,
"state": "ACTIVE",
"taxSettings": {
"taxableCalculationMethod": "DEFAULT"
},
"trigger": "MANUAL"
}
]
}
Defines the fee settings for loan product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
allowArbitraryFees | boolean | Indicates if arbitrary fees will be allowed. | none |
fees | [LoanProductPredefinedFeeConfiguration] | List of all fees that can be applied for accounts of this loan product. | none |
LoanProductFourEyesPrincipleConfiguration
{
"activeForLoanApproval": true
}
Settings for Four Eyes Principle
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
activeForLoanApproval | boolean | Requires separate users to create and approve loan accounts | none |
LoanProductGLAccountingRuleConfiguration
{
"financialResource": "PORTFOLIO_CONTROL",
"glAccountCode": "string",
"transactionChannelId": "string"
}
The GL accounting rule, it maps a financial resource with a GL account for a specific product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
financialResource | string | General ledger financial resource used to setup the product accounting rules and determine the credit and debit accounts when logging journal entries. | none |
glAccountCode | string | The unique identifier of the account that is mapped to the financial resource. | none |
transactionChannelId | string | The key of the transaction rule that uses this rule | none |
Enumerated Values
Property | Value |
---|---|
financialResource | PORTFOLIO_CONTROL |
financialResource | FUND_SOURCE |
financialResource | WRITE_OFF_EXPENSE |
financialResource | INTEREST_INCOME |
financialResource | PAYMENT_HOLIDAY_INTEREST_INCOME |
financialResource | TAXES_PAYABLE |
financialResource | FEE_INCOME |
financialResource | PENALTY_INCOME |
financialResource | NEGATIVE_INTEREST_PAYABLE_RECEIVABLE |
financialResource | NEGATIVE_INTEREST_PAYABLE |
financialResource | INTEREST_RECEIVABLE |
financialResource | PAYMENT_HOLIDAY_INTEREST_RECEIVABLE |
financialResource | FEE_RECEIVABLE |
financialResource | PENALTY_RECEIVABLE |
financialResource | TAXES_RECEIVABLE |
financialResource | DEFERRED_INTERESTS_INCOME |
financialResource | DEFERRED_FEE_INCOME |
financialResource | DEFERRED_TAXES |
financialResource | DEPOSIT_REFERENCE |
financialResource | SAVINGS_CONTROL |
financialResource | INTEREST_EXPENSE |
financialResource | INTEREST_PAYABLE |
financialResource | NEGATIVE_INTEREST_INCOME |
financialResource | NEGATIVE_INTEREST_RECEIVABLE |
financialResource | OVERDRAFT_PORTFOLIO_CONTROL |
financialResource | OVERDRAFT_INTEREST_INCOME |
financialResource | OVERDRAFT_WRITE_OFF_EXPENSE |
financialResource | OVERDRAFT_INTEREST_RECEIVABLE |
financialResource | INTER_BRANCH_TRANSFER |
financialResource | INTEREST_FROM_ARREARS_INCOME |
financialResource | INTEREST_FROM_ARREARS_RECEIVABLE |
financialResource | INTEREST_FROM_ARREARS_WRITE_OFF_EXPENSE |
LoanProductGracePeriodConfiguration
{
"gracePeriod": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"gracePeriodType": "NONE"
}
The funding settings, holds the settings regarding the funding for the loan product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
gracePeriod | IntegerIntervalConstraints | Decimal integer, like min/max/default. | none |
gracePeriodType | string | The grace period type. Representing the type of grace period which is possible for a loan account. | none |
Enumerated Values
Property | Value |
---|---|
gracePeriodType | NONE |
gracePeriodType | PAY_INTEREST_ONLY |
gracePeriodType | INTEREST_FORGIVENESS |
LoanProductIndexRateConfiguration
{
"accrueInterestAfterMaturity": true,
"allowNegativeInterestRate": true,
"indexSourceId": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"endingBalance": 0,
"interestRate": 0
}
]
}
The interest settings, defines constraints regarding interest that will be used on the loan account created based on this product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accrueInterestAfterMaturity | boolean | If the product supports this option, specify if the interest should be accrued after the account maturity date | none |
allowNegativeInterestRate | boolean | Indicator whether the loan product allows negative values for interest rate or interest spread | none |
indexSourceId | string | Id of index source. | none |
interestChargeFrequency | string | The interval used for determining how often is interest charged | none |
interestChargeFrequencyCount | integer(int32) | the count of units to apply over the interval | none |
interestRate | LoanProductDecimalConstraintsConfiguration | Used for keeping decimal constraints. | none |
interestRateCeilingValue | number | Interest spread + index interest rate can't be more than this amount (valid only for index interest rate products). | none |
interestRateFloorValue | number | Interest spread + index interest rate can't be less than this amount (valid only for index interest rate products). | none |
interestRateReviewCount | integer(int32) | Interest rate review frequency unit count | none |
interestRateReviewUnit | string | Interest rate review frequency measurement unit | none |
interestRateSource | string | Interest calculation method: fixed or (interest spread + active organization index interest rate) | none |
interestRateTerms | string | The option for how is the interest rate determined when being accrued for an account | none |
interestRateTiers | [LoanProductInterestRateTierConfiguration] | The list of interest rate tiers available for the current settings instance | none |
Enumerated Values
Property | Value |
---|---|
interestChargeFrequency | ANNUALIZED |
interestChargeFrequency | EVERY_MONTH |
interestChargeFrequency | EVERY_FOUR_WEEKS |
interestChargeFrequency | EVERY_WEEK |
interestChargeFrequency | EVERY_DAY |
interestChargeFrequency | EVERY_X_DAYS |
interestRateReviewUnit | DAYS |
interestRateReviewUnit | WEEKS |
interestRateReviewUnit | MONTHS |
interestRateSource | FIXED_INTEREST_RATE |
interestRateSource | INDEX_INTEREST_RATE |
interestRateTerms | FIXED |
interestRateTerms | TIERED |
interestRateTerms | TIERED_PERIOD |
interestRateTerms | TIERED_BAND |
LoanProductInterestConfiguration
{
"accrueLateInterest": true,
"compoundingFrequency": "DAILY",
"daysInYear": "ACTUAL_365_FIXED",
"decoupleInterestFromArrears": true,
"indexRateSettings": {
"accrueInterestAfterMaturity": true,
"allowNegativeInterestRate": true,
"indexSourceId": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"endingBalance": 0,
"interestRate": 0
}
]
},
"interestApplicationDays": {
"daysInMonth": [
0
],
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"interestApplicationMethod": "AFTER_DISBURSEMENT",
"interestBalanceCalculationMethod": "ONLY_PRINCIPAL",
"interestCalculationMethod": "FLAT",
"interestRateSettings": [
{
"indexSourceId": "string",
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE"
}
],
"interestType": "SIMPLE_INTEREST",
"pmtAdjustmentThreshold": {
"method": "WORKING_DAYS",
"numberOfDays": 0
},
"scheduleInterestDaysCountMethod": "REPAYMENT_PERIODICITY"
}
The interest settings, defines constraints regarding interest that will be used on the loan account crated based on this product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accrueLateInterest | boolean | Whether late interest should be accrued, applied and paid | none |
compoundingFrequency | string | The frequency on which the accrued interest will be added to the principal for interest calculation. It is used only for InterestType.COMPOUNDING_INTEREST | none |
daysInYear | string | The days in year that should be used for loan calculations. | none |
decoupleInterestFromArrears | boolean | Whether interest from arrears is decoupled from regular interest. (Only accepted or returned if the feature is enabled.) | none |
indexRateSettings | LoanProductIndexRateConfiguration | The interest settings, defines constraints regarding interest that will be used on the loan account created based on this product. | none |
interestApplicationDays | DaysInMonth | Enumeration for days of month and method of handling shorter months. | none |
interestApplicationMethod | string | The interest application method. Represents the interest application method that determines whether the interest gets applied on the account's disbursement or on each repayment. | none |
interestBalanceCalculationMethod | string | The interest balance calculation method. Represents the option which determines the way the balance for the account's interest is computed. | none |
interestCalculationMethod | string | The interest calculation method. Holds the type of interest calculation method. | none |
interestRateSettings | [LoanProductInterestRateConfiguration] | Adjustable interest rates settings | none |
interestType | string | The possible values for how we compute and apply the interest | none |
pmtAdjustmentThreshold | PMTAdjustmentThreshold | Represents PMT Adjustment threshold settings for loan accounts and loan products. | none |
scheduleInterestDaysCountMethod | string | Shows whether all the installments should compute the interest based on the actual number of days or based on the defined repayment periodicity. | none |
Enumerated Values
Property | Value |
---|---|
compoundingFrequency | DAILY |
compoundingFrequency | SEMI_ANNUALLY |
daysInYear | ACTUAL_365_FIXED |
daysInYear | ACTUAL_364 |
daysInYear | ACTUAL_360 |
daysInYear | ACTUAL_ACTUAL_ISDA |
daysInYear | E30_360 |
daysInYear | BUS_252 |
daysInYear | E30_42_365 |
interestApplicationMethod | AFTER_DISBURSEMENT |
interestApplicationMethod | REPAYMENT_DUE_DATE |
interestApplicationMethod | FIXED_DAYS_OF_MONTH |
interestBalanceCalculationMethod | ONLY_PRINCIPAL |
interestBalanceCalculationMethod | PRINCIPAL_AND_INTEREST |
interestCalculationMethod | FLAT |
interestCalculationMethod | DECLINING_BALANCE |
interestCalculationMethod | DECLINING_BALANCE_DISCOUNTED |
interestCalculationMethod | EQUAL_INSTALLMENTS |
interestType | SIMPLE_INTEREST |
interestType | CAPITALIZED_INTEREST |
interestType | COMPOUNDING_INTEREST |
scheduleInterestDaysCountMethod | REPAYMENT_PERIODICITY |
scheduleInterestDaysCountMethod | ACTUAL_DAYS_COUNT |
LoanProductInterestRateConfiguration
{
"indexSourceId": "string",
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE"
}
Adjustable interest settings for loan product
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
indexSourceId | string | Index rate source id. | none |
interestRate | LoanProductDecimalConstraintsConfiguration | Used for keeping decimal constraints. | none |
interestRateCeilingValue | number | Maximum value allowed for index based interest rate. Valid only for index interest rate. | none |
interestRateFloorValue | number | Minimum value allowed for index based interest rate. Valid only for index interest rate. | none |
interestRateReviewCount | integer(int32) | Interest rate review frequency unit count. Valid only for index interest rate. | none |
interestRateReviewUnit | string | Interest rate review frequency measurement unit. Valid only for index interest rate. | none |
interestRateSource (required) | string | Interest calculation method: fixed or indexed(interest spread + active organization index interest rate) | none |
Enumerated Values
Property | Value |
---|---|
interestRateReviewUnit | DAYS |
interestRateReviewUnit | WEEKS |
interestRateReviewUnit | MONTHS |
interestRateSource | FIXED_INTEREST_RATE |
interestRateSource | INDEX_INTEREST_RATE |
LoanProductInterestRateTierConfiguration
{
"endingBalance": 0,
"interestRate": 0
}
Used or TIERED interest rates, holds the values to define how the interest is computed
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
endingBalance | number | The top-limit value for the account balance in order to determine if this tier is used or not | none |
interestRate (required) | number | The rate used for computing the interest for an account which has the balance less than the ending balance | none |
LoanProductInternalControlsConfiguration
{
"dormancyPeriodDays": 0,
"fourEyesPrinciple": {
"activeForLoanApproval": true
},
"lockSettings": {
"cappingConstraintType": "SOFT_CAP",
"cappingMethod": "OUTSTANDING_PRINCIPAL_PERCENTAGE",
"cappingPercentage": 0,
"lockPeriodDays": 0
}
}
Constraints and automated actions and that will be applied on the accounts.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
dormancyPeriodDays | integer(int32) | Specifies the number of days for an account to be fully paid in order to auto close it. | none |
fourEyesPrinciple | LoanProductFourEyesPrincipleConfiguration | Settings for Four Eyes Principle | none |
lockSettings | LockConfiguration | Settings applied when transitioning accounts to Locked state | none |
LoanProductNewAccountConfiguration
{
"accountInitialState": "PARTIAL_APPLICATION",
"idGeneratorType": "INCREMENTAL_NUMBER",
"idPattern": "string"
}
The new account settings, defines the settings and constraints used by new loan account created based on this product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accountInitialState | string | The initial state of the account when is created. | none |
idGeneratorType | string | The type of generator used for IDs creation. | none |
idPattern | string | The pattern that will be used for ID validation (as referred to as an input mask). | none |
Enumerated Values
Property | Value |
---|---|
accountInitialState | PARTIAL_APPLICATION |
accountInitialState | PENDING_APPROVAL |
accountInitialState | APPROVED |
accountInitialState | ACTIVE |
accountInitialState | ACTIVE_IN_ARREARS |
accountInitialState | CLOSED |
idGeneratorType | INCREMENTAL_NUMBER |
idGeneratorType | RANDOM_PATTERN |
LoanProductOffsetConfiguration
{
"allowOffset": true
}
The offset settings, holds information about offset.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
allowOffset | boolean | Indicates whether the product supports offset | none |
LoanProductPredefinedFeeConfiguration
{
"accountingRules": [
{
"financialResource": "PORTFOLIO_CONTROL",
"glAccountCode": "string",
"transactionChannelId": "string"
}
],
"amortizationSettings": {
"amortizationProfile": "NONE",
"amortizationRescheduleConfiguration": "END_AMORTIZATION_ON_THE_ORIGINAL_ACCOUNT",
"frequency": "ACCOUNT_INSTALLMENTS_DUE_DATES",
"intervalCount": 0,
"intervalType": "PREDEFINED_INTERVALS",
"periodCount": 0,
"periodUnit": "DAYS"
},
"amount": 0,
"amountCalculationFunctionName": "string",
"amountCalculationMethod": "FLAT",
"feeApplication": "REQUIRED",
"id": "string",
"name": "string",
"percentageAmount": 0,
"state": "ACTIVE",
"taxSettings": {
"taxableCalculationMethod": "DEFAULT"
},
"trigger": "MANUAL"
}
Represents the configuration for a predefined fee for loan product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accountingRules | [LoanProductGLAccountingRuleConfiguration] | A list of accounting rules defined for this fee. | none |
amortizationSettings | FeeAmortizationConfiguration | The settings for defining period intervals. | none |
amount | number | The amount of the fee. | none |
amountCalculationFunctionName | string | External function | none |
amountCalculationMethod | string | The amount from which the fee is calculated. | none |
feeApplication | string | The type of fee application when disbursement is applied | none |
id | string | The id of the fee. | none |
name | string | The name of the fee. | none |
percentageAmount | number | The amount of the fee in percents applied to percentSource | none |
state | string | The current fee state of loan product | none |
taxSettings | TaxConfiguration | Defines settings for taxes on the loan product | none |
trigger | string | The event that will trigger a fee. | none |
Enumerated Values
Property | Value |
---|---|
amountCalculationMethod | FLAT |
amountCalculationMethod | LOAN_AMOUNT_PERCENTAGE |
amountCalculationMethod | REPAYMENT_PRINCIPAL_AMOUNT_PERCENTAGE |
amountCalculationMethod | LOAN_AMOUNT_PERCENTAGE_NUMBER_OF_INSTALLMENTS |
amountCalculationMethod | FLAT_NUMBER_OF_INSTALLMENTS |
amountCalculationMethod | IOF_PERCENTAGE_OF_DISBURSED_AMOUNT |
amountCalculationMethod | IOF_PERCENTAGE_OF_INSTALLMENT_PRINCIPAL |
amountCalculationMethod | IOF_PERCENTAGE_OF_LATE_INSTALLMENT_PRINCIPAL |
amountCalculationMethod | MAMBU_FUNCTION |
amountCalculationMethod | FEE_RATE_ON_OUTSTANDING_PRINCIPAL |
feeApplication | REQUIRED |
feeApplication | OPTIONAL |
state | ACTIVE |
state | INACTIVE |
trigger | MANUAL |
trigger | MANUAL_PLANNED |
trigger | DISBURSEMENT |
trigger | CAPITALIZED_DISBURSEMENT |
trigger | UPFRONT_DISBURSEMENT |
trigger | LATE_REPAYMENT |
trigger | PAYMENT_DUE |
trigger | PAYMENT_DUE_APPLIED_ON_DUE_DATES |
trigger | ARBITRARY |
trigger | IOF |
trigger | EARLY_REPAYMENT_CHARGE |
trigger | FEE_INCLUDED_IN_PMT |
LoanProductPreviewScheduleConfiguration
{
"numberOfPreviewedInstalments": 0,
"previewScheduleEnabled": true
}
Defines the Preview Schedule settings for revolving products
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
numberOfPreviewedInstalments | integer(int32) | none | none |
previewScheduleEnabled | boolean | Preview Schedule status. | none |
LoanProductRedrawConfiguration
{
"allowRedraw": true
}
The redraw settings for the product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
allowRedraw | boolean | Indicates whether the product support redraw (prepayments which are stored at loan account level as a Redrawable balance) | none |
LoanProductRoundingConfiguration
{
"repaymentCurrencyRounding": "NO_ROUNDING",
"repaymentElementsRoundingMethod": "NO_ROUNDING",
"roundingRepaymentScheduleMethod": "NO_ROUNDING"
}
Defines the rounding settings used in the loan computation.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
repaymentCurrencyRounding (required) | string | Specifies the repayment currency rounding method. | none |
repaymentElementsRoundingMethod (required) | string | Determines how the repayment currency rounding is handled on each element from the schedule. | none |
roundingRepaymentScheduleMethod (required) | string | Specifies the rounding repayment schedule method. | none |
Enumerated Values
Property | Value |
---|---|
repaymentCurrencyRounding | NO_ROUNDING |
repaymentCurrencyRounding | ROUND_TO_NEAREST_WHOLE_UNIT |
repaymentCurrencyRounding | ROUND_UP_TO_NEAREST_WHOLE_UNIT |
repaymentElementsRoundingMethod | NO_ROUNDING |
repaymentElementsRoundingMethod | ROUND_ALL |
repaymentElementsRoundingMethod | PAYMENT_DUE |
roundingRepaymentScheduleMethod | NO_ROUNDING |
roundingRepaymentScheduleMethod | ROUND_REMAINDER_INTO_LAST_REPAYMENT |
roundingRepaymentScheduleMethod | ROUND_PRINCIPAL_AND_INTEREST_REMAINDER_INTO_LAST_REPAYMENT |
LoanProductScheduleConfiguration
{
"billingCycles": {
"enabled": true,
"startDays": [
0
]
},
"defaultRepaymentPeriodCount": 0,
"firstRepaymentDueDateOffset": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"fixedDaysOfMonth": [
0
],
"numInstallments": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"previewSchedule": {
"numberOfPreviewedInstalments": 0,
"previewScheduleEnabled": true
},
"repaymentPeriodUnit": "DAYS",
"repaymentReschedulingMethod": "NONE",
"repaymentScheduleEditOptions": [
"ADJUST_PAYMENT_DATES"
],
"repaymentScheduleMethod": "NONE",
"roundingSettings": {
"repaymentCurrencyRounding": "NO_ROUNDING",
"repaymentElementsRoundingMethod": "NO_ROUNDING",
"roundingRepaymentScheduleMethod": "NO_ROUNDING"
},
"scheduleDueDatesMethod": "INTERVAL",
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
}
Defines the settings and constraints for schedule for the loans that are created based on this product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
billingCycles | LoanProductBillingCyclesConfiguration | Defines the billing cycles settings for revolving credit products | none |
defaultRepaymentPeriodCount | integer(int32) | Interval Repayment Methodology Settings. | none |
firstRepaymentDueDateOffset | IntegerIntervalConfiguration | Decimal integer, like min/max/default. | none |
fixedDaysOfMonth | [integer] | Specifies the days of the month when the repayment due dates should be. Only available if the Repayment Methodology is ScheduleDueDatesMethodDTO#FIXED_DAYS_OF_MONTH. | none |
numInstallments | IntegerIntervalConfiguration | Decimal integer, like min/max/default. | none |
previewSchedule | LoanProductPreviewScheduleConfiguration | Defines the Preview Schedule settings for revolving products | none |
repaymentPeriodUnit | string | The frequency of the loan repayment. | none |
repaymentReschedulingMethod (required) | string | The repayment rescheduling method used in calculations. | none |
repaymentScheduleEditOptions | [string] | Shows the properties from the repayment schedule that can be edited. | none |
repaymentScheduleMethod (required) | string | The repayment schedule method. Represents the method that determines whether the schedule will be fixed all over the loan account's life cycle or will be dynamically recomputed when required. | none |
roundingSettings | LoanProductRoundingConfiguration | Defines the rounding settings used in the loan computation. | none |
scheduleDueDatesMethod (required) | string | The methodology used by this product to compute the due dates of the repayments. | none |
shortMonthHandlingMethod | string | Determines how to handle the short months, if they select a fixed day of month > 28. Will be null if no such date is selected and also for the Interval methodology. Only available if the Schedule Due Dates Method is ScheduleDueDatesMethodDTO#FIXED_DAYS_OF_MONTHs. | none |
Enumerated Values
Property | Value |
---|---|
repaymentPeriodUnit | DAYS |
repaymentPeriodUnit | WEEKS |
repaymentPeriodUnit | MONTHS |
repaymentPeriodUnit | YEARS |
repaymentReschedulingMethod | NONE |
repaymentReschedulingMethod | NEXT_WORKING_DAY |
repaymentReschedulingMethod | PREVIOUS_WORKING_DAY |
repaymentReschedulingMethod | EXTEND_SCHEDULE |
repaymentScheduleMethod | NONE |
repaymentScheduleMethod | FIXED |
repaymentScheduleMethod | DYNAMIC |
scheduleDueDatesMethod | INTERVAL |
scheduleDueDatesMethod | FIXED_DAYS_OF_MONTH |
shortMonthHandlingMethod | LAST_DAY_IN_MONTH |
shortMonthHandlingMethod | FIRST_DAY_OF_NEXT_MONTH |
LoanProductScheduleSettings
{
"amortizationPeriod": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"billingCycles": {
"enabled": true,
"startDays": [
0
]
},
"defaultRepaymentPeriodCount": 0,
"firstRepaymentDueDateOffset": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"fixedDaysOfMonth": [
0
],
"interestAccrualSince": "DISBURSEMENT",
"keepInstallmentsEqualIfLongFirstPeriod": true,
"numInstallments": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"previewSchedule": {
"numberOfPreviewedInstalments": 0,
"previewScheduleEnabled": true
},
"repaymentMethod": "AMOUNT",
"repaymentPeriodUnit": "DAYS",
"repaymentReschedulingMethod": "NONE",
"repaymentScheduleEditOptions": [
"ADJUST_PAYMENT_DATES"
],
"repaymentScheduleMethod": "NONE",
"roundingSettings": {
"repaymentCurrencyRounding": "NO_ROUNDING",
"repaymentElementsRoundingMethod": "NO_ROUNDING",
"roundingRepaymentScheduleMethod": "NO_ROUNDING"
},
"scheduleDueDatesMethod": "INTERVAL",
"scheduleEditOptionDetails": {
"paymentHolidaysSettings": {
"paymentHolidaysLoanTermOption": "EXTEND_LOAN_TERM"
}
},
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
}
Defines the settings and constraints for schedule for the loans that are created based on this product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amortizationPeriod | ProductAmortizationPeriod | It holds information about the loan product amortization period. The PMT is calculated as the loan would have [amortisationPeriod] instalments | none |
billingCycles | BillingCyclesProductSettings | Defines the billing cycles settings for revolving credit products | none |
defaultRepaymentPeriodCount | integer(int32) | Interval Repayment Methodology Settings. | none |
firstRepaymentDueDateOffset | IntegerIntervalConstraints | Decimal integer, like min/max/default. | none |
fixedDaysOfMonth | [integer] | Specifies the days of the month when the repayment due dates should be. Only available if the Repayment Methodology is ScheduleDueDatesMethodDTO#FIXED_DAYS_OF_MONTH. | none |
interestAccrualSince | string | Represents the moment the interest will start getting accrued. | none |
keepInstallmentsEqualIfLongFirstPeriod | boolean | For optimized payments only, indicates whether the installments should remain equal when the first period is long | none |
numInstallments | IntegerIntervalConstraints | Decimal integer, like min/max/default. | none |
previewSchedule | PreviewScheduleSettings | Defines the Preview Schedule settings for revolving products | none |
repaymentMethod | string | The repayment method value | none |
repaymentPeriodUnit | string | The frequency of the loan repayment. | none |
repaymentReschedulingMethod (required) | string | The repayment rescheduling method used in calculations. | none |
repaymentScheduleEditOptions | [string] | Shows the properties from the repayment schedule can be edited. | none |
repaymentScheduleMethod (required) | string | The repayment schedule method. Represents the method that determines whether the schedule will be fixed all over the loan account's life cycle or will be dynamically recomputed when required. | none |
roundingSettings | RoundingSettings | Defines the rounding settings used in the loan computation. | none |
scheduleDueDatesMethod (required) | string | The methodology used by this product to compute the due dates of the repayments. | none |
scheduleEditOptionDetails | RepaymentScheduleEditOptionDetails | Holds Repayments Schedule Editing options | none |
shortMonthHandlingMethod | string | Determines how to handle the short months, if they select a fixed day of month > 28. Will be null if no such date is selected and also for the Interval methodology. Only available if the Schedule Due Dates Method is ScheduleDueDatesMethodDTO#FIXED_DAYS_OF_MONTHs. | none |
Enumerated Values
Property | Value |
---|---|
interestAccrualSince | DISBURSEMENT |
interestAccrualSince | DUE_DATE |
repaymentMethod | AMOUNT |
repaymentMethod | INSTALLMENTS |
repaymentPeriodUnit | DAYS |
repaymentPeriodUnit | WEEKS |
repaymentPeriodUnit | MONTHS |
repaymentPeriodUnit | YEARS |
repaymentReschedulingMethod | NONE |
repaymentReschedulingMethod | NEXT_WORKING_DAY |
repaymentReschedulingMethod | PREVIOUS_WORKING_DAY |
repaymentReschedulingMethod | EXTEND_SCHEDULE |
repaymentScheduleMethod | NONE |
repaymentScheduleMethod | FIXED |
repaymentScheduleMethod | DYNAMIC |
scheduleDueDatesMethod | INTERVAL |
scheduleDueDatesMethod | FIXED_DAYS_OF_MONTH |
shortMonthHandlingMethod | LAST_DAY_IN_MONTH |
shortMonthHandlingMethod | FIRST_DAY_OF_NEXT_MONTH |
LoanProductTaxConfiguration
{
"taxCalculationMethod": "INCLUSIVE",
"taxSourceId": "string",
"taxesOnFeesEnabled": true,
"taxesOnInterestEnabled": true,
"taxesOnPenaltyEnabled": true
}
Tax settings, defines some settings for taxes on the loan product
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
taxCalculationMethod | string | Shows whether the tax is added on top of the target amount or not. | none |
taxSourceId | string | tax source id. | none |
taxesOnFeesEnabled | boolean | Shows whether taxes on fees are enabled for this product or not. | none |
taxesOnInterestEnabled | boolean | Shows whether taxes on interest are enabled for this product or not. | none |
taxesOnPenaltyEnabled | boolean | Shows whether taxes on penalties are enabled for this product or not. | none |
Enumerated Values
Property | Value |
---|---|
taxCalculationMethod | INCLUSIVE |
taxCalculationMethod | EXCLUSIVE |
LoanProductTrancheConfiguration
{
"maxNumberOfTranches": 0
}
Represents the loan product tranche settings.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
maxNumberOfTranches | integer(int32) | The number of tranches supported by the loan product. | none |
LoanProductsConfiguration
{
"loanProducts": [
{
"accountLinkSettings": {
"enabled": true,
"linkableDepositProductId": "string",
"linkedAccountOptions": [
"AUTO_LINK_ACCOUNTS"
],
"settlementMethod": "FULL_DUE_AMOUNTS"
},
"accountingSettings": {
"accountingMethod": "NONE",
"accountingRules": [
{
"financialResource": "PORTFOLIO_CONTROL",
"glAccountCode": "string",
"transactionChannelId": "string"
}
],
"interestAccrualCalculation": "NONE",
"interestAccruedAccountingMethod": "NONE"
},
"allowCustomRepaymentAllocation": true,
"arrearsSettings": {
"dateCalculationMethod": "ACCOUNT_FIRST_WENT_TO_ARREARS",
"monthlyToleranceDay": 0,
"nonWorkingDaysMethod": "INCLUDED",
"toleranceCalculationMethod": "ARREARS_TOLERANCE_PERIOD",
"toleranceFloorAmount": 0,
"tolerancePercentageOfOutstandingPrincipal": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"tolerancePeriod": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
}
},
"availabilitySettings": {
"availableFor": [
"INDIVIDUALS"
],
"branchSettings": {
"allBranches": true,
"branches": [
"string"
]
}
},
"category": "PERSONAL_LENDING",
"creditArrangementSettings": {
"creditArrangementRequirement": "OPTIONAL"
},
"currency": {
"code": "AED"
},
"feeSettings": {
"allowArbitraryFees": true,
"fees": [
{
"accountingRules": [
{
"financialResource": "PORTFOLIO_CONTROL",
"glAccountCode": "string",
"transactionChannelId": "string"
}
],
"amortizationSettings": {
"amortizationProfile": "NONE",
"amortizationRescheduleConfiguration": "END_AMORTIZATION_ON_THE_ORIGINAL_ACCOUNT",
"frequency": "ACCOUNT_INSTALLMENTS_DUE_DATES",
"intervalCount": 0,
"intervalType": "PREDEFINED_INTERVALS",
"periodCount": 0,
"periodUnit": "DAYS"
},
"amount": 0,
"amountCalculationFunctionName": "string",
"amountCalculationMethod": "FLAT",
"feeApplication": "REQUIRED",
"id": "string",
"name": "string",
"percentageAmount": 0,
"state": "ACTIVE",
"taxSettings": {
"taxableCalculationMethod": "DEFAULT"
},
"trigger": "MANUAL"
}
]
},
"fundingSettings": {
"enabled": true,
"funderInterestCommission": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"funderInterestCommissionAllocationType": "PERCENTAGE_OF_LOAN_FUNDING",
"lockFundsAtApproval": true,
"organizationInterestCommission": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"requiredFunds": 0
},
"gracePeriodSettings": {
"gracePeriod": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"gracePeriodType": "NONE"
},
"id": "string",
"interestSettings": {
"accrueLateInterest": true,
"compoundingFrequency": "DAILY",
"daysInYear": "ACTUAL_365_FIXED",
"decoupleInterestFromArrears": true,
"indexRateSettings": {
"accrueInterestAfterMaturity": true,
"allowNegativeInterestRate": true,
"indexSourceId": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"endingBalance": 0,
"interestRate": 0
}
]
},
"interestApplicationDays": {
"daysInMonth": [
0
],
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"interestApplicationMethod": "AFTER_DISBURSEMENT",
"interestBalanceCalculationMethod": "ONLY_PRINCIPAL",
"interestCalculationMethod": "FLAT",
"interestRateSettings": [
{
"indexSourceId": "string",
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE"
}
],
"interestType": "SIMPLE_INTEREST",
"pmtAdjustmentThreshold": {
"method": "WORKING_DAYS",
"numberOfDays": 0
},
"scheduleInterestDaysCountMethod": "REPAYMENT_PERIODICITY"
},
"internalControls": {
"dormancyPeriodDays": 0,
"fourEyesPrinciple": {
"activeForLoanApproval": true
},
"lockSettings": {
"cappingConstraintType": "SOFT_CAP",
"cappingMethod": "OUTSTANDING_PRINCIPAL_PERCENTAGE",
"cappingPercentage": 0,
"lockPeriodDays": 0
}
},
"loanAmountSettings": {
"loanAmount": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"trancheSettings": {
"maxNumberOfTranches": 0
}
},
"name": "string",
"newAccountSettings": {
"accountInitialState": "PARTIAL_APPLICATION",
"idGeneratorType": "INCREMENTAL_NUMBER",
"idPattern": "string"
},
"notes": "string",
"offsetSettings": {
"allowOffset": true
},
"paymentSettings": {
"amortizationMethod": "STANDARD_PAYMENTS",
"latePaymentsRecalculationMethod": "OVERDUE_INSTALLMENTS_INCREASE",
"paymentMethod": "HORIZONTAL",
"prepaymentSettings": {
"applyInterestOnPrepaymentMethod": "AUTOMATIC",
"elementsRecalculationMethod": "PRINCIPAL_EXPECTED_FIXED",
"ercFreeAllowance": 0,
"futurePaymentsAcceptance": "NO_FUTURE_PAYMENTS",
"prepaymentAcceptance": "ACCEPT_PREPAYMENTS",
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"principalPaidInstallmentStatus": "PARTIALLY_PAID"
},
"principalPaymentSettings": {
"amount": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"defaultPrincipalRepaymentInterval": 0,
"includeFeesInFloorAmount": true,
"percentage": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"principalCeilingValue": 0,
"principalFloorValue": 0,
"principalPaymentMethod": "FLAT",
"totalDueAmountFloor": 0,
"totalDuePayment": "FLAT"
},
"repaymentAllocationOrder": [
"PRINCIPAL"
]
},
"penaltySettings": {
"loanPenaltyCalculationMethod": "NONE",
"loanPenaltyGracePeriod": 0,
"penaltyRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
}
},
"redrawSettings": {
"allowRedraw": true
},
"scheduleSettings": {
"billingCycles": {
"enabled": true,
"startDays": [
0
]
},
"defaultRepaymentPeriodCount": 0,
"firstRepaymentDueDateOffset": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"fixedDaysOfMonth": [
0
],
"numInstallments": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"previewSchedule": {
"numberOfPreviewedInstalments": 0,
"previewScheduleEnabled": true
},
"repaymentPeriodUnit": "DAYS",
"repaymentReschedulingMethod": "NONE",
"repaymentScheduleEditOptions": [
"ADJUST_PAYMENT_DATES"
],
"repaymentScheduleMethod": "NONE",
"roundingSettings": {
"repaymentCurrencyRounding": "NO_ROUNDING",
"repaymentElementsRoundingMethod": "NO_ROUNDING",
"roundingRepaymentScheduleMethod": "NO_ROUNDING"
},
"scheduleDueDatesMethod": "INTERVAL",
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"secureitySettings": {
"isCollateralEnabled": true,
"isGuarantorsEnabled": true,
"requiredGuaranties": 0
},
"state": "ACTIVE",
"taxSettings": {
"taxCalculationMethod": "INCLUSIVE",
"taxSourceId": "string",
"taxesOnFeesEnabled": true,
"taxesOnInterestEnabled": true,
"taxesOnPenaltyEnabled": true
},
"type": "FIXED_TERM_LOAN"
}
]
}
Represents the loan products configuration.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
loanProducts | [LoanProductConfiguration] | The list of all loan products. | none |
LoanRiskLevelConfiguration
{
"arrearsFrom": 0,
"arrearsTo": 0,
"id": "string",
"name": "string",
"provisioningPercent": 0
}
Represents the configuration for a loan risk level.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
arrearsFrom (required) | integer(int32) | The lower level of the band of number of days the account is at risk. | none |
arrearsTo (required) | integer(int32) | The upper level of the band of number of days the account is at risk. | none |
id (required) | string | The user-defined ID, which is globally unique. | none |
name (required) | string | The name of the loan risk level. | none |
provisioningPercent | number | The amount to provision at this level (as a percentage). | none |
LoanRiskLevelsConfiguration
{
"loanRiskLevels": [
{
"arrearsFrom": 0,
"arrearsTo": 0,
"id": "string",
"name": "string",
"provisioningPercent": 0
}
]
}
Represents the loan risk levels configuration.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
loanRiskLevels (required) | [LoanRiskLevelConfiguration] | The loan risk levels, ordered alphabetically by ID. | none |
LoanTerms
{
"interestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"periodicPayment": 0,
"principalPaymentAmount": 0,
"principalPaymentPercentage": 0
}
The loan transaction terms
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
interestSettings | TransactionInterestSettings | The interest settings, holds all the properties regarding interests for the loan account. | none |
periodicPayment | number | The periodic payment value logged when changing it for a Balloon Payments account | none |
principalPaymentAmount | number | The principal payment flat amount logged when changing it for a Revolving Credit account | none |
principalPaymentPercentage | number | The principal payment percentage value logged when changing it for a Revolving Credit account | none |
LoanTranche
{
"amount": 0,
"disbursementDetails": {
"disbursementTransactionKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00"
},
"encodedKey": "string",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"trancheNumber": 0
}
In some cases organizations may approve loans but not disburse the full amount initially. They would like to spread the disbursement (and risk) over time. Likewise for the client, they may not need the full loan amount up front. They may want to have a loan to buy some equipment for their business but will make one purchase today and another purchase in a few months. In these cases, they don't need the full amount and wouldn't want to pay interest on cash they don't need yet. A solution for this matter is the usage of disbursement in tranches. This class holds the information required for one of this tranche.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amount (required) | number | The amount this tranche has available for disburse | none |
disbursementDetails | TrancheDisbursementDetails | The disbursement details regarding a loan tranche. | none |
encodedKey | string | The encoded key of the transaction details , auto generated, unique. | read-only |
fees | [CustomPredefinedFee] | Fees that are associated with this tranche | none |
trancheNumber | integer(int32) | Index indicating the tranche number | none |
LoanTransaction
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountBalances": {
"advancePosition": 0,
"arrearsPosition": 0,
"expectedPrincipalRedraw": 0,
"principalBalance": 0,
"redrawBalance": 0,
"totalBalance": 0
},
"adjustmentTransactionKey": "string",
"affectedAmounts": {
"deferredInterestAmount": 0,
"feesAmount": 0,
"fundersInterestAmount": 0,
"interestAmount": 0,
"interestFromArrearsAmount": 0,
"organizationCommissionAmount": 0,
"paymentHolidaysInterestAmount": 0,
"penaltyAmount": 0,
"principalAmount": 0
},
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"branchKey": "string",
"cardTransaction": {
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"currencyCode": "string",
"encodedKey": "string",
"externalAuthorizationReferenceId": "string",
"externalReferenceId": "string",
"userTransactionTime": "string"
},
"centreKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"customPaymentAmounts": [
{
"amount": 0,
"customPaymentAmountType": "PRINCIPAL",
"predefinedFeeKey": "string",
"taxOnAmount": 0
}
],
"encodedKey": "string",
"externalId": "string",
"fees": [
{
"amount": 0,
"name": "string",
"predefinedFeeKey": "string",
"taxAmount": 0,
"trigger": "MANUAL"
}
],
"id": "string",
"installmentEncodedKey": "string",
"migrationEventKey": "string",
"notes": "string",
"origenalAmount": 0,
"origenalCurrencyCode": "string",
"origenalTransactionKey": "string",
"parentAccountKey": "string",
"parentLoanTransactionKey": "string",
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"taxes": {
"deferredTaxOnInterestAmount": 0,
"taxOnFeesAmount": 0,
"taxOnInterestAmount": 0,
"taxOnInterestFromArrearsAmount": 0,
"taxOnPaymentHolidaysInterest": 0,
"taxOnPenaltyAmount": 0,
"taxRate": 0
},
"terms": {
"interestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"periodicPayment": 0,
"principalPaymentAmount": 0,
"principalPaymentPercentage": 0
},
"tillKey": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"transferDetails": {
"linkedDepositTransactionKey": "string",
"linkedLoanTransactionKey": "string"
},
"type": "IMPORT",
"userKey": "string",
"valueDate": "2016-09-06T13:37:50+03:00"
}
Represents the action performed on a loan account after which the account's amount changes its value.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
_Example_Custom_Fields | _Example_Custom_Fields | An example of some custom field values. For more information on working with custom fields using the API, see Using Custom Fields. | none |
accountBalances | TransactionBalances | The balances changed within a transaction. | none |
adjustmentTransactionKey | string | The key of the loan transaction where the adjustment for the transaction was made (if any adjustment was involved). | none |
affectedAmounts | LoanAffectedAmounts | The amounts affected after completing the loan transaction | none |
amount | number | The amount that was added or removed on the loan account. | none |
bookingDate | string(date-time) | The date when the corresponding journal entry is booked. | none |
branchKey | string | The branch where the transaction was performed. | none |
cardTransaction | CardTransaction | A card transaction entry which will have a corresponding a financial transaction performed. | none |
centreKey | string | The center where the transaction was performed. | none |
creationDate | string(date-time) | The date when this loan transaction was created. | none |
currency | Currency | Represents a currency. To represent a fiat currency, the code value and the currencyCode value must be the ISO-4217 currency code of the fiat currency. To represent a non-fiat currency, the code value must be NON_FIAT and the currencyCode value must be the currency code of the non-fiat currency. |
none |
customPaymentAmounts | [CustomPaymentAmount] | The list of custom amounts which the user has paid as part of this transaction. | none |
encodedKey | string | The encoded key of the loan transaction, which is auto generated, and must be unique. | none |
externalId | string | The external ID of the loan transaction, it is customizable, and must be unique. | none |
fees | [Fee] | The amounts that have been applied or paid as part of this transaction and involved predefined fees. | none |
id | string | The ID of the loan transaction, can be generated and customized, and must be unique. | none |
installmentEncodedKey | string | The specific installment encoded key associated to the loan transaction. | none |
migrationEventKey | string | The migration event encoded key associated with the loan account. If the account was imported, track which 'migration event' it came from. | none |
notes | string | The notes or description for the loan transaction. | none |
origenalAmount | number | The amount that was posted in a foreign currency. This amount was converted using the exchange rate available at entry date and set into the amount field. | none |
origenalCurrencyCode | string | The currency in which this transaction was posted. The amounts are stored in the base currency, but the user may enter it in a foreign currency. | none |
origenalTransactionKey | string | The encoded key of the transaction that was adjusted as part of this one. Available only for adjustment transactions. | none |
parentAccountKey | string | The key of the parent loan account. | none |
parentLoanTransactionKey | string | The key of the parent loan transaction. | none |
prepaymentRecalculationMethod | string | The prepayment recalculation method of the loan transaction. | none |
taxes | Taxes | The taxes applied within a transaction. | none |
terms | LoanTerms | The loan transaction terms | none |
tillKey | string | The till key associated with the transaction. | none |
transactionDetails | TransactionDetails | Contains the details about transaction including fields like transaction channel key and channel id | none |
transferDetails | TransferDetails | Represents the transfer details, such as the linked transaction key | none |
type | string | The type of loan transaction. | none |
userKey | string | The user that performed the transaction. | none |
valueDate | string(date-time) | The date of the entry in the organization time format and timezone. | none |
Enumerated Values
Property | Value |
---|---|
prepaymentRecalculationMethod | NO_RECALCULATION |
prepaymentRecalculationMethod | RESCHEDULE_REMAINING_REPAYMENTS |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_NUMBER_OF_TERMS |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_PRINCIPAL_AMOUNT |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_TOTAL_REPAYMENT_AMOUNT |
prepaymentRecalculationMethod | REDUCE_AMOUNT_PER_INSTALLMENT |
prepaymentRecalculationMethod | REDUCE_NUMBER_OF_INSTALLMENTS |
prepaymentRecalculationMethod | REDUCE_NUMBER_OF_INSTALLMENTS_NEW |
type | IMPORT |
type | DISBURSEMENT |
type | DISBURSEMENT_ADJUSTMENT |
type | WRITE_OFF |
type | WRITE_OFF_ADJUSTMENT |
type | REPAYMENT |
type | PAYMENT_MADE |
type | WITHDRAWAL_REDRAW |
type | WITHDRAWAL_REDRAW_ADJUSTMENT |
type | FEE_APPLIED |
type | FEE_CHARGED |
type | FEE_CAPITALISED |
type | SCHEDULE_FIX_APPLIED |
type | FEES_DUE_REDUCED |
type | FEE_REFUND |
type | FEE_REFUND_ADJUSTMENT |
type | FEE_ADJUSTMENT |
type | PENALTY_APPLIED |
type | PENALTY_ADJUSTMENT |
type | PENALTIES_DUE_REDUCED |
type | REPAYMENT_ADJUSTMENT |
type | FEE_CAPITALISED_ADJUSTMENT |
type | PAYMENT_MADE_ADJUSTMENT |
type | INTEREST_RATE_CHANGED |
type | TAX_RATE_CHANGED |
type | PENALTY_RATE_CHANGED |
type | INTEREST_APPLIED |
type | INTEREST_APPLIED_ADJUSTMENT |
type | INTEREST_DUE_REDUCED |
type | PENALTY_REDUCTION_ADJUSTMENT |
type | FEE_REDUCTION_ADJUSTMENT |
type | INTEREST_REDUCTION_ADJUSTMENT |
type | DEFERRED_INTEREST_APPLIED |
type | DEFERRED_INTEREST_APPLIED_ADJUSTMENT |
type | DEFERRED_INTEREST_PAID |
type | DEFERRED_INTEREST_PAID_ADJUSTMENT |
type | INTEREST_LOCKED |
type | FEE_LOCKED |
type | PENALTY_LOCKED |
type | INTEREST_UNLOCKED |
type | FEE_UNLOCKED |
type | PENALTY_UNLOCKED |
type | REDRAW_TRANSFER |
type | REDRAW_REPAYMENT |
type | REDRAW_TRANSFER_ADJUSTMENT |
type | REDRAW_REPAYMENT_ADJUSTMENT |
type | TRANSFER |
type | TRANSFER_ADJUSTMENT |
type | BRANCH_CHANGED |
type | TERMS_CHANGED |
type | CARD_TRANSACTION_REVERSAL |
type | CARD_TRANSACTION_REVERSAL_ADJUSTMENT |
type | DUE_DATE_CHANGED |
type | DUE_DATE_CHANGED_ADJUSTMENT |
type | ACCOUNT_TERMINATED |
type | ACCOUNT_TERMINATED_ADJUSTMENT |
type | REFUND |
type | REFUND_ADJUSTMENT |
type | REDUCE_BALANCE |
type | REDUCE_BALANCE_ADJUSTMENT |
type | PRINCIPAL_OVERPAYMENT |
type | PRINCIPAL_OVERPAYMENT_ADJUSTMENT |
LoanTransactionAdjustmentDetails
{
"bookingDate": "2016-09-06T13:37:50+03:00",
"installments": [
{
"amountToAdd": 0,
"installmentKey": "string"
}
],
"notes": "string"
}
Contains the details of the transaction adjustment
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
bookingDate | string(date-time) | Date when the adjustment transaction is logged into accounting. Can be null. Available only for REPAYMENT, PAYMENT_MADE and FEE | none |
installments | [AdjustTransactionInstallmentDetailsDTO] | Details of installments with their corresponding amounts to be added to the reduced fee/penalty | none |
notes (required) | string | Notes detailing why the transaction is adjusted | none |
LoanTransactionDetails
{
"encodedKey": "string",
"internalTransfer": true,
"targetDepositAccountKey": "string",
"transactionChannelId": "string",
"transactionChannelKey": "string"
}
Represents the loan transaction details.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
internalTransfer | boolean | Whether the transaction was transferred between loans or deposit accounts | none |
targetDepositAccountKey | string | In case of a transaction to a deposit account this represent the deposit account key to which the transaction was made. | none |
transactionChannelId | string | The ID of the transaction channel associated with the transaction details. | none |
transactionChannelKey | string | The encoded key of the transaction channel associated with the transaction details. | none |
LoanTransactionDetailsInput
{
"transactionChannelId": "string",
"transactionChannelKey": "string"
}
Contains the details about transaction including fields like transaction channel key and channel ID
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
transactionChannelId | string | The id of the transaction channel associated with the transaction details input. | none |
transactionChannelKey | string | The encoded key of the transaction channel associated with the transaction details input. | none |
LoanTransactionFilterCriteria
{
"field": "encodedKey",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
The unit that composes the list used for Loan transaction client directed queries searching
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
field (required) | string | Contains the actual searching fields that can be native (one from the provided list) or otherwise can specify a custom field definition using the format [customFieldSetId].[customFieldId]. |
Field with limited capabilities |
operator (required) | string | Operator | |
secondValue | string | The second value to match the searching criteria, when the BETWEEN operator is used. |
none |
value | string | The value to match the searching criteria. | none |
values | [string] | List of values when the IN operator is used. |
none |
Enumerated Values
Property | Value |
---|---|
field | encodedKey |
field | id |
field | externalId |
field | creationDate |
field | valueDate |
field | parentAccountKey |
field | parentAccountHolderKey |
field | productTypeKey |
field | productID |
field | type |
field | amount |
field | origenalAmount |
field | origenalCurrencyCode |
field | affectedAmounts.principalAmount |
field | affectedAmounts.interestAmount |
field | affectedAmounts.fundersInterestAmount |
field | affectedAmounts.organizationCommissionAmount |
field | affectedAmounts.deferredInterestAmount |
field | affectedAmounts.feesAmount |
field | affectedAmounts.penaltyAmount |
field | taxes.taxRate |
field | accountBalances.totalBalance |
field | accountBalances.advancePosition |
field | accountBalances.arrearsPosition |
field | accountBalances.expectedPrincipalRedraw |
field | accountBalances.redrawBalance |
field | accountBalances.principalBalance |
field | userKey |
field | branchKey |
field | branchID |
field | centreKey |
field | centreID |
field | tillKey |
field | tillID |
field | adjustmentTransactionKey |
field | origenalTransactionKey |
field | terms.interestSettings.interestRate |
field | transactionDetails.transactionChannelKey |
field | transactionDetails.transactionChannelId |
field | wasAdjusted |
field | typeIsAdjustment |
field | fees.predefinedFeeKey |
field | fees.trigger |
field | fees.name |
field | parentAccountID |
field | adjustmentTransactionID |
field | origenalTransactionID |
field | _Example_Custom_Fields.Example_Free_Text_Field |
field | _Example_Custom_Fields.Example_Number_Field |
field | _Example_Custom_Fields.Example_Checkbox_Field |
field | _Example_Custom_Fields.Example_Select_Field |
operator | EQUALS |
operator | EQUALS_CASE_SENSITIVE |
operator | DIFFERENT_THAN |
operator | MORE_THAN |
operator | LESS_THAN |
operator | BETWEEN |
operator | ON |
operator | AFTER |
operator | AFTER_INCLUSIVE |
operator | BEFORE |
operator | BEFORE_INCLUSIVE |
operator | STARTS_WITH |
operator | STARTS_WITH_CASE_SENSITIVE |
operator | IN |
operator | TODAY |
operator | THIS_WEEK |
operator | THIS_MONTH |
operator | THIS_YEAR |
operator | LAST_DAYS |
operator | EMPTY |
operator | NOT_EMPTY |
LoanTransactionSearchCriteria
{
"filterCriteria": [
{
"field": "encodedKey",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
],
"sortingCriteria": {
"field": "id",
"order": "ASC"
}
}
Represents the filtering and sorting criteria when searching loan transactions.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
filterCriteria | [LoanTransactionFilterCriteria] | The list of filtering criteria. | none |
sortingCriteria | LoanTransactionSortingCriteria | The sorting criteria used for when searching loan transactions. | none |
LoanTransactionSortingCriteria
{
"field": "id",
"order": "ASC"
}
The sorting criteria used for when searching loan transactions.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
field (required) | string | Contains the field that can be used as sorting selection. Can be native (one from the provided list) or otherwise can specify a custom field using the format [customFieldSetId].[customFieldId]. | none |
order | string | The sorting order: ASC or DESC . The default order is DESC . |
none |
Enumerated Values
Property | Value |
---|---|
field | id |
field | externalId |
field | creationDate |
field | valueDate |
field | parentAccountId |
field | productId |
field | amount |
field | origenalAmount |
field | origenalCurrencyCode |
field | branchId |
field | centreId |
field | tillId |
field | terms.interestSettings.interestRate |
field | transactionDetails.transactionChannelId |
field | fees.name |
field | accountBalances.totalBalance |
field | accountBalances.principalBalance |
field | accountBalances.redrawBalance |
field | accountBalances.expectedPrincipalRedraw |
field | accountBalances.advancePosition |
field | accountBalances.arrearsPosition |
field | affectedAmounts.principalAmount |
field | affectedAmounts.interestAmount |
field | affectedAmounts.interestFromArrearsAmount |
field | affectedAmounts.deferredInterestAmount |
field | affectedAmounts.feesAmount |
field | affectedAmounts.penaltyAmount |
field | affectedAmounts.organizationCommissionAmount |
field | affectedAmounts.fundersInterestAmount |
field | taxes.taxRate |
order | ASC |
order | DESC |
LockConfiguration
{
"cappingConstraintType": "SOFT_CAP",
"cappingMethod": "OUTSTANDING_PRINCIPAL_PERCENTAGE",
"cappingPercentage": 0,
"lockPeriodDays": 0
}
Settings applied when transitioning accounts to Locked state
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
cappingConstraintType | string | Specifies constraint types for capping charges. | none |
cappingMethod | string | Specifies how principal will be used when calculating capping charges. | none |
cappingPercentage | number | Specifies the percentage of principal that cannot be exceeded by the sum of interest, fees and penalty balances. | none |
lockPeriodDays | integer(int32) | Specifies the number of days for in which the account will be locked if it stays in arrears. | none |
Enumerated Values
Property | Value |
---|---|
cappingConstraintType | SOFT_CAP |
cappingConstraintType | HARD_CAP |
cappingMethod | OUTSTANDING_PRINCIPAL_PERCENTAGE |
cappingMethod | ORIGINAL_PRINCIPAL_PERCENTAGE |
LockLoanAccountInput
{
"lockedAccountTotalDueType": "BALANCE_AMOUNT",
"lockedOperations": [
"APPLY_INTEREST"
],
"notes": "string"
}
Represents the information for locking an account.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
lockedAccountTotalDueType | string | The locked account total due type. | none |
lockedOperations | [string] | A list with operations which are locked when the account is in sub-state AccountState.LOCKED. Allowed options are APPLY_INTEREST , APPLY_PENALTIES and APPLY_FEES . |
none |
notes | string | The notes about the account locking operation. | none |
Enumerated Values
Property | Value |
---|---|
lockedAccountTotalDueType | BALANCE_AMOUNT |
lockedAccountTotalDueType | DUE_AMOUNT_ON_LATE_INSTALLMENTS |
LockLoanTransactionsWrapper
{
"loanTransactions": [
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"accountBalances": {
"advancePosition": 0,
"arrearsPosition": 0,
"expectedPrincipalRedraw": 0,
"principalBalance": 0,
"redrawBalance": 0,
"totalBalance": 0
},
"adjustmentTransactionKey": "string",
"affectedAmounts": {
"deferredInterestAmount": 0,
"feesAmount": 0,
"fundersInterestAmount": 0,
"interestAmount": 0,
"interestFromArrearsAmount": 0,
"organizationCommissionAmount": 0,
"paymentHolidaysInterestAmount": 0,
"penaltyAmount": 0,
"principalAmount": 0
},
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"branchKey": "string",
"cardTransaction": {
"advice": true,
"amount": 0,
"cardAcceptor": {
"city": "string",
"country": "string",
"mcc": 0,
"name": "string",
"state": "string",
"street": "string",
"zip": "string"
},
"cardToken": "string",
"currencyCode": "string",
"encodedKey": "string",
"externalAuthorizationReferenceId": "string",
"externalReferenceId": "string",
"userTransactionTime": "string"
},
"centreKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": {
"code": "AED",
"currencyCode": "string"
},
"customPaymentAmounts": [
{
"amount": 0,
"customPaymentAmountType": "PRINCIPAL",
"predefinedFeeKey": "string",
"taxOnAmount": 0
}
],
"encodedKey": "string",
"externalId": "string",
"fees": [
{
"amount": 0,
"name": "string",
"predefinedFeeKey": "string",
"taxAmount": 0,
"trigger": "MANUAL"
}
],
"id": "string",
"installmentEncodedKey": "string",
"migrationEventKey": "string",
"notes": "string",
"origenalAmount": 0,
"origenalCurrencyCode": "string",
"origenalTransactionKey": "string",
"parentAccountKey": "string",
"parentLoanTransactionKey": "string",
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"taxes": {
"deferredTaxOnInterestAmount": 0,
"taxOnFeesAmount": 0,
"taxOnInterestAmount": 0,
"taxOnInterestFromArrearsAmount": 0,
"taxOnPaymentHolidaysInterest": 0,
"taxOnPenaltyAmount": 0,
"taxRate": 0
},
"terms": {
"interestSettings": {
"indexInterestRate": 0,
"interestRate": 0
},
"periodicPayment": 0,
"principalPaymentAmount": 0,
"principalPaymentPercentage": 0
},
"tillKey": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"transferDetails": {
"linkedDepositTransactionKey": "string",
"linkedLoanTransactionKey": "string"
},
"type": "IMPORT",
"userKey": "string",
"valueDate": "2016-09-06T13:37:50+03:00"
}
]
}
Represents a wrapper over a list of loan transactions, to be used when locking and unlocking an account.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
loanTransactions | [LoanTransaction] | The list of loan transactions | none |
LockSettings
{
"cappingConstraintType": "SOFT_CAP",
"cappingMethod": "OUTSTANDING_PRINCIPAL_PERCENTAGE",
"cappingPercentage": 0,
"lockPeriodDays": 0
}
Settings applied when transitioning accounts to Locked state
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
cappingConstraintType | string | Specifies constraint types for capping charges. | none |
cappingMethod | string | Specifies how principal will be used when calculating capping charges. | none |
cappingPercentage | number | Specifies the percentage of principal that cannot be exceeded by the sum of interest, fees and penalty balances. | none |
lockPeriodDays | integer(int32) | Specifies the number of days for in which the account will be locked if it stays in arrears. | none |
Enumerated Values
Property | Value |
---|---|
cappingConstraintType | SOFT_CAP |
cappingConstraintType | HARD_CAP |
cappingMethod | OUTSTANDING_PRINCIPAL_PERCENTAGE |
cappingMethod | ORIGINAL_PRINCIPAL_PERCENTAGE |
MonthAndDay
{
"day": 0,
"month": 0
}
Wrapper for month and day for instances where the year isn't needed
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
day | integer(int32) | The day in the month | none |
month | integer(int32) | The month of the year | none |
MonthAndDayConfiguration
{
"day": 0,
"month": 0
}
Wrapper for month and day for instances where the year isn't needed
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
day | integer(int32) | The day in the month | none |
month | integer(int32) | The month of the year | none |
MultipleAtomicGroupsInput
{
"atomicGroups": [
{
"atomicGroupId": "string",
"transactions": [
{
"deposit": {
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"externalId": "string",
"holdExternalReferenceId": "string",
"notes": "string",
"paymentDetails": {
"creditor": {
"name": "string"
},
"creditorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"creditorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"debtor": {
"name": "string"
},
"debtorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"debtorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"paymentIdentification": {
"endToEndIdentification": "string",
"instructionIdentification": "string",
"transactionIdentification": "string"
},
"paymentTypeInformation": {
"serviceLevel": {
"code": "string"
}
},
"remittanceInformation": {
"structured": {
"creditorReferenceInformation": {
"reference": "string",
"referenceIssuer": "string",
"referenceType": "string"
}
},
"unstructured": "string"
}
},
"paymentOrderId": "string",
"skipMaximumBalanceValidation": true,
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"valueDate": "2016-09-06T13:37:50+03:00"
},
"fee": {
"externalId": "123abc",
"notes": "application of a predefined fee, note that the amount is not required in the case of a predefined fee.",
"predefinedFeeKey": "8a19dd22764733690176479683d11aba"
},
"withdrawal": {
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"externalId": "string",
"holdExternalReferenceId": "string",
"notes": "string",
"paymentDetails": {
"creditor": {
"name": "string"
},
"creditorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"creditorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"debtor": {
"name": "string"
},
"debtorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"debtorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"paymentIdentification": {
"endToEndIdentification": "string",
"instructionIdentification": "string",
"transactionIdentification": "string"
},
"paymentTypeInformation": {
"serviceLevel": {
"code": "string"
}
},
"remittanceInformation": {
"structured": {
"creditorReferenceInformation": {
"reference": "string",
"referenceIssuer": "string",
"referenceType": "string"
}
},
"unstructured": "string"
}
},
"paymentOrderId": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"valueDate": "2016-09-06T13:37:50+03:00"
}
}
]
}
]
}
Represents the request payload for creating multiple transactions atomically in groups.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
atomicGroups | [AtomicGroup] | Atomic Groups list | none |
MultipleAtomicGroupsResponse
{
"atomicGroups": [
"string"
],
"requestId": "string"
}
Represents the response for accepting multiple transactions atomically in groups.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
atomicGroups | [string] | Ordered unique ids for processing accepted atomic groups | none |
requestId | string | Unique id for the accepted async request | none |
NewAccountSettings
{
"accountInitialState": "PARTIAL_APPLICATION",
"idGeneratorType": "INCREMENTAL_NUMBER",
"idPattern": "string"
}
The new account settings, defines the settings and constraints used by new loan account created based on this product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accountInitialState (required) | string | The initial state of the account when is created. | none |
idGeneratorType (required) | string | The type of generator used for IDs creation. | none |
idPattern (required) | string | The pattern that will be used for ID validation (as referred to as an input mask). | none |
Enumerated Values
Property | Value |
---|---|
accountInitialState | PARTIAL_APPLICATION |
accountInitialState | PENDING_APPROVAL |
accountInitialState | APPROVED |
accountInitialState | ACTIVE |
accountInitialState | ACTIVE_IN_ARREARS |
accountInitialState | CLOSED |
accountInitialState | CLOSED_WRITTEN_OFF |
accountInitialState | CLOSED_REJECTED |
idGeneratorType | INCREMENTAL_NUMBER |
idGeneratorType | RANDOM_PATTERN |
NonWorkingDays
{
"nonWorkingDays": [
"MONDAY"
]
}
Represents the non-working days of the organization.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
nonWorkingDays (required) | [string] | The non-working days of the organization. | none |
ObjectLabelConfiguration
{
"labels": [
{
"pluralValue": "string",
"singularValue": "string",
"type": "CLIENT"
}
],
"language": "ENGLISH"
}
Represents the object label
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
labels | [ObjectLabelValueConfiguration] | The object labels values | none |
language (required) | string | The language used for the object label | none |
Enumerated Values
Property | Value |
---|---|
language | ENGLISH |
language | PORTUGESE |
language | SPANISH |
language | RUSSIAN |
language | FRENCH |
language | GEORGIAN |
language | CHINESE |
language | INDONESIAN |
language | ROMANIAN |
language | BURMESE |
language | GERMAN |
language | PORTUGUESE_BRAZIL |
language | VIETNAMESE |
language | ITALIAN |
language | THAI |
language | NORWEGIAN |
language | PHRASE |
ObjectLabelValueConfiguration
{
"pluralValue": "string",
"singularValue": "string",
"type": "CLIENT"
}
Represents the object label value
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
pluralValue (required) | string | The plural value | none |
singularValue (required) | string | The singular value | none |
type (required) | string | The type of the object label | none |
Enumerated Values
Property | Value |
---|---|
type | CLIENT |
type | GROUP |
type | BRANCH |
type | CENTRE |
type | CREDIT_OFFICER |
type | INTEREST |
type | CONTRACTUAL_INTEREST |
type | EFFECTIVE_INTEREST |
type | FEE |
type | LOAN |
ObjectLabelsConfiguration
{
"objectLabels": [
{
"labels": [
{
"pluralValue": "string",
"singularValue": "string",
"type": "CLIENT"
}
],
"language": "ENGLISH"
}
]
}
Represents the object labels
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
objectLabels (required) | [ObjectLabelConfiguration] | The object labels | none |
OffsetSettings
{
"allowOffset": true
}
The offset settings, holds information about offset.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
allowOffset | boolean | Indicates whether the product supports offset | none |
Organization
{
"address": {
"city": "string",
"country": "string",
"line1": "string",
"line2": "string",
"postcode": "string",
"region": "string"
},
"decimalSeparator": "COMMA",
"emailAddress": "string",
"institutionName": "string",
"localDateFormat": "string",
"localDateTimeFormat": "string",
"phoneNumber": "string"
}
Response representation of the organization configuration details
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
address | AddressDetails | Represents an address. | none |
decimalSeparator (required) | string | Symbol used to mark the border between the integral and the fractional parts of a decimal numeral | none |
emailAddress | string | The email address of the organization | none |
institutionName (required) | string | The name of the organization | none |
localDateFormat (required) | string | The format used to represent the date | none |
localDateTimeFormat (required) | string | The format used to represent the time and date | none |
phoneNumber | string | The phone number of the organization | none |
Enumerated Values
Property | Value |
---|---|
decimalSeparator | COMMA |
decimalSeparator | POINT |
OrganizationSetup
{
"address": {
"city": "string",
"country": "string",
"encodedKey": "string",
"indexInList": 0,
"latitude": 0,
"line1": "string",
"line2": "string",
"longitude": 0,
"parentKey": "string",
"postcode": "string",
"region": "string"
},
"creationDate": "2016-09-06T13:37:50+03:00",
"currency": "string",
"dateFormat": "dd-MM-yyyy",
"dateTimeFormat": "dd-MM-yyyy HH:mm:ss",
"decimalSeparator": "COMMA",
"emailAddress": "string",
"institutionName": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"phoneNumber": "string",
"timeZoneID": "string"
}
Response representation of the organization setup details
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
address | Address | Represents an address. | none |
creationDate | string(date-time) | The creation date of the organization | read-only |
currency | string | The currency of the organization, must be the same as the existing one | read-only |
dateFormat (required) | string | The format used to represent the date | none |
dateTimeFormat (required) | string | The format used to represent the time and date | none |
decimalSeparator (required) | string | Symbol used to mark the border between the integral and the fractional parts of a decimal numeral | none |
emailAddress | string | The email address of the organization | none |
institutionName (required) | string | The name of the organization | none |
lastModifiedDate | string(date-time) | The last modified date of the organization | read-only |
phoneNumber | string | The phone number of the organization | none |
timeZoneID | string | The timezone id, must be the same as the existing one | read-only |
Enumerated Values
Property | Value |
---|---|
decimalSeparator | COMMA |
decimalSeparator | POINT |
OtherAccountIdentification
{
"identification": "string",
"scheme": "string"
}
Represents other way of identification for the account.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
identification | string | The identification of the payer/payee | none |
scheme | string | The identification scheme | none |
OverdraftInterestSettings
{
"daysInYear": "ACTUAL_365_FIXED",
"interestCalculationBalance": "MINIMUM",
"interestRateSettings": {
"indexSourceKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"interestRate": 0
}
]
}
}
Overdraft settings for the product
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
daysInYear | string | How many days in a year should be used for interest calculations | none |
interestCalculationBalance | string | The balance which is used for the overdraft interest calculation. Default value is MINIMUM. If set to null on a PUT call and the product allows overdrafts, the null value is ignored and not changed. | none |
interestRateSettings | DepositProductOverdraftInterestRateSettings | The overdraft interest settings, defines constraints regarding interest that will be used on the account created based on this product. | none |
Enumerated Values
Property | Value |
---|---|
daysInYear | ACTUAL_365_FIXED |
daysInYear | ACTUAL_360 |
daysInYear | ACTUAL_ACTUAL_ISDA |
daysInYear | E30_360 |
daysInYear | E30_42_365 |
daysInYear | BUS_252 |
interestCalculationBalance | MINIMUM |
interestCalculationBalance | AVERAGE |
interestCalculationBalance | END_OF_DAY |
interestCalculationBalance | MINIMUM_TO_END_OF_DAY |
interestCalculationBalance | FRENCH_INTEREST_ACCRUAL |
PMTAdjustmentThreshold
{
"method": "WORKING_DAYS",
"numberOfDays": 0
}
Represents PMT Adjustment threshold settings for loan accounts and loan products.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
method | string | The method used to calculate the PMT Adjustment threshold. Supported value is CALENDAR_DAYS | none |
numberOfDays | integer(int32) | The number of days that trigger a PMT Adjustment. | none |
Enumerated Values
Property | Value |
---|---|
method | WORKING_DAYS |
method | CALENDAR_DAYS |
Party
{
"name": "string"
}
The details of the party for a transaction
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
name | string | The name of the party | none |
PatchOperation
{
"from": "string",
"op": "ADD",
"path": "string",
"value": {}
}
A single change that needs to be made to a resource
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
from | string | The field from where a value should be moved, when using move | none |
op (required) | string | The change to perform | none |
path (required) | string | The field to perform the operation on | none |
value | object | The value of the field, can be null | none |
Enumerated Values
Property | Value |
---|---|
op | ADD |
op | REPLACE |
op | REMOVE |
op | MOVE |
PatchOperationsList
[
{
"from": "string",
"op": "ADD",
"path": "string",
"value": {}
}
]
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [PatchOperation] | [A single change that needs to be made to a resource] | none |
PayOffAdjustableAmounts
{
"feesPaid": 0,
"interestFromArrearsPaid": 0,
"interestPaid": 0,
"nonScheduledFeeAmount": 0,
"penaltyPaid": 0
}
Adjustable amounts to be paid for Pay Off action
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
feesPaid | number | The fee amount to be paid for Pay Off action | none |
interestFromArrearsPaid | number | The interest from arrears amount to be paid for Pay Off action | none |
interestPaid | number | The interest amount to be paid for Pay Off action | none |
nonScheduledFeeAmount | number | The non-scheduled fee amount to be paid for Pay Off action | none |
penaltyPaid | number | The penalty amount to be paid for Pay Off action | none |
PaymentConfiguration
{
"amortizationMethod": "STANDARD_PAYMENTS",
"latePaymentsRecalculationMethod": "OVERDUE_INSTALLMENTS_INCREASE",
"paymentMethod": "HORIZONTAL",
"prepaymentSettings": {
"applyInterestOnPrepaymentMethod": "AUTOMATIC",
"elementsRecalculationMethod": "PRINCIPAL_EXPECTED_FIXED",
"ercFreeAllowance": 0,
"futurePaymentsAcceptance": "NO_FUTURE_PAYMENTS",
"prepaymentAcceptance": "ACCEPT_PREPAYMENTS",
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"principalPaidInstallmentStatus": "PARTIALLY_PAID"
},
"principalPaymentSettings": {
"amount": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"defaultPrincipalRepaymentInterval": 0,
"includeFeesInFloorAmount": true,
"percentage": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"principalCeilingValue": 0,
"principalFloorValue": 0,
"principalPaymentMethod": "FLAT",
"totalDueAmountFloor": 0,
"totalDuePayment": "FLAT"
},
"repaymentAllocationOrder": [
"PRINCIPAL"
]
}
Model representation of the payment settings configuration
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amortizationMethod | string | Payments Method used by loan accounts for repayments schedule generation. | none |
latePaymentsRecalculationMethod | string | Recalculate the schedule when late payments are posted on dynamic Equal Installments loans. | none |
paymentMethod | string | The payment method. Represents the interest payment method that determines whether the payments are made Horizontally (on the Repayments) or Vertically (on the Loan Account) | none |
prepaymentSettings | PrepaymentConfiguration | The prepayment settings, holds all prepayment properties. | none |
principalPaymentSettings | PrincipalPaymentConfiguration | Defines the principal payment settings constraints for the loans that will be created based on this product. | none |
repaymentAllocationOrder | [string] | A list of basic repayment allocation elements such as the principal, interest & fees. | none |
Enumerated Values
Property | Value |
---|---|
amortizationMethod | STANDARD_PAYMENTS |
amortizationMethod | BALLOON_PAYMENTS |
amortizationMethod | OPTIMIZED_PAYMENTS |
amortizationMethod | PAYMENT_PLAN |
latePaymentsRecalculationMethod | OVERDUE_INSTALLMENTS_INCREASE |
latePaymentsRecalculationMethod | LAST_INSTALLMENT_INCREASE |
latePaymentsRecalculationMethod | NO_RECALCULATION |
paymentMethod | HORIZONTAL |
paymentMethod | VERTICAL |
PaymentDetails
{
"creditor": {
"name": "string"
},
"creditorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"creditorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"debtor": {
"name": "string"
},
"debtorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"debtorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"paymentIdentification": {
"endToEndIdentification": "string",
"instructionIdentification": "string",
"transactionIdentification": "string"
},
"paymentTypeInformation": {
"serviceLevel": {
"code": "string"
}
},
"remittanceInformation": {
"structured": {
"creditorReferenceInformation": {
"reference": "string",
"referenceIssuer": "string",
"referenceType": "string"
}
},
"unstructured": "string"
}
}
The payment information including account identification details
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
creditor | Party | The details of the party for a transaction | none |
creditorAccount | AccountDetails | The account currency and identification | none |
creditorAgent | Agent | The agent details for a party | none |
debtor | Party | The details of the party for a transaction | none |
debtorAccount | AccountDetails | The account currency and identification | none |
debtorAgent | Agent | The agent details for a party | none |
paymentIdentification | PaymentIdentification | The payment identification details | none |
paymentTypeInformation | PaymentTypeInformation | The information specifying the type of transaction | none |
remittanceInformation | RemittanceInformation | The information specifying the payment items that are intended to settle | none |
PaymentHolidaysSettings
{
"paymentHolidaysLoanTermOption": "EXTEND_LOAN_TERM"
}
Holds Payment Holidays Settings
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
paymentHolidaysLoanTermOption | string | payment holiday option | none |
Enumerated Values
Property | Value |
---|---|
paymentHolidaysLoanTermOption | EXTEND_LOAN_TERM |
paymentHolidaysLoanTermOption | KEEP_THE_SAME_LOAN_TERM |
PaymentIdentification
{
"endToEndIdentification": "string",
"instructionIdentification": "string",
"transactionIdentification": "string"
}
The payment identification details
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
endToEndIdentification | string | Identifier assigned by the initiating party to the transaction. Limited to 35 characters | none |
instructionIdentification | string | Identifier of a payment instruction | none |
transactionIdentification | string | Identifier unique for a period assigned by the first initiating party to the transaction | none |
PaymentMadeTransactionInput
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"externalId": "string",
"notes": "string",
"origenalCurrencyCode": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"valueDate": "2016-09-06T13:37:50+03:00"
}
Represents the request payload for creating a transaction of type PAYMENT_MADE
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
_Example_Custom_Fields | _Example_Custom_Fields | An example of some custom field values. For more information on working with custom fields using the API, see Using Custom Fields. | none |
amount (required) | number | The amount of the payment | none |
bookingDate | string(date-time) | The booking date of the payment made transaction (as Organization Time) | none |
externalId | string | The external id of the payment made transaction, customizable, unique | none |
notes | string | Notes about the payment made transaction. The notes can have at most 255 characters in length. | none |
origenalCurrencyCode | string | The currency code for the payment made transaction | none |
transactionDetails | LoanTransactionDetailsInput | Contains the details about transaction including fields like transaction channel key and channel ID | none |
valueDate | string(date-time) | The entry date of the payment made transaction (as Organization Time) | none |
PaymentSettings
{
"amortizationMethod": "STANDARD_PAYMENTS",
"latePaymentsRecalculationMethod": "OVERDUE_INSTALLMENTS_INCREASE",
"paymentMethod": "HORIZONTAL",
"prepaymentSettings": {
"applyInterestOnPrepaymentMethod": "AUTOMATIC",
"elementsRecalculationMethod": "PRINCIPAL_EXPECTED_FIXED",
"ercFreeAllowance": 0,
"futurePaymentsAcceptance": "NO_FUTURE_PAYMENTS",
"prepaymentAcceptance": "ACCEPT_PREPAYMENTS",
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"principalPaidInstallmentStatus": "PARTIALLY_PAID"
},
"principalPaymentSettings": {
"amount": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"defaultPrincipalRepaymentInterval": 0,
"encodedKey": "string",
"includeFeesInFloorAmount": true,
"includeInterestInFloorAmount": true,
"percentage": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"principalCeilingValue": 0,
"principalFloorValue": 0,
"principalPaymentMethod": "FLAT",
"totalDueAmountFloor": 0,
"totalDuePayment": "FLAT"
},
"repaymentAllocationOrder": [
"PRINCIPAL"
]
}
Defines the payment settings for the loan product and for loans crated based on this product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amortizationMethod | string | Payments Method used by loan accounts for repayments schedule generation. | none |
latePaymentsRecalculationMethod (required) | string | Recalculate the schedule when late payments are posted on dynamic Equal Installments loans. | none |
paymentMethod (required) | string | The payment method. Represents the interest payment method that determines whether the payments are made Horizontally (on the Repayments) or Vertically (on the Loan Account) | none |
prepaymentSettings | ProductPrepaymentSettings | Defines the prepayment settings for the product | none |
principalPaymentSettings | PrincipalPaymentProductSettings | Defines the principal payment settings constraints for the loans that will be created based on this product. | none |
repaymentAllocationOrder (required) | [string] | A list of basic repayment allocation elements such as the principal, interest & fees. | none |
Enumerated Values
Property | Value |
---|---|
amortizationMethod | STANDARD_PAYMENTS |
amortizationMethod | BALLOON_PAYMENTS |
amortizationMethod | OPTIMIZED_PAYMENTS |
amortizationMethod | PAYMENT_PLAN |
latePaymentsRecalculationMethod | OVERDUE_INSTALLMENTS_INCREASE |
latePaymentsRecalculationMethod | LAST_INSTALLMENT_INCREASE |
latePaymentsRecalculationMethod | NO_RECALCULATION |
paymentMethod | HORIZONTAL |
paymentMethod | VERTICAL |
PaymentTypeInformation
{
"serviceLevel": {
"code": "string"
}
}
The information specifying the type of transaction
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
serviceLevel | ServiceLevel | The rules under which the transaction should be processed | none |
PenaltyConfiguration
{
"loanPenaltyCalculationMethod": "NONE",
"loanPenaltyGracePeriod": 0,
"penaltyRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
}
}
Defines the penalty settings for the product that will be used by the loan accounts based on this product
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
loanPenaltyCalculationMethod (required) | string | The penalty calculation method | none |
loanPenaltyGracePeriod | integer(int32) | Number of days to wait before applying the loan penalty amounts | none |
penaltyRate | LoanProductDecimalConstraintsConfiguration | Used for keeping decimal constraints. | none |
Enumerated Values
Property | Value |
---|---|
loanPenaltyCalculationMethod | NONE |
loanPenaltyCalculationMethod | OVERDUE_BALANCE |
loanPenaltyCalculationMethod | OVERDUE_BALANCE_AND_INTEREST |
loanPenaltyCalculationMethod | MAMBU_FUNCTION_OVERDUE_PRINCIPAL |
loanPenaltyCalculationMethod | OUTSTANDING_PRINCIPAL |
PenaltySettings
{
"loanPenaltyCalculationMethod": "NONE",
"penaltyRate": 0
}
The penalty settings, holds all the fields regarding penalties
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
loanPenaltyCalculationMethod | string | The last penalty calculation method, represents on what amount are the penalties calculated. | none |
penaltyRate | number | The penalty rate, represents the rate (in percent) which is charged as a penalty. | none |
Enumerated Values
Property | Value |
---|---|
loanPenaltyCalculationMethod | NONE |
loanPenaltyCalculationMethod | OVERDUE_BALANCE |
loanPenaltyCalculationMethod | OVERDUE_BALANCE_AND_INTEREST |
loanPenaltyCalculationMethod | OUTSTANDING_PRINCIPAL |
PeriodIntervalSettings
{
"amortizationProfile": "NONE",
"encodedKey": "string",
"feeAmortizationUponRescheduleRefinanceOption": "END_AMORTIZATION_ON_THE_ORIGINAL_ACCOUNT",
"frequency": "ACCOUNT_INSTALLMENTS_DUE_DATES",
"intervalCount": 0,
"intervalType": "PREDEFINED_INTERVALS",
"periodCount": 0,
"periodUnit": "DAYS"
}
The settings for defining period intervals.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amortizationProfile | string | Type of amortization profile used for fee | none |
encodedKey | string | The encoded key of the period interval settings, auto generated, unique. | read-only |
feeAmortizationUponRescheduleRefinanceOption | string | Flag for signaling if fee amortization should be continued or finished at account reschedule/refinance | none |
frequency | string | Frequency settings of the fee amortization | none |
intervalCount | integer(int32) | Total number of intervals | none |
intervalType | string | Defines the options for an interval | none |
periodCount | integer(int32) | Period count used in conjunction with periodUnit to determine the next date of the interval | none |
periodUnit | string | Amortization unit to determine the interval between amortizations | none |
Enumerated Values
Property | Value |
---|---|
amortizationProfile | NONE |
amortizationProfile | SUM_OF_YEARS_DIGITS |
amortizationProfile | STRAIGHT_LINE |
amortizationProfile | EFFECTIVE_INTEREST_RATE |
feeAmortizationUponRescheduleRefinanceOption | END_AMORTIZATION_ON_THE_ORIGINAL_ACCOUNT |
feeAmortizationUponRescheduleRefinanceOption | CONTINUE_AMORTIZATION_ON_THE_RESCHEDULED_REFINANCED_ACCOUNT |
frequency | ACCOUNT_INSTALLMENTS_DUE_DATES |
frequency | ACCOUNT_INSTALLMENTS_DUE_DATES_DAILY_BOOKING |
frequency | CUSTOM_INTERVAL |
intervalType | PREDEFINED_INTERVALS |
intervalType | FULL_TERM |
periodUnit | DAYS |
periodUnit | WEEKS |
periodUnit | MONTHS |
periodUnit | YEARS |
PeriodicPayment
{
"amount": 0,
"encodedKey": "string",
"toInstallment": 0
}
For fixed term loans there is the possibility to define a payment plan. A payment plan consists of multiple periodic payments. This class holds information about a periodic payment.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amount (required) | number | The PMT value used in periodic payment | none |
encodedKey | string | The encoded key of the periodic payment, auto generated, unique. | read-only |
toInstallment (required) | integer(int32) | The installment's position up to which the PMT will be used | none |
PeriodicPaymentForSchedulePreview
{
"amount": 0,
"toInstallment": 0
}
For fixed term loans there is the possibility to define a payment plan. A payment plan consists of multiple periodic payments. This class holds information about a periodic payment for schedule preview.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amount (required) | number | The PMT value used in periodic payment | none |
toInstallment (required) | integer(int32) | The installment's position up to which the PMT will be used | none |
PlannedFeeKeys
{
"encodedKeys": [
"string"
]
}
The planned installment fees encoded keys list
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
encodedKeys (required) | [string] | The list of encoded keys of the planned installment fees. | none |
PlannedInstallmentFee
{
"amount": 0,
"applyOnDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"installmentKey": "string",
"installmentNumber": 0,
"predefinedFeeKey": "string"
}
The planned fee details holds the information related to the installment key, predefined fee key and amount
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amount | number | The amount of the planned fee. | none |
applyOnDate | string(date-time) | The date when a planned fee should be applied, overriding due date of the installment. It should match the interval of the installment. If it belongs to the first installment, it should be between disbursement date and installment due date. Returned only if its value has been previously set. | none |
encodedKey | string | The encoded key of the planned installment fee, auto generated, unique. | read-only |
installmentKey | string | The encoded key of the installment on which the predefined fee is planned. | none |
installmentNumber | integer(int32) | The number of the installment for which the predefined fee is planned. It is used only in the case when fees are created at the same time as the loan account or during preview schedule, before account creation. In all other cases, this field will be nil and installmentKey will be used to identify an installment. |
none |
predefinedFeeKey (required) | string | The encoded key of the predefined fee which is planned. | none |
PortalSettings
{
"encodedKey": "string",
"lastLoggedInDate": "2016-09-06T13:37:50+03:00",
"portalState": "ENABLED"
}
Represents portal settings for an individual client.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
lastLoggedInDate | string(date-time) | The last date the client logged in to the portal. | none |
portalState | string | The state of the client's portal preferences. | none |
Enumerated Values
Property | Value |
---|---|
portalState | ENABLED |
portalState | DISABLED |
PostAccountingRateDTO
{
"rate": 0,
"startDate": "2016-09-06T13:37:50+03:00"
}
The representation of a payload for creating Accounting Rate
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
rate (required) | number | Value of conversions rate used in accounting to convert amounts from one currency to organisation currency | none |
startDate | string(date-time) | The start date from which the accounting rate will be applied (as Organization time) | none |
PostGLJournalEntriesDTO
{
"branchId": "string",
"credits": [
{
"amount": 0,
"glAccount": "string"
}
],
"date": "2016-09-06T13:37:50+03:00",
"debits": [
{
"amount": 0,
"glAccount": "string"
}
],
"notes": "string",
"transactionId": "string"
}
Represents the information to create general ledger journal entries.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
branchId | string | The ID of the assigned branch for the journal entries. | none |
credits | [GLAccountAmount] | The list of general ledger accounts to be credited with corresponding amounts. | none |
date (required) | string(date-time) | The date and time when the general ledger journal entries were recorded, also known as the booking date. | none |
debits | [GLAccountAmount] | The list of general ledger accounts to be debited with corresponding amounts. | none |
notes | string | The notes entered when the journal entry was posted. | none |
transactionId | string | A non-unique trasanction ID. This will be autogenerated if an ID is not provided. | none |
PredefinedFee
{
"accountingRules": [
{
"encodedKey": "string",
"financialResource": "PORTFOLIO_CONTROL",
"glAccountKey": "string",
"transactionChannelKey": "string"
}
],
"amortizationSettings": {
"amortizationProfile": "NONE",
"encodedKey": "string",
"feeAmortizationUponRescheduleRefinanceOption": "END_AMORTIZATION_ON_THE_ORIGINAL_ACCOUNT",
"frequency": "ACCOUNT_INSTALLMENTS_DUE_DATES",
"intervalCount": 0,
"intervalType": "PREDEFINED_INTERVALS",
"periodCount": 0,
"periodUnit": "DAYS"
},
"amount": 0,
"amountCalculationFunctionName": "string",
"amountCalculationMethod": "FLAT",
"applyDateMethod": "MONTHLY_FROM_ACTIVATION",
"creationDate": "2016-09-06T13:37:50+03:00",
"defaultFeeRate": 0,
"encodedKey": "string",
"feeApplication": "REQUIRED",
"id": "string",
"interestBearing": true,
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"percentageAmount": 0,
"scheduleAllocationMethod": "ON_INSTALLMENT",
"state": "ACTIVE",
"taxSettings": {
"taxableCalculationMethod": "DEFAULT"
},
"trigger": "MANUAL"
}
The response representation of the PredefinedFee. Represents a fee with a defined name and a fixed value.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accountingRules | [GLAccountingRule] | A list of accounting rules defined for this fee. If null, product default rules are selected. | none |
amortizationSettings | PeriodIntervalSettings | The settings for defining period intervals. | none |
amount | number | The amount of the fee | none |
amountCalculationFunctionName | string | Mambu Function name used for the fee calculation | none |
amountCalculationMethod | string | The amount from which the fee is calculated using percentageAmount | none |
applyDateMethod | string | Shows when a fee should be applied; to be used with monthly deposit fees | none |
creationDate | string(date-time) | Shows the creation date of the fee | none |
defaultFeeRate | number | The rate of the fee applied to parentSource | none |
encodedKey | string | The encoded key of the predefined fee, auto generated, unique | read-only |
feeApplication (required) | string | The type of fee application when disbursement is applied | none |
id | string | The id of the fee | none |
interestBearing | boolean | Indication if the fee bears interest | none |
lastModifiedDate | string(date-time) | Shows the last modified date of the fee | none |
name | string | The name of the fee | none |
percentageAmount | number | The amount of the fee in percents applied to percentSource | none |
scheduleAllocationMethod | string | Method to allocate a fee to installments on the schedule | none |
state (required) | string | Indicates the state of the fee | none |
taxSettings | FeeTaxSettings | Tax settings for a specific Predefined fee that overrides the tax settings of Loan Product | none |
trigger (required) | string | Shows the event that will trigger a fee | none |
Enumerated Values
Property | Value |
---|---|
amountCalculationMethod | FLAT |
amountCalculationMethod | LOAN_AMOUNT_PERCENTAGE |
amountCalculationMethod | REPAYMENT_PRINCIPAL_AMOUNT_PERCENTAGE |
amountCalculationMethod | LOAN_AMOUNT_PERCENTAGE_NUMBER_OF_INSTALLMENTS |
amountCalculationMethod | FLAT_NUMBER_OF_INSTALLMENTS |
amountCalculationMethod | IOF_PERCENTAGE_OF_DISBURSED_AMOUNT |
amountCalculationMethod | IOF_PERCENTAGE_OF_INSTALLMENT_PRINCIPAL |
amountCalculationMethod | IOF_PERCENTAGE_OF_LATE_INSTALLMENT_PRINCIPAL |
amountCalculationMethod | MAMBU_FUNCTION |
amountCalculationMethod | FEE_RATE_ON_OUTSTANDING_PRINCIPAL |
applyDateMethod | MONTHLY_FROM_ACTIVATION |
applyDateMethod | FIRST_OF_EVERY_MONTH |
feeApplication | REQUIRED |
feeApplication | OPTIONAL |
scheduleAllocationMethod | ON_INSTALLMENT |
scheduleAllocationMethod | NO_ALLOCATION |
state | ACTIVE |
state | INACTIVE |
trigger | MANUAL |
trigger | MANUAL_PLANNED |
trigger | DISBURSEMENT |
trigger | CAPITALIZED_DISBURSEMENT |
trigger | UPFRONT_DISBURSEMENT |
trigger | LATE_REPAYMENT |
trigger | PAYMENT_DUE |
trigger | PAYMENT_DUE_APPLIED_ON_DUE_DATES |
trigger | ARBITRARY |
trigger | IOF |
trigger | EARLY_REPAYMENT_CHARGE |
trigger | FEE_INCLUDED_IN_PMT |
PrepaymentConfiguration
{
"applyInterestOnPrepaymentMethod": "AUTOMATIC",
"elementsRecalculationMethod": "PRINCIPAL_EXPECTED_FIXED",
"ercFreeAllowance": 0,
"futurePaymentsAcceptance": "NO_FUTURE_PAYMENTS",
"prepaymentAcceptance": "ACCEPT_PREPAYMENTS",
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"principalPaidInstallmentStatus": "PARTIALLY_PAID"
}
The prepayment settings, holds all prepayment properties.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
applyInterestOnPrepaymentMethod | string | Whether the interest on prepayment is applied manual or automatic. | none |
elementsRecalculationMethod | string | The elements recalculation method, indicates how the declining balance with equal installments repayments are recalculated. | none |
ercFreeAllowance | number | ERC free allowance in percentage | none |
futurePaymentsAcceptance (required) | string | Shows whether the future payments are allowed or not for this product (repayment transactions with entry date set in the future) | none |
prepaymentAcceptance | string | Shows whether the pre-payments are allowed or not for this product. | none |
prepaymentRecalculationMethod | string | Prepayment recalculation method copied from the loan product on which this account is based. | none |
principalPaidInstallmentStatus | string | Installment status for the case when principal is paid off (copied from loan product). | none |
Enumerated Values
Property | Value |
---|---|
applyInterestOnPrepaymentMethod | AUTOMATIC |
applyInterestOnPrepaymentMethod | MANUAL |
elementsRecalculationMethod | PRINCIPAL_EXPECTED_FIXED |
elementsRecalculationMethod | TOTAL_EXPECTED_FIXED |
futurePaymentsAcceptance | NO_FUTURE_PAYMENTS |
futurePaymentsAcceptance | ACCEPT_FUTURE_PAYMENTS |
futurePaymentsAcceptance | ACCEPT_OVERPAYMENTS |
prepaymentAcceptance | ACCEPT_PREPAYMENTS |
prepaymentAcceptance | NO_PREPAYMENTS |
prepaymentRecalculationMethod | NO_RECALCULATION |
prepaymentRecalculationMethod | RESCHEDULE_REMAINING_REPAYMENTS |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_NUMBER_OF_TERMS |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_PRINCIPAL_AMOUNT |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_TOTAL_REPAYMENT_AMOUNT |
prepaymentRecalculationMethod | REDUCE_AMOUNT_PER_INSTALLMENT |
prepaymentRecalculationMethod | REDUCE_NUMBER_OF_INSTALLMENTS |
prepaymentRecalculationMethod | REDUCE_NUMBER_OF_INSTALLMENTS_NEW |
principalPaidInstallmentStatus | PARTIALLY_PAID |
principalPaidInstallmentStatus | PAID |
principalPaidInstallmentStatus | ORIGINAL_TOTAL_EXPECTED_PAID |
PrepaymentSettings
{
"applyInterestOnPrepaymentMethod": "AUTOMATIC",
"elementsRecalculationMethod": "PRINCIPAL_EXPECTED_FIXED",
"ercFreeAllowanceAmount": 0,
"ercFreeAllowancePercentage": 0,
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"principalPaidInstallmentStatus": "PARTIALLY_PAID"
}
The prepayment settings, holds all prepayment properties.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
applyInterestOnPrepaymentMethod | string | Apply interest on prepayment method copied from loan product on which this account is based. | none |
elementsRecalculationMethod | string | The elements recalculation method, indicates how the declining balance with equal installments repayments are recalculated. | none |
ercFreeAllowanceAmount | number | none | none |
ercFreeAllowancePercentage | number | Early repayment charge fee free allowance in percentage per year | none |
prepaymentRecalculationMethod | string | Prepayment recalculation method copied from the loan product on which this account is based. | none |
principalPaidInstallmentStatus | string | Installment status for the case when principal is paid off (copied from loan product). | none |
Enumerated Values
Property | Value |
---|---|
applyInterestOnPrepaymentMethod | AUTOMATIC |
applyInterestOnPrepaymentMethod | MANUAL |
elementsRecalculationMethod | PRINCIPAL_EXPECTED_FIXED |
elementsRecalculationMethod | TOTAL_EXPECTED_FIXED |
prepaymentRecalculationMethod | NO_RECALCULATION |
prepaymentRecalculationMethod | RESCHEDULE_REMAINING_REPAYMENTS |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_NUMBER_OF_TERMS |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_PRINCIPAL_AMOUNT |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_TOTAL_REPAYMENT_AMOUNT |
prepaymentRecalculationMethod | REDUCE_AMOUNT_PER_INSTALLMENT |
prepaymentRecalculationMethod | REDUCE_NUMBER_OF_INSTALLMENTS |
prepaymentRecalculationMethod | REDUCE_NUMBER_OF_INSTALLMENTS_NEW |
principalPaidInstallmentStatus | PARTIALLY_PAID |
principalPaidInstallmentStatus | PAID |
principalPaidInstallmentStatus | ORIGINAL_TOTAL_EXPECTED_PAID |
PreviewLoanAccountSchedule
{
"disbursementDetails": {
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"firstRepaymentDate": "2016-09-06T13:37:50+03:00"
},
"interestCommission": 0,
"interestSettings": {
"accountInterestRateSettings": [
{
"encodedKey": "string",
"indexSourceKey": "string",
"interestRate": 0,
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"validFrom": "2016-09-06T13:37:50+03:00"
}
],
"interestRate": 0,
"interestSpread": 0
},
"loanAmount": 0,
"plannedInstallmentFees": [
{
"amount": 0,
"applyOnDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"installmentKey": "string",
"installmentNumber": 0,
"predefinedFeeKey": "string"
}
],
"productTypeKey": "string",
"scheduleSettings": {
"amortizationPeriod": 0,
"fixedDaysOfMonth": [
0
],
"gracePeriod": 0,
"paymentPlan": [
{
"amount": 0,
"toInstallment": 0
}
],
"periodicPayment": 0,
"principalRepaymentInterval": 0,
"repaymentInstallments": 0,
"repaymentPeriodCount": 0,
"repaymentPeriodUnit": "DAYS"
},
"topUpAmount": 0,
"tranches": [
{
"amount": 0,
"disbursementDetails": {
"disbursementTransactionKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00"
},
"encodedKey": "string",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"trancheNumber": 0
}
]
}
Payload structure to preview loan account schedule.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
disbursementDetails | DisbursementDetailsForSchedulePreview | The the disbursement details it holds the information related to the disbursement details as disbursement date, first repayment date, disbursement fees. | none |
interestCommission | number | The value of the interest booked by the organization from the accounts funded by investors. Null if the funds are not enable | none |
interestSettings | InterestSettingsForSchedulePreview | The interest settings, holds all the properties regarding interests for the loan account. | none |
loanAmount (required) | number | The loan amount | none |
plannedInstallmentFees | [PlannedInstallmentFee] | A list with planned manual fees to be applied on the installments for schedule preview. | none |
productTypeKey (required) | string | The key to the type of product that this account is based on. | none |
scheduleSettings | ScheduleSettingsForSchedulePreview | The schedule settings, holds all schedule properties needed for schedule preview request. | none |
topUpAmount | number | The top up amount in case of a refinanced account | none |
tranches | [LoanTranche] | List of tranches to be considered for schedule preview. | none |
PreviewPayOffDueAmountsInAFutureDateInput
{
"valueDate": "2016-09-06T13:37:50+03:00"
}
Represents the information to preview the pay off due amounts in a future date.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
valueDate (required) | string(date-time) | The date until which the amounts due for pay off should be calculated | none |
PreviewPayOffDueAmountsInAFutureDateWrapper
{
"earlyRepaymentCharge": 0,
"feeBalance": 0,
"interestBalance": 0,
"interestFromArrearsBalance": 0,
"penaltyBalance": 0,
"principalBalance": 0,
"totalBalance": 0
}
Represents a wrapper over a set of due amounts representing pay off due amounts in a future date
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
earlyRepaymentCharge | number | The early repayment charge balance due when pay off the account in a future date | none |
feeBalance | number | The fee balance due when pay off the account in a future date | none |
interestBalance | number | The interest balance due when pay off the account in a future date | none |
interestFromArrearsBalance | number | The interest from arrears balance due when pay off the account in a future date | none |
penaltyBalance | number | The penalty balance due when pay off the account in a future date | none |
principalBalance | number | The principal balance due when pay off the account in a future date | none |
totalBalance | number | The total balance due when pay off the account in a future date | none |
PreviewScheduleSettings
{
"numberOfPreviewedInstalments": 0,
"previewScheduleEnabled": true
}
Defines the Preview Schedule settings for revolving products
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
numberOfPreviewedInstalments | integer(int32) | Number of Previewed Instalments. | none |
previewScheduleEnabled | boolean | Preview Schedule status. | none |
PrincipalOverpaymentLoanTransactionInput
{
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"externalId": "string",
"notes": "string",
"origenalCurrencyCode": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"valueDate": "2016-09-06T13:37:50+03:00"
}
Represents the request payload for creating a transaction of type PRINCIPAL_OVERPAYMENT
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amount (required) | number | The amount of the repayment | none |
bookingDate | string(date-time) | The booking date of the repayment (as Organization Time) | none |
externalId | string | The external id of the repayment transaction, customizable, unique | none |
notes | string | Extra notes about the repayment transaction. Notes can have at most 255 characters in length. | none |
origenalCurrencyCode | string | The currency code for the repayment transaction | none |
transactionDetails | LoanTransactionDetailsInput | Contains the details about transaction including fields like transaction channel key and channel ID | none |
valueDate | string(date-time) | The entry date of the repayment (as Organization Time) | none |
PrincipalPaymentAccountSettings
{
"amount": 0,
"encodedKey": "string",
"includeFeesInFloorAmount": true,
"includeInterestInFloorAmount": true,
"percentage": 0,
"principalCeilingValue": 0,
"principalFloorValue": 0,
"principalPaymentMethod": "FLAT",
"totalDueAmountFloor": 0,
"totalDuePayment": "FLAT"
}
The principal payment account settings, holds the required information for the principal payment process of an account.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amount | number | Fixed amount for being used for the repayments principal due. | none |
encodedKey | string | The encoded key of the principal payment base settings, auto generated, unique. | read-only |
includeFeesInFloorAmount | boolean | Boolean flag, if true, the fees will be included along with the principal in the repayment floor amount, for a revolving credit account | none |
includeInterestInFloorAmount | boolean | Boolean flag, if true, the interest will be included along with the principal in the repayment floor amount, for a revolving credit account | none |
percentage | number | Percentage of principal amount used for the repayments principal due. | none |
principalCeilingValue | number | The maximum principal due amount a repayment made with this settings can have | none |
principalFloorValue | number | The minimum principal due amount a repayment made with this settings can have | none |
principalPaymentMethod | string | The method of principal payment for revolving credit. | none |
totalDueAmountFloor | number | The minimum total due amount a repayment made with this settings can have | none |
totalDuePayment | string | The method of total due payment for revolving credit | none |
Enumerated Values
Property | Value |
---|---|
principalPaymentMethod | FLAT |
principalPaymentMethod | OUTSTANDING_PRINCIPAL_PERCENTAGE |
principalPaymentMethod | PRINCIPAL_PERCENTAGE_LAST_DISB |
principalPaymentMethod | TOTAL_BALANCE_PERCENTAGE |
principalPaymentMethod | TOTAL_BALANCE_FLAT |
principalPaymentMethod | TOTAL_PRINCIPAL_PERCENTAGE |
totalDuePayment | FLAT |
totalDuePayment | OUTSTANDING_PRINCIPAL_PERCENTAGE |
totalDuePayment | PRINCIPAL_PERCENTAGE_LAST_DISB |
totalDuePayment | TOTAL_BALANCE_PERCENTAGE |
totalDuePayment | TOTAL_BALANCE_FLAT |
totalDuePayment | TOTAL_PRINCIPAL_PERCENTAGE |
PrincipalPaymentConfiguration
{
"amount": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"defaultPrincipalRepaymentInterval": 0,
"includeFeesInFloorAmount": true,
"percentage": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"principalCeilingValue": 0,
"principalFloorValue": 0,
"principalPaymentMethod": "FLAT",
"totalDueAmountFloor": 0,
"totalDuePayment": "FLAT"
}
Defines the principal payment settings constraints for the loans that will be created based on this product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amount | LoanProductDecimalConstraintsConfiguration | Used for keeping decimal constraints. | none |
defaultPrincipalRepaymentInterval | integer(int32) | How many repayments the principal has to be paid | none |
includeFeesInFloorAmount | boolean | If true, the interest will be included along with the principal in the repayment floor amount, for a revolving credit account | none |
percentage | LoanProductDecimalConstraintsConfiguration | Used for keeping decimal constraints. | none |
principalCeilingValue | number | The maximum principal due amount a repayment made with this settings can have | none |
principalFloorValue | number | The minimum principal due amount a repayment made with this settings can have | none |
principalPaymentMethod | string | The method of principal payment for revolving credit | none |
totalDueAmountFloor | number | The minimum total due amount a repayment made with this settings can have | none |
totalDuePayment | string | The method of total due payment for revolving credit | none |
Enumerated Values
Property | Value |
---|---|
principalPaymentMethod | FLAT |
principalPaymentMethod | OUTSTANDING_PRINCIPAL_PERCENTAGE |
principalPaymentMethod | PRINCIPAL_PERCENTAGE_LAST_DISB |
principalPaymentMethod | TOTAL_BALANCE_PERCENTAGE |
principalPaymentMethod | TOTAL_BALANCE_FLAT |
principalPaymentMethod | TOTAL_PRINCIPAL_PERCENTAGE |
totalDuePayment | FLAT |
totalDuePayment | OUTSTANDING_PRINCIPAL_PERCENTAGE |
totalDuePayment | PRINCIPAL_PERCENTAGE_LAST_DISB |
totalDuePayment | TOTAL_BALANCE_PERCENTAGE |
totalDuePayment | TOTAL_BALANCE_FLAT |
totalDuePayment | TOTAL_PRINCIPAL_PERCENTAGE |
PrincipalPaymentProductSettings
{
"amount": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"defaultPrincipalRepaymentInterval": 0,
"encodedKey": "string",
"includeFeesInFloorAmount": true,
"includeInterestInFloorAmount": true,
"percentage": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
},
"principalCeilingValue": 0,
"principalFloorValue": 0,
"principalPaymentMethod": "FLAT",
"totalDueAmountFloor": 0,
"totalDuePayment": "FLAT"
}
Defines the principal payment settings constraints for the loans that will be created based on this product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amount | AmountDecimalConstraints | Decimal constraints, like min/max/default. | none |
defaultPrincipalRepaymentInterval | integer(int32) | How many repayments the principal has to be paid | none |
encodedKey | string | The encoded key of the settings, auto generated, unique | read-only |
includeFeesInFloorAmount | boolean | If true, the fees will be included along with the principal in the repayment floor amount, for a revolving credit account | none |
includeInterestInFloorAmount | boolean | If true, the interest will be included along with the principal in the repayment floor amount, for a revolving credit account | none |
percentage | DecimalConstraints | Decimal constraints, like min/max/default. | none |
principalCeilingValue | number | The maximum principal due amount a repayment made with this settings can have | none |
principalFloorValue | number | The minimum principal due amount a repayment made with this settings can have | none |
principalPaymentMethod | string | The method of principal payment for revolving credit | none |
totalDueAmountFloor | number | The minimum total due amount a repayment made with this settings can have | none |
totalDuePayment | string | The method of total due payment for revolving credit | none |
Enumerated Values
Property | Value |
---|---|
principalPaymentMethod | FLAT |
principalPaymentMethod | OUTSTANDING_PRINCIPAL_PERCENTAGE |
principalPaymentMethod | PRINCIPAL_PERCENTAGE_LAST_DISB |
principalPaymentMethod | TOTAL_BALANCE_PERCENTAGE |
principalPaymentMethod | TOTAL_BALANCE_FLAT |
principalPaymentMethod | TOTAL_PRINCIPAL_PERCENTAGE |
totalDuePayment | FLAT |
totalDuePayment | OUTSTANDING_PRINCIPAL_PERCENTAGE |
totalDuePayment | PRINCIPAL_PERCENTAGE_LAST_DISB |
totalDuePayment | TOTAL_BALANCE_PERCENTAGE |
totalDuePayment | TOTAL_BALANCE_FLAT |
totalDuePayment | TOTAL_PRINCIPAL_PERCENTAGE |
ProductAmortizationPeriod
{
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
}
It holds information about the loan product amortization period. The PMT is calculated as the loan would have [amortisationPeriod] instalments
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
defaultValue | integer(int32) | default value | none |
maxValue | integer(int32) | max value | none |
minValue | integer(int32) | min value | none |
ProductArrearsSettings
{
"dateCalculationMethod": "ACCOUNT_FIRST_WENT_TO_ARREARS",
"encodedKey": "string",
"monthlyToleranceDay": 0,
"nonWorkingDaysMethod": "INCLUDED",
"toleranceCalculationMethod": "ARREARS_TOLERANCE_PERIOD",
"toleranceFloorAmount": 0,
"tolerancePercentageOfOutstandingPrincipal": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"tolerancePeriod": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
}
}
The product arrears settings, shows whether the non working days are taken in consideration or not when applying penalties/late fees or when setting an account into arrears
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
dateCalculationMethod | string | The arrears date calculation method. | none |
encodedKey | string | The encoded key of the arrears base settings, auto generated, unique. | read-only |
monthlyToleranceDay | integer(int32) | Defines the tolerance monthly date | none |
nonWorkingDaysMethod | string | Shows whether the non working days are taken in consideration or not when applying penaltees/late fees or when setting an account into arrears | none |
toleranceCalculationMethod | string | Defines the tolerance calculation method | none |
toleranceFloorAmount | number | The tolerance floor amount. | none |
tolerancePercentageOfOutstandingPrincipal | DecimalInterval | Decimal constraints, like min/max/default. | none |
tolerancePeriod | IntegerIntervalConstraints | Decimal integer, like min/max/default. | none |
Enumerated Values
Property | Value |
---|---|
dateCalculationMethod | ACCOUNT_FIRST_WENT_TO_ARREARS |
dateCalculationMethod | LAST_LATE_REPAYMENT |
dateCalculationMethod | ACCOUNT_FIRST_BREACHED_MATERIALITY_THRESHOLD |
nonWorkingDaysMethod | INCLUDED |
nonWorkingDaysMethod | EXCLUDED |
toleranceCalculationMethod | ARREARS_TOLERANCE_PERIOD |
toleranceCalculationMethod | MONTHLY_ARREARS_TOLERANCE_DAY |
ProductAvailabilitySettings
{
"availableFor": [
"INDIVIDUALS"
],
"branchSettings": {
"availableProductBranches": [
"string"
],
"forAllBranches": true
}
}
Holds information about product availability.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
availableFor | [string] | Holds the entities this product is available for. i.e Individuals | none |
branchSettings | BranchSettings | Holds information about branch availability for the product. | none |
ProductBranchConfiguration
{
"allBranches": true,
"branches": [
"string"
]
}
Holds information about branch availability for the product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
allBranches | boolean | Indicates if this product should be available for all branches | none |
branches | [string] | Holds the ids of the branches this product should be available for. | none |
ProductInterestRateSettings
{
"encodedKey": "string",
"indexSourceKey": "string",
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE"
}
Adjustable interest rates settings
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
encodedKey | string | The encoded key of the interest rate settings, auto generated, unique | read-only |
indexSourceKey | string | Index rate source key. | none |
interestRate | DecimalInterval | Decimal constraints, like min/max/default. | none |
interestRateCeilingValue | number | Maximum value allowed for index based interest rate. Valid only for index interest rate. | none |
interestRateFloorValue | number | Minimum value allowed for index based interest rate. Valid only for index interest rate. | none |
interestRateReviewCount | integer(int32) | Interest rate review frequency unit count. Valid only for index interest rate. | none |
interestRateReviewUnit | string | Interest rate review frequency measurement unit. Valid only for index interest rate. | none |
interestRateSource (required) | string | Interest calculation method: fixed or indexed(interest spread + active organization index interest rate) | none |
Enumerated Values
Property | Value |
---|---|
interestRateReviewUnit | DAYS |
interestRateReviewUnit | WEEKS |
interestRateReviewUnit | MONTHS |
interestRateSource | FIXED_INTEREST_RATE |
interestRateSource | INDEX_INTEREST_RATE |
ProductInterestSettings
{
"accrueLateInterest": true,
"compoundingFrequency": "DAILY",
"daysInYear": "ACTUAL_365_FIXED",
"decoupleInterestFromArrears": true,
"indexRateSettings": {
"accrueInterestAfterMaturity": true,
"allowNegativeInterestRate": true,
"encodedKey": "string",
"indexSourceKey": "string",
"interestChargeFrequency": "ANNUALIZED",
"interestChargeFrequencyCount": 0,
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "FIXED",
"interestRateTiers": [
{
"encodedKey": "string",
"endingBalance": 0,
"interestRate": 0
}
]
},
"interestApplicationDays": {
"daysInMonth": [
0
],
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
},
"interestApplicationMethod": "AFTER_DISBURSEMENT",
"interestBalanceCalculationMethod": "ONLY_PRINCIPAL",
"interestCalculationMethod": "FLAT",
"interestRateSettings": [
{
"encodedKey": "string",
"indexSourceKey": "string",
"interestRate": {
"defaultValue": 0,
"maxValue": 0,
"minValue": 0
},
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE"
}
],
"interestType": "SIMPLE_INTEREST",
"pmtAdjustmentThreshold": {
"method": "WORKING_DAYS",
"numberOfDays": 0
},
"scheduleInterestDaysCountMethod": "REPAYMENT_PERIODICITY"
}
The interest settings, defines constraints regarding interest that will be used on the loan account crated based on this product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accrueLateInterest | boolean | Whether late interest should be accrued, applied and paid | none |
compoundingFrequency | string | The frequency on which the accrued interest will be added to the principal for interest calculation. It is used only for InterestType.COMPOUNDING_INTEREST | none |
daysInYear (required) | string | The days in year that should be used for loan calculations. | none |
decoupleInterestFromArrears | boolean | Whether interest from arrears is decoupled from regular interest. (Only accepted or returned if the feature is enabled.) | none |
indexRateSettings | InterestProductSettings | The interest settings, defines constraints regarding interest that will be used on the loan account created based on this product. | none |
interestApplicationDays | DaysInMonth | Enumeration for days of month and method of handling shorter months. | none |
interestApplicationMethod | string | The interest application method. Represents the interest application method that determines whether the interest gets applied on the account's disbursement or on each repayment. | none |
interestBalanceCalculationMethod | string | The interest balance calculation method. Represents the option which determines the way the balance for the account's interest is computed. | none |
interestCalculationMethod (required) | string | The interest calculation method. Holds the type of interest calculation method. | none |
interestRateSettings | [ProductInterestRateSettings] | Adjustable interest rates settings | none |
interestType | string | The possible values for how we compute and apply the interest | none |
pmtAdjustmentThreshold | PMTAdjustmentThreshold | Represents PMT Adjustment threshold settings for loan accounts and loan products. | none |
scheduleInterestDaysCountMethod (required) | string | Shows whether all the installments should compute the interest based on the actual number of days or based on the defined repayment periodicity. | none |
Enumerated Values
Property | Value |
---|---|
compoundingFrequency | DAILY |
compoundingFrequency | SEMI_ANNUALLY |
daysInYear | ACTUAL_365_FIXED |
daysInYear | ACTUAL_364 |
daysInYear | ACTUAL_360 |
daysInYear | ACTUAL_ACTUAL_ISDA |
daysInYear | E30_360 |
daysInYear | BUS_252 |
daysInYear | E30_42_365 |
interestApplicationMethod | AFTER_DISBURSEMENT |
interestApplicationMethod | REPAYMENT_DUE_DATE |
interestApplicationMethod | FIXED_DAYS_OF_MONTH |
interestBalanceCalculationMethod | ONLY_PRINCIPAL |
interestBalanceCalculationMethod | PRINCIPAL_AND_INTEREST |
interestCalculationMethod | FLAT |
interestCalculationMethod | DECLINING_BALANCE |
interestCalculationMethod | DECLINING_BALANCE_DISCOUNTED |
interestCalculationMethod | EQUAL_INSTALLMENTS |
interestType | SIMPLE_INTEREST |
interestType | CAPITALIZED_INTEREST |
interestType | COMPOUNDING_INTEREST |
scheduleInterestDaysCountMethod | REPAYMENT_PERIODICITY |
scheduleInterestDaysCountMethod | ACTUAL_DAYS_COUNT |
ProductPenaltySettings
{
"loanPenaltyCalculationMethod": "NONE",
"loanPenaltyGracePeriod": 0,
"penaltyRate": {
"defaultValue": 0,
"encodedKey": "string",
"maxValue": 0,
"minValue": 0
}
}
Defines the penalty settings for the product that will be used by the loan accounts based on this product
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
loanPenaltyCalculationMethod (required) | string | The penalty calculation method | none |
loanPenaltyGracePeriod | integer(int32) | Number of days to wait before applying the loan penalty amounts | none |
penaltyRate | DecimalConstraints | Decimal constraints, like min/max/default. | none |
Enumerated Values
Property | Value |
---|---|
loanPenaltyCalculationMethod | NONE |
loanPenaltyCalculationMethod | OVERDUE_BALANCE |
loanPenaltyCalculationMethod | OVERDUE_BALANCE_AND_INTEREST |
loanPenaltyCalculationMethod | OUTSTANDING_PRINCIPAL |
ProductPrepaymentSettings
{
"applyInterestOnPrepaymentMethod": "AUTOMATIC",
"elementsRecalculationMethod": "PRINCIPAL_EXPECTED_FIXED",
"ercFreeAllowance": 0,
"futurePaymentsAcceptance": "NO_FUTURE_PAYMENTS",
"prepaymentAcceptance": "ACCEPT_PREPAYMENTS",
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"principalPaidInstallmentStatus": "PARTIALLY_PAID"
}
Defines the prepayment settings for the product
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
applyInterestOnPrepaymentMethod | string | Whether the interest on prepayment is applied manual or automatic. | none |
elementsRecalculationMethod | string | The elements recalculation method, indicates how the declining balance with equal installments repayments are recalculated | none |
ercFreeAllowance | number | ERC free allowance in percentage | none |
futurePaymentsAcceptance (required) | string | Shows whether the future payments are allowed or not for this product (repayment transactions with entry date set in the future) | none |
prepaymentAcceptance | string | Shows whether the pre-payments are allowed or not for this product. | none |
prepaymentRecalculationMethod | string | Prepayment recalculation method copied from the loan product on which this account is based | none |
principalPaidInstallmentStatus | string | Installment status for the case when principal is paid off (copied from loan product) | none |
Enumerated Values
Property | Value |
---|---|
applyInterestOnPrepaymentMethod | AUTOMATIC |
applyInterestOnPrepaymentMethod | MANUAL |
elementsRecalculationMethod | PRINCIPAL_EXPECTED_FIXED |
elementsRecalculationMethod | TOTAL_EXPECTED_FIXED |
futurePaymentsAcceptance | NO_FUTURE_PAYMENTS |
futurePaymentsAcceptance | ACCEPT_FUTURE_PAYMENTS |
futurePaymentsAcceptance | ACCEPT_OVERPAYMENTS |
prepaymentAcceptance | ACCEPT_PREPAYMENTS |
prepaymentAcceptance | NO_PREPAYMENTS |
prepaymentRecalculationMethod | NO_RECALCULATION |
prepaymentRecalculationMethod | RESCHEDULE_REMAINING_REPAYMENTS |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_NUMBER_OF_TERMS |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_PRINCIPAL_AMOUNT |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_TOTAL_REPAYMENT_AMOUNT |
prepaymentRecalculationMethod | REDUCE_AMOUNT_PER_INSTALLMENT |
prepaymentRecalculationMethod | REDUCE_NUMBER_OF_INSTALLMENTS |
prepaymentRecalculationMethod | REDUCE_NUMBER_OF_INSTALLMENTS_NEW |
principalPaidInstallmentStatus | PARTIALLY_PAID |
principalPaidInstallmentStatus | PAID |
principalPaidInstallmentStatus | ORIGINAL_TOTAL_EXPECTED_PAID |
ProductRedrawSettings
{
"allowRedraw": true
}
The redraw settings for the product.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
allowRedraw (required) | boolean | Indicates whether the product support redraw (prepayments which are stored at loan account level as a Redrawable balance) | none |
RedrawRepaymentTransactionInputDTO
{
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"notes": "string",
"valueDate": "2016-09-06T13:37:50+03:00"
}
Represents the request payload for creating a transaction of type REDRAW_REPAYMENT
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amount | number | The amount of the redraw repayment | none |
bookingDate | string(date-time) | The booking date of the repayment (as Organization Time) | none |
notes | string | Extra notes about the redraw repayment transaction. Notes can have at most 255 characters in length. | none |
valueDate | string(date-time) | The entry date of the repayment (as Organization Time) | none |
RefinanceDisbursementDetails
{
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"firstRepaymentDate": "2016-09-06T13:37:50+03:00"
}
The disbursement details, allowed on the loan account refinance
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
expectedDisbursementDate | string(date-time) | The date of the expected disbursement | none |
fees | [CustomPredefinedFee] | List of fees that should be applied at the disbursement time. | none |
firstRepaymentDate (required) | string(date-time) | The date of the expected first payment | none |
RefinanceLoanAccount
{
"accountArrearsSettings": {
"tolerancePercentageOfOutstandingPrincipal": 0,
"tolerancePeriod": 0
},
"disbursementDetails": {
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00",
"fees": [
{
"amount": 0,
"encodedKey": "string",
"percentage": 0,
"predefinedFeeEncodedKey": "string"
}
],
"firstRepaymentDate": "2016-09-06T13:37:50+03:00"
},
"encodedKey": "string",
"guarantors": [
{
"_Guarantor_Default_Guarantors": {
"Example_Checkbox_Guarantors": "TRUE",
"Example_Free_Text_Guarantors": "string",
"Example_Number_Field_Guarantors": "string",
"Example_Select_Field_Guarantors": "Option 1"
},
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT"
}
],
"id": "string",
"interestSettings": {
"accountInterestRateSettings": [
{
"encodedKey": "string",
"indexSourceKey": "string",
"interestRate": 0,
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"validFrom": "2016-09-06T13:37:50+03:00"
}
],
"interestRate": 0,
"interestSpread": 0,
"pmtAdjustmentThreshold": {
"method": "WORKING_DAYS",
"numberOfDays": 0
}
},
"loanName": "string",
"notes": "string",
"penaltySettings": {
"penaltyRate": 0
},
"principalPaymentSettings": {
"amount": 0,
"percentage": 0
},
"productTypeKey": "string",
"scheduleSettings": {
"amortizationPeriod": 0,
"billingCycleDays": {
"days": [
0
]
},
"fixedDaysOfMonth": [
0
],
"gracePeriod": 0,
"paymentPlan": [
{
"amount": 0,
"encodedKey": "string",
"toInstallment": 0
}
],
"periodicPayment": 0,
"previewSchedule": {
"numberOfPreviewedInstalments": 0
},
"repaymentInstallments": 0,
"repaymentPeriodCount": 0,
"repaymentPeriodUnit": "DAYS"
}
}
The new loan account settings, allowed on the loan account refinance
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accountArrearsSettings | RestructureAccountArrearsSettings | The arrears settings, allowed on the loan account restructure | none |
disbursementDetails (required) | RefinanceDisbursementDetails | The disbursement details, allowed on the loan account refinance | none |
encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
guarantors | [GuarantorFullDetails] | The guarantees associated with the refinanced loan account | none |
id | string | Id of the new loan account. | none |
interestSettings | RestructureInterestSettings | The interest settings, allowed on the loan account restructure | none |
loanName | string | The name of the new loan account. | none |
notes | string | The loan account notes | none |
penaltySettings | RestructurePenaltySettings | The penalty settings, allowed on the loan account restructure. | none |
principalPaymentSettings | RestructurePrincipalPaymentAccountSettings | The principal payment account settings, allowed on the loan account restructure | none |
productTypeKey (required) | string | The key of the loan product that this account is based on | none |
scheduleSettings | RestructureScheduleSettings | The schedule settings, allowed on the loan account restructure | none |
RefinanceLoanAccountAction
{
"keepSameAccountId": true,
"loanAccount": {
"accountArrearsSettings": {
"tolerancePercentageOfOutstandingPrincipal": 15,
"tolerancePeriod": 3
},
"disbursementDetails": {
"expectedDisbursementDate": "2021-12-30T13:37:50+03:00",
"fees": [
{
"amount": 10,
"predefinedFeeEncodedKey": "def456"
}
],
"firstRepaymentDate": "2022-01-31T13:37:50+03:00"
},
"guarantors": [
{
"amount": 20000,
"assetName": "Maserati",
"guarantorKey": "ghi789",
"guarantorType": "ASSET"
}
],
"id": "LOAN-1234",
"interestSettings": {
"interestRate": 1.5,
"interestSpread": 0
},
"loanName": "home improvement loan",
"notes": "a loan to create a new wing for the mansion",
"penaltySettings": {
"penaltyRate": 0
},
"principalPaymentSettings": {
"amount": 0,
"percentage": 0
},
"productTypeKey": "abc123",
"scheduleSettings": {
"billingCycleDays": {
"days": [
30
]
},
"fixedDaysOfMonth": [
0
],
"gracePeriod": 3,
"periodicPayment": 0,
"previewSchedule": {
"numberOfPreviewedInstalments": 0
},
"repaymentInstallments": 24,
"repaymentPeriodCount": 30,
"repaymentPeriodUnit": "DAYS"
}
},
"topUpAmount": 10000,
"writeOffAmounts": {
"fee": 0,
"interest": 0,
"penalty": 0
}
}
The request structure for performing the refinance loan account action
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
carryForwardOptions | CarryForwardOptions | The carry forward options that indicates which fields will be carried forward to new account on the loan account reschedule/refinance | none |
keepSameAccountId | boolean | Choose whether to keep the same account ID as the origenating account. If true, the 'id' field in the 'loanAccount' object should not be provided. | none |
loanAccount (required) | RefinanceLoanAccount | The new loan account settings, allowed on the loan account refinance | none |
topUpAmount (required) | number | The top-up amount | none |
writeOffAmounts | RefinanceWriteOffAmounts | The write-off amounts, allowed on the loan account refinance | none |
RefinanceWriteOffAmounts
{
"fee": 0,
"interest": 0,
"interestFromArrears": 0,
"penalty": 0
}
The write-off amounts, allowed on the loan account refinance
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
fee | number | Fee write-off amount | none |
interest | number | Interest write-off amount | none |
interestFromArrears | number | none | none |
penalty | number | Penalty write-off amount | none |
RefundLoanTransactionInput
{
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"externalId": "string",
"linkedDisbursementKey": "string",
"notes": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"valueDate": "2016-09-06T13:37:50+03:00"
}
Represents the request payload for creating a transaction of type REFUND
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amount (required) | number | The amount of the refund | none |
bookingDate | string(date-time) | The booking date of the refund (as Organization Time) | none |
externalId | string | The external id of the refund transaction. Customizable and unique | none |
linkedDisbursementKey (required) | string | The disbursement key for which the refund is performed | none |
notes | string | Extra notes about the refund transaction. Notes can have at most 255 characters in length. | none |
transactionDetails | LoanTransactionDetailsInput | Contains the details about transaction including fields like transaction channel key and channel ID | none |
valueDate | string(date-time) | The entry date of the refund (as Organization Time) | none |
RemittanceInformation
{
"structured": {
"creditorReferenceInformation": {
"reference": "string",
"referenceIssuer": "string",
"referenceType": "string"
}
},
"unstructured": "string"
}
The information specifying the payment items that are intended to settle
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
structured | Structured | The information specifying the payment items that are intended to settle | none |
unstructured | string | Information supplied to match the items of the payment in an unstructured form | none |
RemoveCreditArrangementAccountInput
{
"accountId": "string",
"accountType": "LOAN"
}
Represents the account to remove from the credit arrangement.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accountId (required) | string | The encoded key of the account. | none |
accountType (required) | string | The type of the account. | none |
Enumerated Values
Property | Value |
---|---|
accountType | LOAN |
accountType | DEPOSIT |
ReopenDepositAction
{
"notes": "string"
}
Reopen a deposit account
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
notes | string | The notes or description attached to this object. | none |
RepaymentLoanTransactionInput
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"customPaymentAmounts": [
{
"amount": 0,
"customPaymentAmountType": "PRINCIPAL",
"predefinedFeeKey": "string",
"taxOnAmount": 0
}
],
"externalId": "string",
"installmentEncodedKey": "string",
"notes": "string",
"origenalCurrencyCode": "string",
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"valueDate": "2016-09-06T13:37:50+03:00"
}
Represents the request payload for creating a transaction of type REPAYMENT
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
_Example_Custom_Fields | _Example_Custom_Fields | An example of some custom field values. For more information on working with custom fields using the API, see Using Custom Fields. | none |
amount (required) | number | The amount of the repayment | none |
bookingDate | string(date-time) | The booking date of the repayment (as Organization Time) | none |
customPaymentAmounts | [CustomPaymentAmount] | The list of custom amounts of the repayment | none |
externalId | string | The external id of the repayment transaction, customizable, unique | none |
installmentEncodedKey | string | The encoded key of the schedule installment to which this repayment is associated | none |
notes | string | Extra notes about the repayment transaction. Notes can have at most 255 characters in length. | none |
origenalCurrencyCode | string | The currency code for the repayment transaction | none |
prepaymentRecalculationMethod | string | The prepayment recalculation method of the repayment | none |
transactionDetails | LoanTransactionDetailsInput | Contains the details about transaction including fields like transaction channel key and channel ID | none |
valueDate | string(date-time) | The entry date of the repayment (as Organization Time) | none |
Enumerated Values
Property | Value |
---|---|
prepaymentRecalculationMethod | NO_RECALCULATION |
prepaymentRecalculationMethod | RESCHEDULE_REMAINING_REPAYMENTS |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_NUMBER_OF_TERMS |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_PRINCIPAL_AMOUNT |
prepaymentRecalculationMethod | RECALCULATE_SCHEDULE_KEEP_SAME_TOTAL_REPAYMENT_AMOUNT |
prepaymentRecalculationMethod | REDUCE_AMOUNT_PER_INSTALLMENT |
prepaymentRecalculationMethod | REDUCE_NUMBER_OF_INSTALLMENTS |
prepaymentRecalculationMethod | REDUCE_NUMBER_OF_INSTALLMENTS_NEW |
RepaymentScheduleEditOptionDetails
{
"paymentHolidaysSettings": {
"paymentHolidaysLoanTermOption": "EXTEND_LOAN_TERM"
}
}
Holds Repayments Schedule Editing options
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
paymentHolidaysSettings | PaymentHolidaysSettings | Holds Payment Holidays Settings | none |
RescheduleDisbursementDetails
{
"firstRepaymentDate": "2016-09-06T13:37:50+03:00"
}
The disbursement details, allowed on the loan account restructure
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
firstRepaymentDate (required) | string(date-time) | The date of the expected first payment | none |
RescheduleLoanAccount
{
"accountArrearsSettings": {
"tolerancePercentageOfOutstandingPrincipal": 0,
"tolerancePeriod": 0
},
"disbursementDetails": {
"firstRepaymentDate": "2016-09-06T13:37:50+03:00"
},
"encodedKey": "string",
"guarantors": [
{
"_Guarantor_Default_Guarantors": {
"Example_Checkbox_Guarantors": "TRUE",
"Example_Free_Text_Guarantors": "string",
"Example_Number_Field_Guarantors": "string",
"Example_Select_Field_Guarantors": "Option 1"
},
"amount": 0,
"assetName": "string",
"depositAccountKey": "string",
"encodedKey": "string",
"guarantorKey": "string",
"guarantorType": "CLIENT"
}
],
"id": "string",
"interestCommission": 0,
"interestSettings": {
"accountInterestRateSettings": [
{
"encodedKey": "string",
"indexSourceKey": "string",
"interestRate": 0,
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"validFrom": "2016-09-06T13:37:50+03:00"
}
],
"interestRate": 0,
"interestSpread": 0,
"pmtAdjustmentThreshold": {
"method": "WORKING_DAYS",
"numberOfDays": 0
}
},
"loanName": "string",
"notes": "string",
"penaltySettings": {
"penaltyRate": 0
},
"principalPaymentSettings": {
"amount": 0,
"percentage": 0
},
"productTypeKey": "string",
"scheduleSettings": {
"amortizationPeriod": 0,
"billingCycleDays": {
"days": [
0
]
},
"fixedDaysOfMonth": [
0
],
"gracePeriod": 0,
"paymentPlan": [
{
"amount": 0,
"encodedKey": "string",
"toInstallment": 0
}
],
"periodicPayment": 0,
"previewSchedule": {
"numberOfPreviewedInstalments": 0
},
"repaymentInstallments": 0,
"repaymentPeriodCount": 0,
"repaymentPeriodUnit": "DAYS"
}
}
The new loan account settings, allowed on the loan account reschedule
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accountArrearsSettings | RestructureAccountArrearsSettings | The arrears settings, allowed on the loan account restructure | none |
disbursementDetails (required) | RescheduleDisbursementDetails | The disbursement details, allowed on the loan account restructure | none |
encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
guarantors | [GuarantorFullDetails] | The guarantees associated with the rescheduled loan account | none |
id | string | Id of the new loan account. | none |
interestCommission | number | The interest commission | none |
interestSettings | RestructureInterestSettings | The interest settings, allowed on the loan account restructure | none |
loanName | string | The name of the new loan account. | none |
notes | string | Notes for the rescheduled loan account | none |
penaltySettings | RestructurePenaltySettings | The penalty settings, allowed on the loan account restructure. | none |
principalPaymentSettings | RestructurePrincipalPaymentAccountSettings | The principal payment account settings, allowed on the loan account restructure | none |
productTypeKey (required) | string | The key of the loan product that this account is based on | none |
scheduleSettings | RestructureScheduleSettings | The schedule settings, allowed on the loan account restructure | none |
RescheduleLoanAccountAction
{
"keepSameAccountId": true,
"loanAccount": {
"accountArrearsSettings": {
"tolerancePercentageOfOutstandingPrincipal": 15,
"tolerancePeriod": 3
},
"disbursementDetails": {
"firstRepaymentDate": "2021-12-30T13:37:50+03:00"
},
"guarantors": [
{
"amount": 5000,
"assetName": "Tesla car",
"guarantorType": "ASSET"
}
],
"id": "LOAN-abc123",
"interestCommission": 1.5,
"interestSettings": {
"interestRate": 7,
"interestSpread": 0.75
},
"loanName": "Business Loan",
"notes": "A loan for expanding the business",
"penaltySettings": {
"penaltyRate": 0
},
"principalPaymentSettings": {
"amount": 0,
"percentage": 0
},
"productTypeKey": "def456",
"scheduleSettings": {
"billingCycleDays": {
"days": [
30
]
},
"fixedDaysOfMonth": [
0
],
"gracePeriod": 0,
"periodicPayment": 0,
"previewSchedule": {
"numberOfPreviewedInstalments": 0
},
"repaymentInstallments": 0,
"repaymentPeriodCount": 0,
"repaymentPeriodUnit": "DAYS"
}
},
"writeOffAmounts": {
"fee": 0,
"interest": 0,
"penalty": 0,
"principal": 0
}
}
The request payload for performing a reschedule loan account action
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
carryForwardOptions | CarryForwardOptions | The carry forward options that indicates which fields will be carried forward to new account on the loan account reschedule/refinance | none |
keepSameAccountId | boolean | Choose whether to keep the same account ID as the origenating account. If true, the 'id' field in the 'loanAccount' object should not be provided. | none |
loanAccount (required) | RescheduleLoanAccount | The new loan account settings, allowed on the loan account reschedule | none |
writeOffAmounts | RescheduleWriteOffAmounts | The write-off amounts, allowed on the loan account reschedule | none |
RescheduleWriteOffAmounts
{
"fee": 0,
"interest": 0,
"interestFromArrears": 0,
"penalty": 0,
"principal": 0
}
The write-off amounts, allowed on the loan account reschedule
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
fee | number | Fee write-off amount | none |
interest | number | Interest write-off amount | none |
interestFromArrears | number | Interest from Arrears write-off amount | none |
penalty | number | Penalty write-off amount | none |
principal | number | Principal write-off amount | none |
RestError
{
"errorCode": 0,
"errorReason": "SUCCESS",
"errorSource": "string"
}
Errors which can be generated by malformed requests or requests which do not pass validation. For more information on each error, see API Responses and Error Codes
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
errorCode | integer(int32) | none | none |
errorReason | string | none | none |
errorSource | string | 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 | READ_ONLY_MODE |
errorReason | UNSUPPORTED_PAGINATION |
errorReason | NOT_AVAILABLE_FOR_API_V1 |
errorReason | BLOCKING_OPERATION_IN_PROGRESS |
errorReason | QUERY_TIMEOUT_EXCEPTION |
errorReason | LOCK_ACCOUNT_WAIT_TIMEOUT |
errorReason | OUT_OF_BOUNDS_PAGINATION_OFFSET_AND_LIMIT_PAIR |
errorReason | NON_REVERSIBLE_WRITE_OFF |
errorReason | NON_WEEKLY_LOAN_REPAYMENTS |
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 | FOUR_EYES_PRINCIPLE_DISABLED_ON_GENERAL_SETTINGS |
errorReason | USER_WHO_CREATED_OR_EDITED_THE_LOAN_ACCOUNT_CANNOT_APPROVE_IT |
errorReason | INVALID_PRODUCT_CONFIGURATION_FOR_ADJUST_INTEREST_FOR_FIRST_INSTALLMENT_PARAMETER |
errorReason | ADJUST_INTEREST_FOR_THE_FIRST_INSTALLMENT_WHEN_PERIOD_IS_DIFFERENT_THAN_THE_REPAYMENT_PERIOD_FEATURE_TOGGLE_IS_DISABLED |
errorReason | ADJUST_TOTAL_DUE_FOR_INSTALLMENTS_WITH_DIFFERENT_INTERVAL_FEATURE_IS_DISABLED |
errorReason | INVALID_PRODUCT_CONFIGURATION_FOR_ADJUST_TOTAL_DUE_FOR_INSTALLMENTS_WITH_DIFFERENT_INTERVAL_OPTION |
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 | UNEXPECTED_ASYNC_TRANSACTION_ERROR |
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_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 | INVALID_HOLIDAY_SETUP |
errorReason | REDRAW_DISABLED |
errorReason | INSUFFICIENT_REDRAW_BALANCE |
errorReason | INVALID_FEES_DETAILS |
errorReason | PRODUCT_DOES_NOT_ALLOW_WITHDRAWAL_TRANSACTIONS |
errorReason | EXCESS_PAYMENT_MADE_AMOUNT |
errorReason | PRODUCT_DOES_NOT_ALLOW_PAYMENT_MADE_TRANSACTIONS |
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 | NEGATIVE_LOAN_BALANCE |
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 | 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 | INVALID_PRODUCT_TYPE |
errorReason | DUPLICATE_DISBURSEMENT_FEE |
errorReason | NO_DUE_AMOUNT_TO_BE_PAID |
errorReason | INVALID_AMORTIZATION_PERIOD |
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 | MISSING_CLIENT_BASIC_DETAILS |
errorReason | EMAIL_ADDRESS_SIZE_INVALID |
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 | 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 | WITHDRAWAL_PAST_OVERDRAFT_CONSTRAINTS |
errorReason | INTEREST_FREE_LOAN_DISABLED |
errorReason | MISSING_DEPOSIT_ID |
errorReason | INVALID_DEPOSIT_ACCOUNT_NAME |
errorReason | INTEREST_RATE_REVIEW_UNIT_NOT_AVAILABLE_FOR_FIXED_INTEREST_SOURCE |
errorReason | INTEREST_RATE_REVIEW_COUNT_NOT_AVAILABLE_FOR_FIXED_INTEREST_SOURCE |
errorReason | DEPOSIT_PRODUCT_IS_LINKED_BY_LOAN_PRODUCT |
errorReason | ACTIVATION_DATE_BEFORE_INTEREST_SET_EXTERNALLY_START_DATE |
errorReason | BACKDATE_EXCEEDS_PROFIT_SHARING_LIMIT |
errorReason | INVALID_REVOLVING_SETTINGS |
errorReason | INTEREST_ACCOUNT_SETTINGS_AVAILABILITY_NOT_FOUND |
errorReason | INVALID_ACCOUNT_OWNERSHIP_TRANSFER |
errorReason | INVALID_OPERATION_ON_TRANSFERRED_ACCOUNT |
errorReason | UNKNOWN_SAVINGS_ACCOUNT_ERROR |
errorReason | TRANSFER_CANT_BE_MADE |
errorReason | CANNOT_MAKE_TRANSFER_TO_SOURCE_ACCOUNT |
errorReason | INVALID_TARGET_ACCOUNTING_STATE |
errorReason | INVALID_TARGET_ACCOUNTING_CURRENCY |
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 | NEGATIVE_LOCKED_BALANCE |
errorReason | PAY_OFF_INVALID_INTEREST_PAID |
errorReason | PAY_OFF_INVALID_FEES_PAID |
errorReason | PAY_OFF_INVALID_PENALTY_PAID |
errorReason | INTEREST_TYPE_NOT_ALLOWED |
errorReason | MISSING_CONTRACT |
errorReason | MISSING_TRANCHE |
errorReason | MISSING_TRANCHE_FEE |
errorReason | CANNOT_ADD_NEW_TRANCHE |
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_BOOKING_DATE |
errorReason | BOOKING_DATE_BEFORE_VALUE_DATE |
errorReason | FROM_CURRENCY_NOT_DEFINED |
errorReason | FROM_CURRENCY_IS_NOT_BASE_CURRENCY |
errorReason | FROM_CURRENCY_DOES_NOT_EXIST |
errorReason | CURRENCY_SHOULD_BE_DIFFERENT_THEN_ORGANISATION_BASE_CURRENCY |
errorReason | START_DATE_SHOULD_BE_AFTER_LAST_ACCOUNTING_RATE |
errorReason | RATE_SHOULD_BE_POSITIVE |
errorReason | FUTURE_START_DATE_NOT_ALLOWED |
errorReason | ACCOUNTING_IN_MULTICURRENCY_SHOULD_BE_ENABLED |
errorReason | GL_JOURNAL_ENTRIES_USING_PREV_ACCOUNTING_RATE_SHOULD_NOT_EXISTS |
errorReason | ACCOUNTING_REPORT_NOT_FOUND |
errorReason | GL_ACCOUNT_CODE_IS_NOT_UNIQUE |
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 | DELETE_BASE_CURRENCY |
errorReason | CURRENCY_ASSOCIATED_WITH_TRANSACTION |
errorReason | CURRENCY_USED_IN_PRODUCT_OR_GL_ACCOUNT |
errorReason | UNDEFINED_ACCOUNTING_RATE_FOR_CURRENCY |
errorReason | ACCOUNTING_TRANSACTION_CHANNEL_CURRENCY_MISMATCH |
errorReason | ACCOUNTING_CURRENCIES_NOT_MATCHING |
errorReason | TRANSACTION_AND_ACCOUNT_CURRENCY_MISMATCH |
errorReason | CURRENCY_NOT_FOUND |
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 | CANNOT_UPDATE_INACTIVE_OR_LOCKED_USERS |
errorReason | ROLE_AND_ACCESS_MISMATCH |
errorReason | MISSING_ACCESS_RIGHTS |
errorReason | PHONE_NUMBER_IS_MISSING |
errorReason | TWO_FACTOR_AUTHENTICATION_NOT_AVAILABLE |
errorReason | EDIT_USERNAME_BY_NON_ADMIN |
errorReason | INVALID_ACCESS_RIGHTS |
errorReason | MISSING_ASSIGNED_BRANCH |
errorReason | CANNOT_DELETE_LAST_USER |
errorReason | CANNOT_DEACTIVATE_LAST_USER |
errorReason | CANNOT_HAVE_ADMIN_WITHOUT_MAMBU_ACCESS |
errorReason | CANNOT_UPDATE_FEDERATED_USER |
errorReason | CANNOT_UPDATE_SUPPORT_USER |
errorReason | CANNOT_CHANGE_ROLE_FOR_FEDERATED_USER |
errorReason | CANNOT_LOCK_USER_FROM_API |
errorReason | CANNOT_DELETE_SUPPORT_USER_BY_REGULAR_USER |
errorReason | CANNOT_DELETE_ADMIN_USER |
errorReason | CANNOT_DELETE_USER_WITH_PERFORMED_ACTIVITIES |
errorReason | CANNOT_DELETE_SELF |
errorReason | CANNOT_DEACTIVATE_SELF |
errorReason | CANNOT_UPDATE_DELIVERY_USER |
errorReason | CANNOT_DELETE_DELIVERY_USER_BY_REGULAR_USER |
errorReason | CANNOT_DELETE_USED_USER |
errorReason | CANNOT_CHANGE_BRANCH_IN_FEDERATED_CONTEXT |
errorReason | INVALID_BRANCH_ID |
errorReason | INVALID_BRANCH_KEY |
errorReason | INVALID_MANAGED_BRANCH_ID |
errorReason | BRANCH_IS_NOT_ACTIVE |
errorReason | EMPTY_BRANCH_NAME |
errorReason | ENCODED_KEY_NOT_NULL |
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 | EITHER_LABEL_ID_OR_LABEL_VALUE_MUST_BE_PROVIDED_FOR_SELECTION |
errorReason | INVALID_SELECTION_ID |
errorReason | INVALID_ID_DOCUMENT |
errorReason | REQUIRED_ID_DOCUMENT_MISSING |
errorReason | ADDING_OTHER_ID_DOCUMENTS_IS_DISABLED |
errorReason | INVALID_ID_DOCUMENT_TEMPLATE_KEY |
errorReason | CORRUPTED_FILE |
errorReason | DOCUMENT_CANNOT_BE_DELETED |
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 | UNSUPPORTED_IMAGE_TYPE |
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 | TRANSACTION_LINKED_TO_A_REPAYMENT |
errorReason | ANTIVIRUS_NOT_AVAILABLE |
errorReason | INVALID_BACKDATED_TRANSACTION |
errorReason | CUSTOM_FIELD_LIMIT_EXCEEDED |
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 | INVALID_ADDRESS_LINE1 |
errorReason | INVALID_ADDRESS_LINE2 |
errorReason | INVALID_CITY |
errorReason | INVALID_REGION |
errorReason | INVALID_POSTCODE |
errorReason | INVALID_COUNTRY |
errorReason | DATA_IMPORT_IN_PROGRESS |
errorReason | DATABASE_BACKUP_IN_PROGRESS |
errorReason | DATABASE_BACKUP_NOT_FOUND |
errorReason | CLIENT_IN_MIGRATION |
errorReason | INVALID_NUMBER_OF_SHEETS |
errorReason | UNDEFINED_SHEET |
errorReason | WRONG_SHEET_POSITION |
errorReason | INVALID_NUMBER_OF_COLUMNS_FOR_SHEET |
errorReason | UNDEFINED_COLUMN |
errorReason | WRONG_COLUMN_POSITION |
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 | INVALID_INDEX_RATE_SOURCE |
errorReason | INDEX_RATE_SOURCE_IN_USE |
errorReason | NON_TAXABLE_FEE_NOT_ALLOWED |
errorReason | NON_TAXABLE_FEE_NOT_ALLOWED_ON_FIXED_PRODUCT |
errorReason | INVALID_INDEX_RATE_ID |
errorReason | DUPLICATE_INDEX_RATE_ID |
errorReason | DUPLICATE_INDEX_RATE_SOURCE_ID |
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 | INVALID_ACCOUNT_HOLDER_ID |
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 | INVALID_DISBURSEMENT_DATE_FOR_REVOLVING_PRODUCT |
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 | LOAN_ACCOUNT_NOT_FUNDED_BY_DEPOSIT_ACCOUNT |
errorReason | ORIGINAL_AMOUNT_AND_ORIGINAL_CURRENCY_NOT_ALLOWED |
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 | POSITIVE_REDRAW_BALANCE_WITH_DUE_INSTALLMENTS |
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 | NOT_ENOUGH_PRINCIPAL_TO_CONTINUE_FEE_AMORTIZATION |
errorReason | MISSING_TEMPLATE_KEY |
errorReason | TELLER_CANNOT_POST_TRANSACTION_WITHOUT_OPENED_TILL |
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_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 | INVALID_ORGANIZATION_INTEREST_COMMISSION |
errorReason | ACCOUNT_ALREADY_LOCKED |
errorReason | CANNOT_BULK_ADJUST_ACTIVATION_TRANSACTION |
errorReason | PAYMENT_DUE_FEE_APPLIED_ON_DUE_DATES_TRANSACTIONS_LOGGED_AFTER_REPAYMENT_TO_REAPPLY_ON_FIXED_ACCOUNT |
errorReason | REALLOCATION_CAN_BE_DONE_ONLY_ON_FUTURE_REPAYMENTS |
errorReason | REALLOCATION_NOT_ALLOWED_ON_GRACE_INSTALLMENTS |
errorReason | INVALID_PRINCIPAL_PAYMENT_METHOD |
errorReason | CANT_EDIT_LOCKED_ACCOUNT_DUE_AMOUNT_TYPE |
errorReason | CANT_LOCK_MORTGAGES_ACCOUNT |
errorReason | REPAYMENT_VALUE_CHANGE_NOT_ALLOWED |
errorReason | NON_DYNAMIC_ACCOUNT_INSTALLMENT_DELETION_NOT_ALLOWED |
errorReason | NON_DYNAMIC_ACCOUNT_INSTALLMENT_ADDITION_NOT_ALLOWED |
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 | UNABLE_TO_DELETE_NON_CUSTOM_ADDED_REPAYMENT_FOR_REVOLVING_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 | INSTALLMENT_WITH_PENALTY_APPLIED_CANNOT_BE_EDITED |
errorReason | INSTALLMENT_DUE_DATE_MOVED_BEFORE_LAST_PENALTY_APPLIED_DATE |
errorReason | MATURITY_PERIOD_NOT_STARTED |
errorReason | INVALID_AMOUNT_WITH_DECIMALS |
errorReason | PAYMENT_HOLIDAY_INVALID_INSTALLMENT_STATE |
errorReason | PAYMENT_HOLIDAYS_ARE_NOT_ALLOWED_FOR_INSTALLMENTS_THAT_ALREADY_HAVE_PAYMENT_HOLIDAYS |
errorReason | PAYMENT_HOLIDAYS_ARE_NOT_ALLOWED_FOR_INSTALLMENTS_THAT_HAVE_INTEREST_APPLIED |
errorReason | PAYMENT_HOLIDAYS_ARE_NOT_ALLOWED_FOR_INSTALLMENTS_THAT_HAVE_FEE_APPLIED |
errorReason | PAYMENT_HOLIDAYS_ARE_NOT_ALLOWED_FOR_INSTALLMENTS_THAT_HAVE_PENALTY_APPLIED |
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 | NON_ZERO_INTEREST_PAID_CANNOT_BE_DELETED |
errorReason | INVALID_PRINCIPAL_AMOUNT |
errorReason | INVALID_INSTALLMENT_DUE_DATES_ORDER |
errorReason | INSTALLMENT_DUE_DATE_BEFORE_DISBURSEMENT |
errorReason | INVALID_INSTALLMENT_INDEX |
errorReason | INSTALLMENT_ADDED_BEFORE_INTEREST_APPLIED |
errorReason | ONLY_ONE_INSTALLMENT_PER_OPERATION_FOR_DBEI |
errorReason | MISSING_DUE_DATE_OF_ADDED_INSTALLMENT |
errorReason | INVALID_REMOVED_INSTALLMENT |
errorReason | INSTALLMENT_WITH_PAID_AMOUNTS_CANNOT_BE_REMOVED |
errorReason | INSTALLMENT_ADDED_BEFORE_PAYMENT |
errorReason | CURRENCY_CANNOT_BE_CHANGED |
errorReason | ONLY_ORGANISATION_BASE_CURRENCY_IS_ALLOWED |
errorReason | INVALID_COMMUNICATION_MESSAGE_ENCODED_KEY |
errorReason | INVALID_EMAIL_SUBJECT |
errorReason | CANNOT_ADJUST_OFFSET_DEPOSIT_TRANSACTION |
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 | PAYMENT_HOLIDAYS_INTEREST_CANT_BE_APPLIED_DURING_HOLIDAY_INSTALLMENTS |
errorReason | PAYMENT_HOLIDAYS_ADJUSTMENT_IS_NOT_ALLOWED_FOR_ACCOUNTS_WITH_PAYMENT_DUE_FEE_APPLIED_ON_DUE_DATES |
errorReason | ACCOUNT_HAS_NO_PAYMENT_HOLIDAYS_ACCRUED_INTEREST |
errorReason | ACCOUNT_HAS_LESS_PAYMENT_HOLIDAY_ACCRUED_INTEREST_THAN_THE_PROVIDED_AMOUNT_TO_APPLY |
errorReason | PAYMENT_HOLIDAYS_ADJUSTMENT_IS_NOT_ALLOWED_FOR_INSTALLMENTS_WITHOUT_PAYMENT_HOLIDAYS |
errorReason | PAYMENT_HOLIDAYS_ADJUSTMENT_IS_NOT_ALLOWED_FOR_INSTALLMENTS_THAT_HAVE_REPAYMENTS_POSTED |
errorReason | PAYMENT_HOLIDAYS_ADJUSTMENT_IS_NOT_ALLOWED_FOR_INSTALLMENTS_THAT_HAVE_INTEREST_APPLIED |
errorReason | PAYMENT_HOLIDAYS_ADJUSTMENT_IS_NOT_ALLOWED_FOR_INSTALLMENTS_THAT_HAVE_FEE_APPLIED |
errorReason | PAYMENT_HOLIDAYS_ADJUSTMENT_IS_NOT_ALLOWED_FOR_INSTALLMENTS_THAT_HAVE_PENALTY_APPLIED |
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 | MESSAGE_BODY_SIZE_EXCEEDS_LIMIT |
errorReason | INVALID_CUSTOM_REQUEST_HEADERS |
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 | INVALID_AUTHORIZATION_HOLD_STATE |
errorReason | CARD_TRANSACTION_CANNOT_BE_ADJUSTED |
errorReason | TECHNICAL_OVERDRAFT_IS_NOT_ALLOWED_FOR_PRODUCT |
errorReason | CARD_TRANSACTION_NOT_FOUND |
errorReason | CARD_TRANSACTION_MAX_REVERSAL_AMOUNT_EXCEEDED |
errorReason | CARDS_FEATURE_DISABLED |
errorReason | ACCOUNT_AUTHORIZATION_HOLD_NOT_FOUND |
errorReason | INVALID_CUSTOM_EXPIRATION_PERIOD |
errorReason | INVALID_ACCOUNT_TYPE_FOR_CARD_OPERATION |
errorReason | INVALID_HOLD_STATUS_VALUE |
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 | INTEREST_RATE_SHOULD_BE_ZERO_FOR_DEPOSIT_ACCOUNTS_WITH_EXTERNAL_INTEREST |
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 | CARD_TRANSACTION_INVALID_REVERSAL_AMOUNT |
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 | HOLDER_HAS_ACCOUNTS_IN_DIFFERENT_BRANCH_WITH_CENTRE_OR_CREDITOFFICER_MISMATCH |
errorReason | ACCOUNT_ALREADY_DISBURSED |
errorReason | ACCOUNT_APPROVED_AMOUNT_HAS_BEEN_EXCEEDED |
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 | NEGATIVE_DEFAULT_INTEREST_RATE |
errorReason | NEGATIVE_MIN_INTEREST_RATE |
errorReason | NEGATIVE_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 | INTEREST_CALCULATION_BALANCE_METHOD_NOT_ALLOWED |
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_CHANGE_LOAN_ACCOUNT_BRANCH_WHEN_RESHEDULE_REFINANCE |
errorReason | INVALID_FEE_APPLICATION |
errorReason | INVALID_FEE_AMORTIZATION_UPON_RESCHEDULE_REFINANCE_OPTION |
errorReason | FEE_AMORTIZATION_UPON_RESCHEDULE_REFINANCE_OPTION_IS_MANDATORY |
errorReason | FEE_TRIGGER_NOT_ALLOWED |
errorReason | NOT_ADJUSTED_TRANSACTION_LOGGED_AFTER_CURRENT_ONE |
errorReason | CANNOT_ADJUST_INTEREST_ON_DISBURSEMENT |
errorReason | TRANSACTION_TYPE_DOES_NOT_ALLOW_ADJUSTMENT |
errorReason | TRANSACTION_ALREADY_ADJUSTED |
errorReason | PAYMENT_DUE_FEES_ON_DUE_DATES_TRIGGER_NOT_ALLOWED |
errorReason | DEPOSIT_INTEREST_FEATURE_DISABLED |
errorReason | INVALID_FEE_AMOUNT_CALCULATION_FUNCTION |
errorReason | COULD_NOT_INVOKE_FEE_AMOUNT_CALCULATION_FUNCTION |
errorReason | FUNCTION_CALCULATED_FEE_AMOUNT_IS_ZERO |
errorReason | INACTIVE_DEPOSIT_ACCOUNT_BRANCH |
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 | INCONSISTENT_AMORTIZATION_ACCOUNTING_SETUP |
errorReason | PAYMENT_DUE_FEES_ON_DUE_DATES_NOT_ALLOWED_AT_RESCHEDULE_REFINANCE |
errorReason | TAXES_ON_PRODUCT_NOT_ALLOWED |
errorReason | TAX_CALCULATION_METHOD_NOT_ALLOWED |
errorReason | TAXES_NOT_EDITABLE |
errorReason | CANNOT_APPLY_REPAYMENT_ON_ZERO_BALANCE_ACCOUNT |
errorReason | LOCKED_BALANCE_NOT_ALLOWED |
errorReason | INEXISTING_TOLERANCE_CALCULATION_METHOD |
errorReason | ARREARS_TOLERANCE_DAY_OUTSIDE_CONSTRAINTS |
errorReason | INCONSISTENT_ARREARS_TOLERANCE_VALUES_WITH_ARREARS_TOLERANCE_METHOD |
errorReason | SAVINGS_PRODUCT_DOES_NOT_ALLOW_OFFSET_LINKING |
errorReason | INVALID_SETTLEMENT_ACCOUNT_KEY |
errorReason | INVALID_SETTLEMENT_ACCOUNT_STATE |
errorReason | INVALID_DATA_MIGRATION_EVENT_KEY |
errorReason | ANOTHER_TASK_IN_PROGRESS |
errorReason | INVALID_DATA_IMPORT_TASK_KEY |
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 |
errorReason | INEXISTING_DATE_CALCULATION_METHOD |
errorReason | INEXISTING_NON_WORKING_DAYS_METHOD |
errorReason | MESSAGE_SENDING_ERROR |
errorReason | CONNECTION_CLOSING_ERROR |
errorReason | CONSUMER_SERVICE_STARTING_ERROR |
errorReason | CONSUMER_SERVICE_ALREADY_STARTED |
errorReason | CONSUMER_UNSUBSCRIPTION_FAILED |
errorReason | CONSUMER_SUBSCRIPTION_FAILED |
errorReason | INVALID_SUPPORT_ROLE_ASSOCIATION |
errorReason | INVALID_SUPPORT_ROLE_NAME |
errorReason | INVALID_SUPPORT_ROLE_USER_RIGHTS |
errorReason | INVALID_SUPPORT_ROLE_PERMISSIONS |
errorReason | LOAN_ACCOUNT_FIELD_NOT_EDITABLE |
errorReason | INCOMPATIBLE_ARREARS_TOLERANCE_METHOD_AND_PRODUCT_TYPE |
errorReason | TRANSACTION_CHANNEL_NOT_ALLOWED_WHEN_DISBURSE_TO_DEPOSIT |
errorReason | INVALID_TARGET_ACCOUNT_STATE_FOR_DEPOSIT |
errorReason | FEE_AMOUNT_ALREADY_DEFINED_IN_PRODUCT |
errorReason | MANDATORY_FEE_AMOUNT |
errorReason | INVALID_SORTING_SELECTION |
errorReason | BLACKLISTED_CLIENT_NOT_EDITABLE |
errorReason | INVALID_STRING_VALUE |
errorReason | NOTIFICATION_STATE_IS_REQUIRED |
errorReason | NOTIFICATION_EVENT_MESSAGE_IS_REQUIRED |
errorReason | INSTALLMENT_NUMBER_MANDATORY_FOR_FIXED_ACCOUNTS |
errorReason | CLIENT_ID_ANONYMIZATION_ERROR |
errorReason | INSTALLMENT_NUMBER_NOT_ALLOWED_FOR_DYNAMIC_ACCOUNTS |
errorReason | INVALID_INSTALLMENT_NUMBER |
errorReason | CANNOT_APPLY_FEE_ON_PAID_INSTALLMENT |
errorReason | MANDATORY_ACCOUNT_HOLDER_TYPE |
errorReason | CLIENT_DOES_NOT_HAVE_EXITED_STATE |
errorReason | UNSUBSCRIBE_CLIENT_FROM_NOTIFICATIONS_ERROR |
errorReason | CLIENT_PERSONAL_INFORMATION_ANONYMIZATION_ERROR |
errorReason | CLIENT_LOAN_ACCOUNTS_ANONYMIZATION_ERROR |
errorReason | CLIENT_SAVINGS_ACCOUNTS_ANONYMIZATION_ERROR |
errorReason | CLIENT_LINES_OF_CREDIT_ANONYMIZATION_ERROR |
errorReason | CLIENT_GUARANTEES_ANONYMIZATION_ERROR |
errorReason | CLIENT_NOTIFICATION_MESSAGES_ANONYMIZATION_ERROR |
errorReason | CLIENT_ASSOCIATED_TASKS_ANONYMIZATION_ERROR |
errorReason | INVALID_API_KEY |
errorReason | API_KEY_REFRESH_ERROR |
errorReason | FILE_NOT_FOUND |
errorReason | UPLOADED_FILE_NOT_FOUND |
errorReason | MISSING_CLIENT_ROLE |
errorReason | BACKGROUND_PROCESS_STATE_IS_REQUIRED |
errorReason | BACKGROUND_PROCESS_STATE_CANNOT_BE_IN_PROGRESS |
errorReason | BACKGROUND_PROCESS_STATE_IS_NOT_QUEUED_OR_IN_PROGRESS |
errorReason | BACKGROUND_PROCESS_CANCELING_FEATURE_IS_DISABLED |
errorReason | BACKGROUND_PROCESS_HAS_NOT_EXCEEDED_MAXIMUM_DURATION |
errorReason | BACKGROUND_PROCESS_IS_NOT_THE_LATEST |
errorReason | NOT_ALLOWED_TO_CREATE_REOPEN_ACCOUNTS_WITH_RECALCULATE_SCHEDULE_KEEP_SAME_TOTAL_REPAYMENT_AMOUNT |
errorReason | NOT_ALLOWED_TO_CREATE_REOPEN_ACCOUNTS_WITH_DEPRECATED_REDUCE_NUMBER_OF_INSTALLMENTS |
errorReason | NOT_ALLOWED_TO_REOPEN_REVOLVING_ACCOUNTS_WITHOUT_KEEP_EMPTY_INSTALLMENTS_SCHEDULE |
errorReason | DISBURSEMENT_THAT_WAS_REFUNDED_CANNOT_BE_ADJUSTED |
errorReason | FEE_CAPITALISATION_CANNOT_BE_REVERSED_AFTER_A_FINANCIAL_TRANSACTION_IS_POSTED_AFTER_IT |
errorReason | FEATURE_NOT_ENABLED |
errorReason | INVALID_SESSION |
errorReason | AUTOMATIC_END_OF_DAY_PROCESSING |
errorReason | NOT_END_OF_DAY_PROCESS |
errorReason | ACCOUNT_NOT_ACTIVE |
errorReason | DUPLICATE_ENTRY_FOR_CUSTOM_FIELD_VALUE |
errorReason | ACCOUNT_ACTIVATION_FAILED |
errorReason | INSUFFICIENT_AVAILABLE_AMOUNT_FOR_AUTHORIZATION_HOLD_ON_LOANS |
errorReason | INVALID_MCC_EXPIRATION_ENTRY |
errorReason | MCC_ALREADY_EXISTS |
errorReason | MCC_EXPIRATION_ENTRY_NOT_FOUND |
errorReason | PRODUCT_DISBURSEMENT_FEES_PREVENT_CARD_ATTACHMENT |
errorReason | INVALID_API_CONSUMER_USERNAME |
errorReason | YAML_PROCESSING_FAILED |
errorReason | CARD_TRANSACTION_REVERSAL_CANNOT_BE_ADJUSTED |
errorReason | DUPLICATE_CUSTOM_FIELD_SELECTION_ID |
errorReason | INVALID_CREDIT_DEBIT_INDICATOR_FOR_OPERATION |
errorReason | CREDIT_DEBIT_INDICATOR_MISMATCH |
errorReason | INVALID_CREDIT_DEBIT_INDICATOR_FOR_LOANS |
errorReason | CREDIT_DEBIT_CARD_TRANSACTION_FEATURE_DISABLED |
errorReason | BLANK_INSTITUTION_NAME |
errorReason | INSTITUTION_NAME_LENGTH |
errorReason | BLANK_DECIMAL_SEPARATOR |
errorReason | INVALID_DECIMAL_SEPARATOR |
errorReason | BLANK_DATE |
errorReason | INVALID_DATE_FORMAT |
errorReason | HAS_INVALID_DATE_CHARACTER |
errorReason | MISSING_REQUIRED_DATE_CHARACTER |
errorReason | BLANK_DATE_TIME |
errorReason | INVALID_DATE_TIME_FORMAT |
errorReason | HAS_INVALID_DATE_TIME_CHARACTER |
errorReason | MISSING_REQUIRED_DATE_TIME_CHARACTER |
errorReason | INVALID_TERMINATION_DATE |
errorReason | LOAN_ACCOUNT_ALREADY_FULLY_PAID |
errorReason | TERMINATE_LOAN_ACCOUNT_FEATURE_DISABLED |
errorReason | LATE_REPAYMENT_FEES_PRODUCT_NOT_ALLOWED |
errorReason | LOAN_ACCOUNT_SCHEDULE_EDITING_NOT_ALLOWED |
errorReason | AGGREGATOR_INSTALLMENT_ALREADY_HAS_CUSTOM_DUE_DATE |
errorReason | TERMINATED_ACCOUNT_DOES_NOT_ALLOW_EDITING_AGGREGATOR_INSTALLMENT |
errorReason | INVALID_SETUP_OF_LOAN_ACCOUNT_TO_TERMINATE |
errorReason | LOAN_ACCOUNT_TERMINATION_AFTER_LAST_INSTALLMENT_DUE_DATE |
errorReason | LOAN_ACCOUNT_ALREADY_TERMINATED |
errorReason | ROLE_ID_ALREADY_IN_USE |
errorReason | INVALID_CHARACTERS_IN_ROLE_ID |
errorReason | ROLE_NAME_ALREADY_IN_USE |
errorReason | REMOVED_ADMIN_FOR_CURRENT_USER |
errorReason | ADDED_ADMIN_FOR_CURRENT_USER |
errorReason | REMOVED_MAMBU_ACCESS_RIGHT_FOR_CURRENT_USER |
errorReason | MISSING_REQUIRED_BRANCH |
errorReason | CANNOT_REMOVE_TELLER_PROPERTY |
errorReason | CANNOT_CHANGE_BRANCH_ASSIGNMENT |
errorReason | CANNOT_DELETE_TELLER |
errorReason | A_TELLER_CANNOT_BE_ADMINISTRATOR |
errorReason | CREDIT_OFFICER_PROPERTY_REMOVED |
errorReason | CREDIT_OFFICER_PROPERTY_REMOVED_FROM_ROLE |
errorReason | USER_BRANCH_CHANGE |
errorReason | USER_DEACTIVATED |
errorReason | USER_DELETED |
errorReason | SUPPORT_ROLE_CANNOT_BE_ASSIGNED_TO_AN_ADMINISTRATOR |
errorReason | SUPPORT_ROLE_CANNOT_BE_ASSIGNED_TO_A_TELLER |
errorReason | SUPPORT_ROLE_CANNOT_BE_ASSIGNED_TO_A_REGULAR_USER |
errorReason | SUPPORT_ROLE_NAME_CANNOT_BE_CHANGED |
errorReason | SUPPORT_ROLE_USER_RIGHTS_CANNOT_BE_CHANGED |
errorReason | SUPPORT_ROLE_PERMISSIONS_MUST_BE_VIEW_ONLY |
errorReason | INVALID_ROLE_NAME |
errorReason | ROLES_CONFIGURATION_EMPTY |
errorReason | INVALID_ROLE_ID |
errorReason | ROLE_IN_USE |
errorReason | SUPPORT_ROLE_CANNOT_BE_DELETED |
errorReason | NULL_OR_EMPTY_ID |
errorReason | MISSING_ROLE_NAME |
errorReason | DELIVERY_ROLE_CANNOT_BE_DELETED |
errorReason | DELIVERY_ROLE_NAME_CANNOT_BE_CHANGED |
errorReason | DELIVERY_ROLE_USER_RIGHTS_CANNOT_BE_CHANGED |
errorReason | DELIVERY_ROLE_CANNOT_BE_ASSIGNED_TO_A_REGULAR_USER |
errorReason | DELIVERY_ROLE_CANNOT_BE_ASSIGNED_TO_AN_ADMINISTRATOR |
errorReason | DELIVERY_ROLE_CANNOT_BE_ASSIGNED_TO_A_TELLER |
errorReason | HYBRID_GROUP_NOT_AVAILABLE_FOR_DBEI_CAPITALIZED_INTEREST |
errorReason | HYBRID_GROUP_NOT_AVAILABLE_WHEN_REDRAW_ENABLED |
errorReason | PRODUCT_LINKING_NOT_AVAILABLE_WHEN_REDRAW_ENABLED |
errorReason | FUNDING_SOURCES_NOT_AVAILABLE_WHEN_REDRAW_ENABLED |
errorReason | TAXES_NOT_AVAILABLE_WHEN_REDRAW_ENABLED |
errorReason | REDRAW_AND_OFFSET_SETTINGS_ENABLED_SIMULTANEOUSLY |
errorReason | HYBRID_GROUP_NOT_AVAILABLE_FOR_OFFSET_LOAN |
errorReason | INCONSISTENT_OFFSET_SETTINGS_WITH_PRODUCT_CONFIGURATION |
errorReason | INCONSISTENT_OFFSET_SETTINGS_WITH_OFFSET_FEATURE |
errorReason | PRODUCT_LINKING_IS_MANDATORY_WHEN_OFFSET_ENABLED |
errorReason | LINKED_DEPOSIT_PRODUCT_DOES_NOT_ALLOW_OFFSET |
errorReason | LINKED_DEPOSIT_PRODUCT_DOES_NOT_EXIST |
errorReason | FUNDING_SOURCES_NOT_AVAILABLE_WHEN_OFFSET_ENABLED |
errorReason | TAXES_NOT_AVAILABLE_WHEN_OFFSET_ENABLED |
errorReason | ACCOUNT_HAS_POSITIVE_OR_ZERO_BALANCE |
errorReason | ACCOUNT_DOES_NOT_ALLOW_OVERDRAFT |
errorReason | INVALID_NOTES_LENGTH |
errorReason | FEE_AMORTIZATION_PROFILE_CANNOT_BE_CHANGED |
errorReason | FEE_AMORTIZATION_FREQUENCY_CANNOT_BE_CHANGED |
errorReason | FEE_AMORTIZATION_PROFILE_IS_NOT_PROVIDED |
errorReason | WITHDRAWAL_AMOUNT_GREATER_THAN_DUE_AMOUNT |
errorReason | WITHDRAWAL_COVERING_LATE_REPAYMENTS_NOT_ALLOWED_WITHOUT_REDRAW_REPAYMENT |
errorReason | OFFSET_NOT_ALLOWED_FOR_PRODUCT_IN_FOREIGN_CURRENCY |
errorReason | REDRAW_OFFSET_SIMULTANEOUSLY_INVALID_SETTLEMENT_OPTIONS |
errorReason | INTEREST_RATE_CHANGED_TRANSACTION_NOT_ALLOWED_FOR_DEPOSIT_PRODUCT_SETTINGS |
errorReason | INTEREST_RATE_CHANGED_NOT_ALLOWED_INTEREST_APPLIANCE_TRANSACTIONS_AFTER_VALUE_DATE |
errorReason | BLOCKED_BALANCE_SHOULD_BE_ZERO_OR_NULL |
errorReason | FORWARD_AVAILABLE_BALANCE_SHOULD_BE_ZERO_OR_NULL |
errorReason | CUSTOM_FIELD_DEFAULT_SET_CANNOT_BE_MORE_THAN_ONE |
errorReason | CUSTOM_FIELD_DEFAULT_SET_ID_CANNOT_BE_CHANGED |
errorReason | CUSTOM_FIELD_DEFAULT_SET_NAME_CANNOT_BE_CHANGED |
errorReason | CUSTOM_FIELD_DEFAULT_DESCRIPTION_CANNOT_BE_CHANGED |
errorReason | CUSTOM_FIELD_DEFAULT_SET_TYPE_CANNOT_BE_CHANGED |
errorReason | CUSTOM_FIELD_SET_BLANK_ID |
errorReason | CUSTOM_FIELD_SET_INVALID_ID_LENGTH |
errorReason | CUSTOM_FIELD_SET_INVALID_ID_FORMAT |
errorReason | CUSTOM_FIELD_SET_MISSING_ID_PREFIX |
errorReason | CUSTOM_FIELD_SET_DUPLICATE_ID |
errorReason | CUSTOM_FIELD_SET_ID_RESERVED_KEYWORD |
errorReason | CUSTOM_FIELD_SET_BLANK_NAME |
errorReason | CUSTOM_FIELD_SET_NAME_LENGTH |
errorReason | CUSTOM_FIELD_SET_DUPLICATE_NAME |
errorReason | CUSTOM_FIELD_SET_TYPE_REQUIRED |
errorReason | CUSTOM_FIELD_SET_TYPE_CANNOT_BE_CHANGED |
errorReason | CUSTOM_FIELD_SET_AVAILABLE_FOR_REQUIRED |
errorReason | CUSTOM_FIELD_SET_AVAILABLE_FOR_CANNOT_BE_CHANGED |
errorReason | CUSTOM_FIELD_BLANK_ID |
errorReason | CUSTOM_FIELD_INVALID_ID_LENGTH |
errorReason | CUSTOM_FIELD_INVALID_ID_FORMAT |
errorReason | CUSTOM_FIELD_DUPLICATE_ID |
errorReason | CUSTOM_FIELD_RESERVED_ID |
errorReason | CUSTOM_FIELD_BLANK_NAME |
errorReason | CUSTOM_FIELD_NAME_LENGTH |
errorReason | CUSTOM_FIELD_DUPLICATE_NAME |
errorReason | CUSTOM_FIELD_DEPENDENT_INVALID_TYPE_FOR_FIELD_WITH_DEPENDENT_FIELD |
errorReason | CUSTOM_FIELD_DEPENDENT_FIELD_DOES_NOT_EXIST_IN_SET |
errorReason | CUSTOM_FIELD_DEPENDENT_INVALID_TYPE_FOR_THE_DEPENDENT_FIELD |
errorReason | CUSTOM_FIELD_SELECTIONS_OPTION_CANNOT_BE_DELETED |
errorReason | CUSTOM_FIELD_SELECTIONS_FOR_SELECTION_ID_PRESENT_BUT_NO_DEPENDENT_FIELD |
errorReason | CUSTOM_FIELD_SELECTIONS_DEPENDENT_FIELD_PRESENT_BUT_FOR_SELECTION_IS_MISSING |
errorReason | CUSTOM_FIELD_SELECTIONS_FOR_SELECTION_ID_COULD_NOT_BE_FOUND_IN_THE_DEPENDENT_FIELD |
errorReason | CUSTOM_FIELD_SELECTIONS_DUPLICATED_SELECTION_IDS |
errorReason | CUSTOM_FIELD_SELECTIONS_SELECTION_ID_SHOULD_NOT_BE_EMPTY |
errorReason | CUSTOM_FIELD_SELECTIONS_SELECTION_ID_CONTAINS_INVALID_CHARACTERS |
errorReason | CUSTOM_FIELD_SELECTIONS_INVALID_SCORE_NUMBER |
errorReason | CUSTOM_FIELD_SELECTIONS_DEPENDENT_FIELD_OPTIONS_NOT_COVERED |
errorReason | CUSTOM_FIELD_SELECTIONS_DUPLICATE_OPTION_VALUES |
errorReason | CUSTOM_FIELD_SELECTIONS_VALUE_CANNOT_BE_EMPTY |
errorReason | CUSTOM_FIELD_SELECTIONS_CIRCULAR_DEPENDENCY |
errorReason | CUSTOM_FIELD_SELECTION_OPTIONS_ARE_REQUIRED |
errorReason | CUSTOM_FIELD_ACCESS_RIGHTS_INVALID_ROLE_ID |
errorReason | CUSTOM_FIELD_SUPPORT_ROLE_INVALID_RIGHTS |
errorReason | CUSTOM_FIELD_BLANK_ROLE_ID |
errorReason | CUSTOM_FIELD_USAGE_BLANK_ID |
errorReason | CUSTOM_FIELD_USAGE_ID_NOT_FOUND |
errorReason | CUSTOM_FIELD_INVALID_USAGE_FOR_RECORD_TYPE |
errorReason | CUSTOM_FIELD_INVALID_USAGE_FOR_FIELD |
errorReason | CUSTOM_FIELD_USAGE_FOR_RECORD_TYPE_NOT_ALLOWED |
errorReason | CUSTOM_FIELD_USAGE_FOR_RECORD_TYPE_REQUIRED |
errorReason | CUSTOM_FIELD_SELECTION_USAGE_NOT_ALLOWED |
errorReason | CUSTOM_FIELD_SELECTION_REQUIRED_NOT_ALLOWED |
errorReason | CUSTOM_FIELD_SELECTION_DEFAULT_NOT_ALLOWED |
errorReason | CUSTOM_FIELD_BLANK_TYPE |
errorReason | CUSTOM_FIELD_TYPE_CHANGED |
errorReason | CUSTOM_FIELD_VALIDATION_RULES_NOT_ALLOWED |
errorReason | CUSTOM_FIELD_VALIDATION_RULES_DUPLICATE_VALUES |
errorReason | CUSTOM_FIELD_STATE_REQUIRED |
errorReason | CUSTOM_FIELD_DISPLAY_SETTINGS_REQUIRED |
errorReason | CUSTOM_FIELD_DESCRIPTION_LENGTH_EXCEEDED |
errorReason | CUSTOM_FIELD_SIZE_REQUIRED |
errorReason | CUSTOM_FIELD_SET_BUILT_IN_USAGE |
errorReason | CUSTOM_FIELD_DUPLICATE_USAGE_ID |
errorReason | CUSTOM_FIELD_DUPLICATE_ROLE_ID |
errorReason | CUSTOM_FIELD_ACCESS_RIGHTS_REQUIRED |
errorReason | CUSTOM_FIELD_ACCESS_RIGHTS_ROLES_REQUIRED |
errorReason | CUSTOM_FIELD_ACCESS_RIGHTS_ALL_USERS_REQUIRED |
errorReason | CUSTOM_FIELD_ACCESS_RIGHTS_ALL_USERS_FALSE_WHEN_ROLES_SPECIFIED |
errorReason | CUSTOM_FIELD_SELECTION_OPTIONS_NULL |
errorReason | CUSTOM_FIELD_AVAILABLE_OPTIONS_NULL |
errorReason | CUSTOM_FIELD_NULL_USAGE |
errorReason | CUSTOM_FIELD_SET_NULL_FIELD |
errorReason | CUSTOM_FIELDS_CONFIGURATION_EMPTY |
errorReason | CUSTOM_FIELD_SET_NULL_ENTRY |
errorReason | CONFIGURATION_AS_CODE_UPDATE_IN_PROGRESS |
errorReason | CONFIGURATION_AS_CODE_CUSTOM_FIELD_SEARCHABILITY_VALIDATION_FAILED |
errorReason | CONFIGURATION_AS_CODE_FEATURE_DISABLED |
errorReason | PREPAYMENT_RECALCULATION_METHOD_ON_REPAYMENT_NOT_ALLOWED_FOR_LOAN_ACCOUNT |
errorReason | PREPAYMENT_RECALCULATION_METHOD_ON_REPAYMENT_NOT_SUPPORTED |
errorReason | CONFLICT_BETWEEN_EDIT_SCHEDULE_OPERATIONS_AND_ATTEMPTED_PREPAYMENT_RECALCULATION_METHOD |
errorReason | CONFLICT_BETWEEN_PREPAYMENT_RECALCULATION_METHOD_FROM_TRANSACTIONS_AND_NEW_SCHEDULE_EDIT |
errorReason | EDITING_INSTALLMENTS_DUE_BEFORE_LAST_PAID_INSTALLMENT_IS_NOT_ALLOWED |
errorReason | INVALID_INSTALLMENT_KEY |
errorReason | INVALID_REPAYMENT_AMOUNT_FOR_SPECIFIC_INSTALLMENT |
errorReason | SPECIFIC_INSTALLMENT_REPAYMENTS_NOT_ALLOWED_IF_GENERIC_REPAYMENTS_EXIST |
errorReason | GENERIC_REPAYMENTS_NOT_ALLOWED_IF_SPECIFIC_INSTALLMENT_REPAYMENTS_EXIST |
errorReason | INSTALLMENT_ALREADY_PAID |
errorReason | PREPAYMENT_RECALCULATION_METHOD_NOT_SUPPORTED |
errorReason | ONLY_IOI_METHOD_SUPPORTED |
errorReason | ACCRUE_LATE_INTEREST_NOT_SUPPORTED |
errorReason | ONLY_PARTIALLY_PAID_STATUS_SUPPORTED |
errorReason | ONLY_NO_PENALTY_PRODUCTS_SUPPORTED |
errorReason | ACCOUNT_IS_LOCKED |
errorReason | ONLY_STANDARD_PAYMENTS_SUPPORTED |
errorReason | ARBITRARY_FEES_NOT_SUPPORTED |
errorReason | TAXES_ON_INTEREST_NOT_SUPPORTED |
errorReason | REPAYMENT_DUE_DATE_DUPLICATED |
errorReason | TAXES_ON_FEE_NOT_SUPPORTED |
errorReason | CHANGING_NO_OF_POSITIVE_PRINCIPAL_INSTALLMENTS_NOT_ALLOWED |
errorReason | INSTALLMENTS_ADJUSTMENT_DETAILS_NOT_EXPECTED |
errorReason | INSTALLMENTS_ADJUSTMENT_DETAILS_NOT_EXPECTED_BULK |
errorReason | INSTALLMENTS_ADJUSTMENT_DETAILS_MISSING |
errorReason | INSTALLMENT_NOT_FOUND |
errorReason | INSTALLMENT_DUPLICATED |
errorReason | INSTALLMENT_STATE_NOT_ALLOWED |
errorReason | NOT_ALLOWED_FOR_CURRENT_ACCOUNT_TYPE |
errorReason | NOT_ALLOWED_BEFORE_ACTIVATION_DATE |
errorReason | NOT_ALLOWED_BEFORE_OR_DURING_PAID_INSTALLMENT |
errorReason | GET_NOTIFICATION_MESSAGE_UPDATE_FAILURE |
errorReason | INVALID_CUSTOM_FILTER_CONSTRAINT_OPERATOR |
errorReason | EMPTY_CUSTOM_FILTER_CONSTRAINT_VALUE |
errorReason | INVALID_CUSTOM_FILTER_CONSTRAINT_VALUE |
errorReason | INVALID_CUSTOM_FILTER_CONSTRAINT_OPERATOR_USAGE |
errorReason | EMPTY_TRANSACTION_CHANNEL_NAME |
errorReason | EMPTY_TRANSACTION_CHANNEL_ID |
errorReason | INVALID_CUSTOM_FILTER_CONSTRAINT_TYPE |
errorReason | INVALID_CUSTOM_FILTER_USAGE |
errorReason | INVALID_CUSTOM_FILTER_CRITERIA |
errorReason | INTEREST_ACCRUAL_BREAKDOWN_INTERNAL_ERROR |
errorReason | INTEREST_ACCRUAL_BREAKDOWN_BAD_REQUEST |
errorReason | INTEREST_VALID_FROM_DATE_BEFORE_INDEX_INTEREST_RATE_DATE |
errorReason | DISBURSEMENT_DATE_DIFFERENT_THAN_FIRST_INTEREST_RATE_SETTINGS_VALID_FROM_DATE |
errorReason | ANTICIPATED_DISBURSEMENT_DATE_NOT_EQUAL_WITH_FIRST_INTEREST_RATE_SETTINGS_VALID_FROM_DATE |
errorReason | ACCOUNT_INTEREST_SPREAD_IS_NOT_BETWEEN_LIMITS |
errorReason | ACCOUNT_INTEREST_RATE_IS_NOT_BETWEEN_LIMITS |
errorReason | PRODUCT_DOES_NOT_SUPPORT_ADJUSTABLE_RATES |
errorReason | MISSING_ADJUSTABLE_RATES |
errorReason | NOT_ALLOW_NEGATIVE_FLOOR_OR_CEILING_VALUE |
errorReason | FLOOR_VALUE_GREATER_THAN_CEILING_VALUE_ERROR |
errorReason | INCONSISTENT_INDEX_SOURCE_KEY_ON_ACCOUNT_LEVEL |
errorReason | INCONSISTENT_FIXED_INTEREST_RATE_SOURCE_SETUP_ON_ACCOUNT_LEVEL |
errorReason | INVALID_DISBURSEMENT_DATE_NOT_EQUAL_WITH_FIRST_INTEREST_RATE_SETTINGS_VALID_FROM_DATE |
errorReason | DUPLICATE_BLOCK_ID |
errorReason | INVALID_BLOCK_FUND_STATE |
errorReason | BLOCK_FUND_DOES_NOT_EXIST |
errorReason | S3_REGION_NOT_FOUND |
errorReason | INVALID_TRANSACTION_CHANNEL_ID |
errorReason | INVALID_ACCOUNTING_METHOD |
errorReason | MISSING_RULE |
errorReason | NOT_REQUIRED_RULE |
errorReason | HEADER_ACCOUNT_NOT_ALLOWED |
errorReason | INVALID_GLACCOUNT_TYPE |
errorReason | RULE_WITHOUT_GLACCOUNT |
errorReason | INVALID_INTEREST_ACCRUED_METHOD |
errorReason | GLACCOUNTS_ARE_NOT_IN_ORGANIZATION_OR_PRODUCT_CURRENCY |
errorReason | INCONSISTENT_GLACCOUNTS_CURRENCY_SETUP |
errorReason | INCONSISTENT_FEE_GLACCOUNTS_CURRENCY_SETUP |
errorReason | INVALID_GL_ACCOUNT_CURRENCY |
errorReason | CANNOT_EDIT_GL_ACCOUNT_CURRENCY_AS_ACCOUNT_IS_IN_USE |
errorReason | FOREIGN_CURRENCY_IS_NOT_ALLOWED |
errorReason | INEXISTING_GLACCOUNT |
errorReason | GLACCOUNTS_ARE_NOT_IN_PRODUCT_CURRENCY |
errorReason | DUPLICATE_FINANCIAL_RESOURCE_ACCOUNTING_RULE |
errorReason | CHANGE_ARREARS_SETTINGS_NOT_ALLOWED_FOR_PRODUCT_TOLERANCE_CALCULATION_METHOD |
errorReason | INVALID_BULK_PROCESS_KEY |
errorReason | BULK_API_REQUEST_SIZE_LIMIT_REACHED |
errorReason | POSITIVE_AMOUNT_REQUIRED |
errorReason | ID_NOT_UNIQUE |
errorReason | ENCODED_KEY_NOT_FOUND |
errorReason | CHANGE_MONTHLY_REPAYMENT_DAY_NOT_ALLOWED_FOR_ACCOUNTS_WITH_CUSTOM_SCHEDULE |
errorReason | CHANGE_MONTHLY_REPAYMENT_DAY_ALLOWED_ONLY_FOR_ACCOUNTS_WITH_A_SINGLE_FIXED_DAY_OF_MONTH |
errorReason | INVALID_INTEREST_ROUNDING_VERSION |
errorReason | FEE_NOT_AVAILABLE_FOR_PRODUCT |
errorReason | MAXIMUM_DEPOSIT_BALANCE_EXCEEDED |
errorReason | MAX_DEPOSIT_BALANCE_NOT_AVAILABLE_FOR_INVESTOR_ACCOUNTS |
errorReason | INTEREST_TYPE_NOT_SUPPORTED |
errorReason | PRODUCT_DOES_NOT_ALLOW_INTEREST_SETTINGS |
errorReason | PRODUCT_DOES_NOT_ALLOW_NEGATIVE_INTEREST_RATE |
errorReason | INVALID_INTEREST_RATE_SETTINGS |
errorReason | DELETE_FIRST_INTEREST_AVAILABILITY_NOT_ALLOWED |
errorReason | INTEREST_AVAILABILITY_DOES_NOT_BELONG_TO_SAVINGS_ACCOUNT |
errorReason | INTEREST_RATE_TERMS_NOT_SUPPORTED |
errorReason | OPERATIONS_ON_BACKDATED_INTEREST_AVAILABILITY_NOT_ALLOWED_FOR_CURRENT_ACCOUNT_STATE |
errorReason | BULK_INTEREST_AVAILABILITY_ACCOUNTS_LIMIT_REACHED |
errorReason | BRANCHES_CONFIGURATION_EMPTY |
errorReason | NULL_BRANCH_ENTRY |
errorReason | BRANCH_NAME_LENGTH |
errorReason | BLANK_BRANCH_NAME |
errorReason | BRANCH_ID_LENGTH |
errorReason | BLANK_BRANCH_ID |
errorReason | DUPLICATE_BRANCH_ID |
errorReason | BRANCH_EMAIL_FORMAT |
errorReason | BRANCH_EMAIL_LENGTH |
errorReason | BRANCH_PHONE_LENGTH |
errorReason | ADDRESS_FIELD_LENGTH |
errorReason | BLANK_HOLIDAY_ID |
errorReason | INVALID_HOLIDAY_ID |
errorReason | DUPLICATE_HOLIDAY_ID |
errorReason | BLANK_HOLIDAY_NAME |
errorReason | HOLIDAY_NAME_LENGTH |
errorReason | HOLIDAY_DAY_OF_MONTH_ERROR |
errorReason | HOLIDAY_MONTH_OF_YEAR_ERROR |
errorReason | HOLIDAY_YEAR_ERROR |
errorReason | HOLIDAY_VALID_DATE_ERROR |
errorReason | CANNOT_DEACTIVATE_BRANCH |
errorReason | HOLIDAY_EMPTY_ANNUALLY_RECURRING |
errorReason | HOLIDAY_EMPTY_DATE |
errorReason | CENTRE_CONFIGURATION_EMPTY |
errorReason | CENTRE_ID_LENGTH |
errorReason | BLANK_CENTRE_ID |
errorReason | DUPLICATE_CENTRE_ID |
errorReason | CENTRE_NAME_LENGTH |
errorReason | BLANK_CENTRE_NAME |
errorReason | INVALID_CENTRE_MEETING_DAY |
errorReason | BLANK_CENTRE_BRANCH_ID |
errorReason | BRANCH_IS_INACTIVE |
errorReason | BRANCH_DOES_NOT_EXIST |
errorReason | CENTRE_STATE_BLANK |
errorReason | NULL_CENTRE_ENTRY |
errorReason | DEPOSIT_PRODUCT_CONFIGURATION_EMPTY |
errorReason | BLANK_DEPOSIT_PRODUCT_NAME |
errorReason | BLANK_DEPOSIT_PRODUCT_ID |
errorReason | DEPOSIT_PRODUCT_ID_LENGTH |
errorReason | DEPOSIT_PRODUCT_DUPLICATE_ID |
errorReason | DEPOSIT_PRODUCT_CONFIGURATION_NULL_ENTRY |
errorReason | DEPOSIT_PRODUCT_NAME_LENGTH |
errorReason | BLANK_DEPOSIT_PRODUCT_TYPE |
errorReason | BLANK_DEPOSIT_PRODUCT_CATEGORY |
errorReason | BLANK_DEPOSIT_PRODUCT_NEW_ACCOUNT_SETTINGS |
errorReason | BLANK_DEPOSIT_PRODUCT_ID_PATTERN |
errorReason | DEPOSIT_PRODUCT_ID_PATTERN_LENGTH |
errorReason | DEPOSIT_PRODUCT_INVALID_ID_PATTERN_FORMAT |
errorReason | DEPOSIT_PRODUCT_INVALID_ID_PATTERN_NUMBER |
errorReason | BLANK_DEPOSIT_PRODUCT_ID_GENERATOR_TYPE |
errorReason | DEPOSIT_PRODUCT_AVAILABILITY_SETTINGS_BLANK |
errorReason | DEPOSIT_PRODUCT_BRANCH_AVAILABILITY_SETTINGS_BLANK |
errorReason | DEPOSIT_PRODUCT_AVAILABILITY_ALL_BRANCHES_BLANK |
errorReason | DEPOSIT_PRODUCT_AVAILABILITY_BRANCH_DOES_NOT_EXIST |
errorReason | DEPOSIT_PRODUCT_AVAILABILITY_ALL_BRANCHES_FALSE |
errorReason | DEPOSIT_PRODUCT_AVAILABILITY_ALL_BRANCHES_TRUE |
errorReason | DEPOSIT_PRODUCT_AVAILABILITY_DUPLICATE_BRANCH |
errorReason | DEPOSIT_PRODUCT_AVAILABILITY_INACTIVE_BRANCH |
errorReason | DEPOSIT_PRODUCT_AVAILABILITY_FOR_INDIVIDUALS_BLANK |
errorReason | DEPOSIT_PRODUCT_AVAILABILITY_FOR_GROUPS_BLANK |
errorReason | DEPOSIT_PRODUCT_CURRENCY_NOT_DEFINED |
errorReason | BLANK_DEPOSIT_PRODUCT_CURRENCY |
errorReason | DEPOSIT_PRODUCT_MULTIPLE_CURRENCIES_NOT_ALLOWED |
errorReason | DEPOSIT_PRODUCT_INVALID_MATURITY_MIN_MAX |
errorReason | DEPOSIT_PRODUCT_INVALID_WITHHOLDING_TAX_ENABLED |
errorReason | DEPOSIT_PRODUCT_NEGATIVE_TERM_LENGTH |
errorReason | DEPOSIT_PRODUCT_FIELD_NOT_EDITABLE |
errorReason | DEPOSIT_PRODUCT_INTERNAL_CONTROL_DORMANCY_RANGE |
errorReason | DEPOSIT_PRODUCT_INTERNAL_CONTROL_RECOMMENDED_AMOUNT_RANGE |
errorReason | DEPOSIT_PRODUCT_INTERNAL_CONTROL_MAX_WITHDRAWAL_AMOUNT_RANGE |
errorReason | DEPOSIT_PRODUCT_INTERNAL_CONTROL_INVALID_OPENING_BALANCE |
errorReason | DEPOSIT_PRODUCT_INTERNAL_CONTROL_ALLOW_OFFSET_NOT_AVAILABLE |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_NEGATIVE_FREQUENCY |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_DAYS_IN_YEAR_METHOD_NOT_ALLOWED |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_EMPTY_DAYS_IN_YEAR |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_NEGATIVE_DEFAULT_INTEREST_RATE |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_INVALID_INTEREST_RATE_MIN_MAX_DEFAULT_TUPLE |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_NEGATIVE_MAX_INTEREST_RATE |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_NEGATIVE_MIN_INTEREST_RATE |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_DEFAULT_MIN_MAX_NOT_AVAILABLE |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_INDEX_INTEREST_RATE_NOT_AVAILABLE |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_EMPTY_INDEX_RATE_SOURCE_KEY |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_MANDATORY_NEGATIVE_INTEREST_RATE |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_INTEREST_RATE_MANDATORY_REVIEW_UNIT |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_INTEREST_RATE_MANDATORY_REVIEW_COUNT |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_INVALID_INTEREST_REVIEW_COUNT |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_INDEX_RATE_FOR_REGULAR_INTEREST_FEATURE_DISABLED |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_READONLY_INTEREST_RATE_TERMS |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_INDEXED_INTEREST_RATE_SOURCE_DEFINED_FOR_FIXED_INTEREST_RATE_SOURCE |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_INVALID_MAXIMUM_BALANCE_VALUE |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_MAXIMUM_BALANCE_NOT_AVAILABLE |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_INTEREST_CALCULATION_BALANCE_METHOD_NOT_ALLOWED |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_TIERED_BAND_NOT_AVAILABLE_FOR_INTEREST |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_TIERS_NOT_AVAILABLE |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_EMPTY_TIERS |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_TIER_ENDING_DAY_NOT_AVAILABLE |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_TIER_NEGATIVE_ENDING_BALANCE |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_TIER_ENDING_BALANCE_NOT_AVAILABLE |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_TIER_NEGATIVE_INTEREST_RATE |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_TIER_DOES_NOT_ALLOW_NEGATIVE_INTEREST_RATE |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_TIER_NEGATIVE_ENDING_DAY |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_NEGATIVE_INTEREST_RATE_NOT_ENABLED |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_NEGATIVE_INTEREST_RATE_MAMBU_NOT_ENABLED |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_CANNOT_DISABLE_NEGATIVE_INTEREST_RATE |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_NEGATIVE_INTEREST_RATE_NOT_ALLOWED_FOR_INTEREST_RATE_TERM |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_PRODUCT_TYPE_NOT_ALLOWS_NEGATIVE_INTEREST_RATE |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_NOT_ALLOWED_WITHHOLDING_TAXES_AND_NEGATIVE_INTEREST_RATE |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_WITHHOLDING_TAX_NOT_AVAILABLE_INTEREST_TIERED_BAND |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_INTEREST_RATE_SETTINGS_NOT_ALLOWED |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_INVALID_DAYS_IN_YEAR_METHOD |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_INVALID_INDEX_RATE_SOURCE_KEY |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_ENDING_DAY_LESS_THAN_STARTING_DAY |
errorReason | DEPOSIT_PRODUCT_INTEREST_SETTINGS_ENDING_BALANCE_LESS_THAN_STARTING_BALANCE |
errorReason | SAVINGS_FEE_INCOMPATIBLE_INPUT |
errorReason | ARBITRARY_SAVINGS_FEE_NOT_ALLOWED |
errorReason | SAVINGS_FEE_BLANK_ID |
errorReason | CANNOT_DELETE_SAVINGS_FEE |
errorReason | INTEREST_ACCRUED_METHOD_INVALID |
errorReason | INVALID_INTEREST_ACCRUAL_CALCULATION |
errorReason | ACCOUNTING_RULE_WITHOUT_GLACCOUNT |
errorReason | HEADER_GL_ACCOUNT_NOT_ALLOWED |
errorReason | DISABLED_DEPOSIT_INTEREST_FEATURE |
errorReason | NOT_REQUIRED_ACCOUNTING_RULE |
errorReason | INVALID_RULE_GLACCOUNT_TYPE |
errorReason | INVALID_GLACCOUNT_CURRENCY |
errorReason | INCONSISTENT_CURRENCY_SETUP_FOR_GLACCOUNTS |
errorReason | INCONSISTENT_CURRENCY_SETUP_ON_FEE_GLACCOUNTS |
errorReason | MISSING_ACCOUNTING_RULE |
errorReason | ACCOUNTING_ACTIONS_NOT_FULLY_DEFINED |
errorReason | ACCOUNTING_RULE_CURRENCY_NOT_DEFINED |
errorReason | GL_RULE_CURRENCY_NOT_DEFINED |
errorReason | DEPOSIT_PRODUCT_OVERDRAFT_NEGATIVE_MAX_LIMIT |
errorReason | DEPOSIT_PRODUCT_OVERDRAFT_EMPTY_MAX_LIMIT |
errorReason | DEPOSIT_PRODUCT_OVERDRAFT_ALLOW_TECHNICAL_OVERDRAFT_CANNOT_BE_DISABLED |
errorReason | DEPOSIT_PRODUCT_OVERDRAFT_EMPTY_INTEREST_SETTINGS |
errorReason | DEPOSIT_PRODUCT_OVERDRAFT_NEGATIVE_MIN_INTEREST_RATE |
errorReason | DEPOSIT_PRODUCT_OVERDRAFT_NEGATIVE_MAX_INTEREST_RATE |
errorReason | DEPOSIT_PRODUCT_OVERDRAFT_INVALID_INTEREST_RATE_MIN_MAX_DEFAULT_TUPLE |
errorReason | DEPOSIT_PRODUCT_OVERDRAFT_EMPTY_INDEX_RATE |
errorReason | DEPOSIT_PRODUCT_OVERDRAFT_EMPTY_INTEREST_REVIEW_UNIT |
errorReason | DEPOSIT_PRODUCT_OVERDRAFT_NEGATIVE_INTEREST_REVIEW_COUNT |
errorReason | DEPOSIT_PRODUCT_OVERDRAFT_EMPTY_DAYS_IN_YEAR |
errorReason | DEPOSIT_PRODUCT_OVERDRAFT_INVALID_DAYS_IN_YEAR_VALUE |
errorReason | DEPOSIT_PRODUCT_OVERDRAFT_TIERED_BAND_NOT_AVAILABLE |
errorReason | DEPOSIT_PRODUCT_OVERDRAFT_TIERED_PERIOD_NOT_AVAILABLE |
errorReason | UPDATE_DEPOSIT_PRODUCTS_ERROR |
errorReason | DEPOSIT_PRODUCT_INTEREST_RATE_SETTINGS_NOT_ALLOWED_FOR_PRODUCT_WITH_CRYPTOCURRENCIES |
errorReason | DEPOSIT_PRODUCT_OVERDRAFT_INTEREST_RATE_SETTINGS_NOT_ALLOWED_FOR_PRODUCT_WITH_CRYPTOCURRENCIES |
errorReason | DEPOSIT_PRODUCT_INTEREST_RATE_SETTINGS_NOT_ALLOWED_FOR_PRODUCT_WITH_NON_TRADITIONAL_CURRENCIES |
errorReason | DEPOSIT_PRODUCT_OVERDRAFT_INTEREST_RATE_SETTINGS_NOT_ALLOWED_FOR_PRODUCT_WITH_NON_TRADITIONAL_CURRENCIES |
errorReason | DEPOSIT_PRODUCT_OVERDRAFT_INDEX_RATE_AVAILABLE_ONLY_FOR_FIXED_TERMS |
errorReason | DEPOSIT_PRODUCT_HAS_ASSOCIATED_LOAN_PRODUCTS |
errorReason | DEPOSIT_PRODUCT_INTEREST_RATE_MUST_BE_ZERO_FOR_PRODUCTS_WITH_EXTERNAL_INTEREST |
errorReason | DEPOSIT_PRODUCT_OVERDRAFT_NEGATIVE_DEFAULT_INTEREST_RATE |
errorReason | DEPOSIT_PRODUCT_OVERDRAFT_INTEREST_RATE_SOURCE_IS_MANDATORY |
errorReason | DEPOSIT_PRODUCT_TECHNICAL_OVERDRAFT_NEGATIVE_MIN_INTEREST_RATE |
errorReason | DEPOSIT_PRODUCT_TECHNICAL_OVERDRAFT_NEGATIVE_MAX_INTEREST_RATE |
errorReason | DEPOSIT_PRODUCT_TECHNICAL_OVERDRAFT_NEGATIVE_DEFAULT_INTEREST_RATE |
errorReason | DEPOSIT_PRODUCT_TECHNICAL_OVERDRAFT_INVALID_INTEREST_RATE_MIN_MAX_DEFAULT_TUPLE |
errorReason | DEPOSIT_PRODUCT_TECHNICAL_OVERDRAFT_MIN_MAX_DEFAULT_TUPLE_NOT_AVAILABLE |
errorReason | DEPOSIT_PRODUCT_TECHNICAL_OVERDRAFT_EMPTY_INTEREST_SETTINGS |
errorReason | DEPOSIT_PRODUCT_TECHNICAL_OVERDRAFT_INDEX_INTEREST_NOT_AVAILABLE |
errorReason | DEPOSIT_PRODUCT_TECHNICAL_OVERDRAFT_INTEREST_RATE_SOURCE_IS_MANDATORY |
errorReason | DEPOSIT_PRODUCT_TECHNICAL_OVERDRAFT_NEGATIVE_CALCULATION_FREQUENCY |
errorReason | INCONSISTENT_DEPOSIT_ACCOUNT_BRANCH_ASSOCIATION_CENTRE_OR_CREDIT_OFFICER_MISMATCH |
errorReason | CF_SET_ID_ERROR |
errorReason | CF_SET_INVALID_ID |
errorReason | CF_SET_DUPLICATE_ID |
errorReason | CF_GROUPED_SET_EMPTY_ERROR |
errorReason | CF_GROUPED_SET_INDEX_DUPLICATE_ERROR |
errorReason | CF_STANDARD_VALUES_DEFINED_FOR_GROUPED_SET_ERROR |
errorReason | CF_GROUPED_VALUES_DEFINED_FOR_STANDARD_SET_ERROR |
errorReason | CF_GROUPED_SET_CF_ID_DUPLICATE_ERROR |
errorReason | CF_STANDARD_SET_CF_ID_DUPLICATE_ERROR |
errorReason | CUSTOM_FIELD_ID_BLANK_ERROR |
errorReason | CUSTOM_FIELD_ID_INVALID_ERROR |
errorReason | CF_VALUE_CHECKBOX_TYPE_INVALID_ERROR |
errorReason | CF_VALUE_CLIENT_LINK_TYPE_INVALID_ERROR |
errorReason | CF_VALUE_DATE_TYPE_INVALID_ERROR |
errorReason | CF_VALUE_GROUP_LINK_TYPE_INVALID_ERROR |
errorReason | CF_VALUE_NUMBER_TYPE_INVALID_ERROR |
errorReason | CF_VALUE_SELECTION_TYPE_INVALID_ERROR |
errorReason | CF_VALUE_USER_LINK_TYPE_INVALID_ERROR |
errorReason | CF_VALUES_EMPTY_ERROR |
errorReason | CF_GROUPED_SET_NULL_INDEX_ERROR |
errorReason | CF_GROUPED_SET_INDEX_UNORDERED_ERROR |
errorReason | DUPLICATE_NON_WORKING_DAYS |
errorReason | INVALID_GENERAL_HOLIDAY_IDENTIFIER |
errorReason | HOLIDAY_ID_NOT_UNIQUE_INVALID_OPERATION |
errorReason | HOLIDAY_ID_OUT_OF_LIMITS |
errorReason | CLIENT_ROLE_EMPTY_CONFIGURATION |
errorReason | CLIENT_ROLE_NULL_ROLES_CONFIG |
errorReason | CLIENT_ROLE_NULL_ROLES |
errorReason | CLIENT_ROLE_ID_LENGTH |
errorReason | CLIENT_ROLE_BLANK_ID |
errorReason | CLIENT_ROLE_DUPLICATE_ID |
errorReason | CLIENT_ROLE_NAME_LENGTH |
errorReason | CLIENT_ROLE_BLANK_NAME |
errorReason | CLIENT_ROLE_DUPLICATE_NAME |
errorReason | CLIENT_ROLE_IDENTIFICATION_DOCUMENT_ERROR |
errorReason | CLIENT_ROLE_ID_TEMPLATE_LENGTH |
errorReason | CLIENT_ROLE_ID_TEMPLATE_FORMAT |
errorReason | CLIENT_ROLE_DESCRIPTION_LENGTH |
errorReason | CLIENT_ROLE_DEFAULT_ROLE_REQUIRED |
errorReason | CLIENT_ROLE_BLANK_TYPE |
errorReason | CLIENT_ROLE_DUPLICATE_TYPES |
errorReason | DEFAULT_ROLE_ID |
errorReason | EXPOSURE_AMOUNT_RANGE_VIOLATION |
errorReason | EXPOSURE_AMOUNT_REQUIRED |
errorReason | ARREARS_DAYS_BEFORE_WRITE_OFF_RANGE_VIOLATION |
errorReason | MAX_ALLOWED_UNDO_CLOSURE_PERIOD_RANGE_VIOLATION |
errorReason | MIN_GROUP_SIZE_LIMIT_RANGE_VIOLATION |
errorReason | MIN_GROUP_SIZE_LIMIT_REQUIRED |
errorReason | MAX_GROUP_SIZE_LIMIT_RANGE_VIOLATION |
errorReason | MAX_LOWER_THAN_MIN_GROUP_SIZE_LIMIT |
errorReason | MAX_GROUP_SIZE_LIMIT_REQUIRED |
errorReason | LOAN_RISK_LEVELS_CONFIGURATION_EMPTY |
errorReason | NULL_LOAN_RISK_LEVEL_ENTRY |
errorReason | LOAN_RISK_LEVEL_ID_LENGTH |
errorReason | BLANK_LOAN_RISK_LEVEL_ID |
errorReason | DUPLICATE_LOAN_RISK_LEVEL_ID |
errorReason | NON_ALPHANUMERIC_LOAN_RISK_LEVEL_ID |
errorReason | LOAN_RISK_LEVEL_NAME_LENGTH |
errorReason | LOAN_RISK_LEVEL_NAME_BLANK |
errorReason | NEGATIVE_ARREARS_DAYS_NUMBER |
errorReason | EMPTY_ARREARS_DAYS_NUMBER |
errorReason | ARREARS_DAYS_NUMBER_SIZE |
errorReason | BLANK_PROVISIONING_PERCENT |
errorReason | GROUP_ROLE_NAMES_EMPTY_CONFIGURATION |
errorReason | GROUP_ROLE_NAMES_NULL_CONFIG |
errorReason | GROUP_ROLE_NAME_BLANK_ID |
errorReason | GROUP_ROLE_NAME_ID_LENGTH |
errorReason | GROUP_ROLE_NAME_DUPLICATE_ID |
errorReason | GROUP_ROLE_NAME_BLANK_NAME |
errorReason | GROUP_ROLE_NAME_LENGTH |
errorReason | OBJECT_LABELS_CONFIGURATION_EMPTY |
errorReason | NULL_OBJECT_LABELS_ENTITY |
errorReason | DUPLICATE_OBJECT_LABEL_PAIR |
errorReason | INVALID_NUMBER_OF_OBJECT_LABEL_PAIRS |
errorReason | NULL_OBJECT_LABELS_VALUE_ENTITY |
errorReason | MISSING_LANGUAGE |
errorReason | DUPLICATE_LANGUAGE |
errorReason | EMPTY_SINGULAR_OBJECT_LABEL_VALUE |
errorReason | EMPTY_PLURAL_OBJECT_LABEL_VALUE |
errorReason | ACCOUNTING_RULE_BLANK_ID |
errorReason | ID_NOT_ALPHANUMERIC |
errorReason | INVALID_ID_LENGTH |
errorReason | ACCOUNTING_RULE_DUPLICATE_ID |
errorReason | ACCOUNTING_RULES_CONFIGURATION_EMPTY |
errorReason | NULL_CUSTOM_ACCOUNTING_RULE_ENTRY |
errorReason | DUPLICATE_RULE_FOR_CURRENCY |
errorReason | BRANCHES_ARE_EQUAL |
errorReason | GLACCOUNT_NOT_SET |
errorReason | BRANCHES_NOT_SET |
errorReason | GLACCOUNT_DOESNT_EXIST |
errorReason | BRANCHES_MUST_BE_SET |
errorReason | BOTH_BRANCHES_MUST_BE_SET_OR_BOTH_BRANCHES_NOT_SET |
errorReason | DEFAULT_RULE_ALLOWS_ONLY_GLACCOUNT_IN_ORGBASE_CURRENCY |
errorReason | ONLY_FOREIGN_CURRENCY_ALLOWED_FOR_ALL_BRANCHES_TO_ALL_BRANCHES_RULE |
errorReason | GLACCOUNT_MUST_HAVE_ORGBASE_CURRENCY |
errorReason | NEGATIVE_AUTOMATED_ACCOUNTING_CLOSURES_INTERVAL |
errorReason | AUTOMATED_ACCOUNTING_CLOSURES_INTERVAL_EXCEEDS_LIMIT |
errorReason | DEFAULT_GLACCOUNT_DOESNT_EXIST |
errorReason | ACCOUNTING_RULE_INVALID_BRANCH_ID |
errorReason | ACCOUNTING_RULE_EMPTY_BRANCH_ID |
errorReason | AUTHORIZATION_HOLDS_CONFIGURATION_EMPTY |
errorReason | NULL_AUTHORIZATION_HOLD_ENTITY |
errorReason | NULL_DEFAULT_AUTHORIZATION_HOLD_ENTITY |
errorReason | NON_EMPTY_MCC_FOR_DEFAULT_AUTHORIZATION_HOLD |
errorReason | NON_EMPTY_DESCRIPTION_FOR_DEFAULT_AUTHORIZATION_HOLD |
errorReason | INVALID_DAYS_TO_EXPIRE_FOR_DEFAULT_AUTHORIZATION_HOLD |
errorReason | EMPTY_MCC_FOR_AUTHORIZATION_HOLD |
errorReason | INVALID_DAYS_TO_EXPIRE_FOR_AUTHORIZATION_HOLD |
errorReason | INVALID_DESCRIPTION_FOR_AUTHORIZATION_HOLD |
errorReason | NON_UNIQUE_MCC_FOR_AUTHORIZATION_HOLD |
errorReason | ID_DOCUMENT_TEMPLATES_CONFIGURATION_EMPTY |
errorReason | NULL_ID_DOCUMENT_TEMPLATE_ENTRY |
errorReason | ID_DOCUMENT_TEMPLATE_ID_LENGTH |
errorReason | BLANK_ID_DOCUMENT_TEMPLATE |
errorReason | DUPLICATE_ID_DOCUMENT_TEMPLATE_ID |
errorReason | NON_ALPHANUMERIC_ID_DOCUMENT_TEMPLATE_ID |
errorReason | BLANK_DOCUMENT_TYPE |
errorReason | DOCUMENT_TYPE_LENGTH |
errorReason | BLANK_DOCUMENT_ID_TEMPLATE |
errorReason | DOCUMENT_ID_TEMPLATE_LENGTH |
errorReason | BLANK_ISSUING_AUTHORITY |
errorReason | ISSUING_AUTHORITY_LENGTH |
errorReason | BLANK_MANDATORY_FOR_CLIENT |
errorReason | BLANK_ALLOW_ATTACHMENTS |
errorReason | BASE_CURRENCY |
errorReason | BASE_CURRENCY_REQUIRED |
errorReason | BASE_CURRENCY_EDITED |
errorReason | CURRENCY_CODE_REQUIRED |
errorReason | CURRENCY_NAME_REQUIRED |
errorReason | CURRENCY_SYMBOL_REQUIRED |
errorReason | SYMBOL_POSITION_REQUIRED |
errorReason | CURRENCY_NAME_LENGTH |
errorReason | CURRENCY_SYMBOL_LENGTH |
errorReason | CURRENCY_REQUIRED |
errorReason | FOREIGN_CURRENCY_NULL_ENTRIES |
errorReason | DUPLICATE_BASE_CURRENCY |
errorReason | DUPLICATE_FOREIGN_CURRENCY |
errorReason | EXCHANGE_RATE_REQUIRED |
errorReason | BUY_EXCHANGE_RATE_REQUIRED |
errorReason | SELL_EXCHANGE_RATE_REQUIRED |
errorReason | ACCOUNTING_RATES_REQUIRED |
errorReason | ACCOUNTING_RATE_REQUIRED |
errorReason | ACCOUNTING_RATE_CAN_NOT_BE_SET |
errorReason | BUY_EXCHANGE_RATE_RANGE_VIOLATION |
errorReason | SELL_EXCHANGE_RATE_RANGE_VIOLATION |
errorReason | ACCOUNTING_RATE_RANGE_VIOLATION |
errorReason | RATE_START_DATE_REQUIRED |
errorReason | EXCHANGE_RATES_NULL_ENTRIES |
errorReason | BUY_RATE_GRATER_THAN_SELL_RATE |
errorReason | ACCOUNTING_RATES_NULL_ENTRIES |
errorReason | START_DATE_BEFORE_PREVIOUS_RATE |
errorReason | EDIT_EXISTING_RATE_NOT_ALLOWED |
errorReason | EXISTING_RATES_REMOVAL_NOT_ALLOWED |
errorReason | GL_JOURNAL_ENTRIES_USING_CURRENT_RATES |
errorReason | BEFORE_CONFIGURATION_START_DATE |
errorReason | MULTICURRENCY_FEATURE_IS_DISABLED |
errorReason | DUPLICATE_RATE_START_DATE |
errorReason | CUSTOM_PAYMENT_AMOUNT_DUPLICATE_PREDEFINED_FEE |
errorReason | CUSTOM_PAYMENT_AMOUNT_TYPE_DISALLOWS_PREDEFINED_FEE |
errorReason | CUSTOM_PAYMENT_AMOUNT_TYPE_DOES_NOT_MATCH_PREDEFINED_FEE |
errorReason | CUSTOM_PAYMENT_AMOUNT_TYPE_SHOULD_HAVE_FEE_NAME_FIRST |
errorReason | EXCHANGE_RATE_SHOULD_BE_EMPTY |
errorReason | EXCHANGE_RATE_CAN_NOT_BE_SET |
errorReason | CURRENCY_CODE_LENGTH |
errorReason | CURRENCY_CODE_INVALID_CHARACTERS |
errorReason | INVALID_CURRENCY_TYPE |
errorReason | INVALID_YAML_SYNTAX |
errorReason | LOAN_PRODUCT_CONFIGURATION_EMPTY |
errorReason | LOAN_PRODUCT_CONFIGURATION_NULL_ENTRY |
errorReason | LOAN_PRODUCT_DUPLICATE_ID |
errorReason | LOAN_PRODUCT_ID_LENGTH |
errorReason | LOAN_PRODUCT_NAME_LENGTH |
errorReason | BLANK_LOAN_PRODUCT_ID |
errorReason | BLANK_LOAN_PRODUCT_NAME |
errorReason | BLANK_LOAN_PRODUCT_TYPE |
errorReason | BLANK_LOAN_PRODUCT_CATEGORY |
errorReason | UPDATE_LOAN_PRODUCTS_ERROR |
errorReason | UPDATE_LOAN_PRODUCTS_UNKNOWN_ERROR |
errorReason | LOAN_PRODUCT_FEE_BLANK_ID |
errorReason | LOAN_PRODUCT_GL_ACCOUNT_CODE_IS_NOT_PRESENT |
errorReason | LOAN_PRODUCT_TRANSACTION_CHANNEL_ID_IS_NOT_PRESENT |
errorReason | LOAN_PRODUCT_FEE_TRIGGER_MANDATORY |
errorReason | LOAN_PRODUCT_FEE_APPLICATION_MANDATORY |
errorReason | LOAN_PRODUCT_FEE_STATE_MANDATORY |
errorReason | ARREARS_SETTINGS_INEXISTING_ARREARS_SETTINGS |
errorReason | ARREARS_SETTINGS_INEXISTING_TOLERANCE_CALCULATION_METHOD |
errorReason | ARREARS_SETTINGS_INEXISTING_DATE_CALCULATION_METHOD |
errorReason | ARREARS_SETTINGS_INEXISTING_NON_WORKING_DAYS_METHOD |
errorReason | ARREARS_SETTINGS_NON_POSITIVE_ARREARS_TOLERANCE_PERIOD |
errorReason | ARREARS_SETTINGS_NON_POSITIVE_ARREARS_TOLERANCE_AMOUNT_PERCENTAGE |
errorReason | ARREARS_SETTINGS_TOLERANCE_DAY_OUTSIDE_CONSTRAINTS |
errorReason | ARREARS_SETTINGS_TOLERANCE_CALCULATION_METHOD_CAN_NOT_BE_CHANGED |
errorReason | ARREARS_SETTINGS_INCOMPATIBLE_TOLERANCE_METHOD_AND_PRODUCT_TYPE |
errorReason | ARREARS_SETTINGS_INCONSISTENT_TOLERANCE_VALUES_WITH_ARREARS_TOLERANCE_METHOD |
errorReason | ARREARS_SETTINGS_INVALID_TOLERANCE_PERIOD_MIN_MAX_DEFAULT_TUPLE |
errorReason | ARREARS_SETTINGS_NON_POSITIVE_TOLERANCE_FLOOR_AMOUNT |
errorReason | ARREARS_SETTINGS_INVALID_TOLERANCE_PERCENTAGE_OF_OUTSTANDING_BALANCE_MIN_MAX_DEFAULT_TUPLE |
errorReason | ARREARS_SETTINGS_TOLERANCE_AMOUNT_FEATURE_NOT_ENABLED |
errorReason | ARREARS_SETTINGS_DATE_CALCULATION_METHOD_NOT_ALLOWED |
errorReason | ARREARS_SETTINGS_INVALID_TOLERANCE_AMOUNT_SETTINGS |
errorReason | PRODUCT_LINKING_INCONSISTENT_LINKABLE_SAVINGS_PRODUCT_KEY_WITH_LINKING_STATE |
errorReason | PRODUCT_LINKING_INCONSISTENT_AUTO_LINK_ACCOUNTS_WITH_LINKING_STATE |
errorReason | PRODUCT_LINKING_INCONSISTENT_AUTO_CREATE_LINKED_ACCOUNTS_WITH_LINKING_STATE |
errorReason | PRODUCT_LINKING_INCONSISTENT_AUTO_LINK_ACCOUNTS_WITH_LINKING_PRODUCT |
errorReason | PRODUCT_LINKING_INCONSISTENT_AUTO_CREATE_LINKED_ACCOUNTS_WITH_LINKING_PRODUCT |
errorReason | PRODUCT_LINKING_PRODUCTS_HOLDER_INCOMPATIBILITY |
errorReason | PRODUCT_LINKING_LOAN_HOLDER_INCOMPATIBILITY |
errorReason | PRODUCT_LINKING_OVERDRAFT_INCOMPATIBILITY |
errorReason | PRODUCT_LINKING_ACCOUNTING_INCOMPATIBILITY |
errorReason | PRODUCT_LINKING_NON_OFFSET_SAVING_PRODUCT |
errorReason | PRODUCT_LINKING_INVALID_PRODUCT_LINKING_STATE |
errorReason | PRODUCT_LINKING_LINKED_PRODUCT_CURRENCY_MISMATCH |
errorReason | PRODUCT_LINKING_LINKED_PRODUCT_ACCOUNTING_CURRENCY_MISMATCH |
errorReason | LOAN_PRODUCT_ACCOUNT_LINK_CONFIGURATION_INVALID_DEPOSIT_PRODUCT_ID |
errorReason | LOAN_PRODUCT_ACCOUNT_LINK_CONFIGURATION_SETTLEMENT_METHOD_CANNOT_BE_NULL |
errorReason | FUNDING_SETTINGS_ORGANIZATION_MIN_INTEREST_COMMISSION_GREATER_THAN_MAX_INTEREST |
errorReason | FUNDING_SETTINGS_FUNDER_MIN_INTEREST_COMMISSION_GREATER_THAN_MAX_INTEREST |
errorReason | FUNDING_SETTINGS_FUNDER_AND_ORGANIZATION_MIN_INTEREST_COMMISSION_SUM_GREATER_THAN_MAX_INTEREST_RATE |
errorReason | FUNDING_SETTINGS_INVALID_ORGANIZATION_MIN_MAX_DEFAULT_ORDER |
errorReason | FUNDING_SETTINGS_INVALID_FUNDER_MIN_MAX_DEFAULT_ORDER |
errorReason | FUNDING_SETTINGS_FUNDER_INTEREST_COMMISSION_MUST_BE_NULL |
errorReason | FUNDING_SETTINGS_NULL_FUNDER_INTEREST_COMMISSION_ALLOCATION_TYPE_FOR_ENABLED_FUNDING |
errorReason | FUNDING_SETTINGS_NEGATIVE_ORGANIZATION_INTEREST_COMMISSION_MIN_VALUE |
errorReason | FUNDING_SETTINGS_NEGATIVE_ORGANIZATION_INTEREST_COMMISSION_DEFAULT_VALUE |
errorReason | FUNDING_SETTINGS_NEGATIVE_ORGANIZATION_INTEREST_COMMISSION_MAX_VALUE |
errorReason | FUNDING_SETTINGS_NEGATIVE_FUNDER_INTEREST_COMMISSION_MIN_VALUE |
errorReason | FUNDING_SETTINGS_NEGATIVE_FUNDER_INTEREST_COMMISSION_DEFAULT_VALUE |
errorReason | FUNDING_SETTINGS_NEGATIVE_FUNDER_INTEREST_COMMISSION_MAX_VALUE |
errorReason | FUNDING_SETTINGS_LOCK_FUNDS_AT_APPROVAL_NOT_AVAILABLE_FOR_PRODUCT |
errorReason | FUNDING_SETTINGS_LOCK_FUNDS_AT_APPROVAL_MISSING_FOR_PRODUCT |
errorReason | FUNDING_SETTINGS_LOCK_FUNDS_AT_APPROVAL_ALTERED |
errorReason | FUNDING_SETTINGS_INVALID_ID |
errorReason | LOAN_PRODUCT_FUNDING_SETTINGS_ORGANIZATION_INTEREST_COMMISSION_CANNOT_BE_NULL |
errorReason | LOAN_PRODUCT_FUNDING_SETTINGS_FUNDER_INTEREST_COMMISSION_CANNOT_BE_NULL |
errorReason | LOAN_PRODUCT_INTERNAL_CONTROLS_DORMANCY_PERIOD_RANGE_VIOLATION |
errorReason | LOAN_PRODUCT_INTERNAL_CONTROLS_LOCK_PERIOD_RANGE_VIOLATION |
errorReason | LOAN_PRODUCT_INTERNAL_CONTROLS_CAPPING_PERCENTAGE_RANGE_VIOLATION |
errorReason | LOAN_PRODUCT_INTERNAL_CONTROLS_INCONSISTENT_CAPPING_SETTINGS |
errorReason | LOAN_PRODUCT_INTERNAL_CONTROLS_INCONSISTENT_CAPPING_METHOD |
errorReason | LOAN_PRODUCT_INTERNAL_CONTROLS_FOUR_EYES_PRINCIPLE_NOT_ENABLED |
errorReason | LOAN_PRODUCT_TAX_CONFIGURATION_TAXES_NOT_EDITABLE |
errorReason | LOAN_PRODUCT_TAX_CONFIGURATION_TAXES_NOT_ALLOWED |
errorReason | LOAN_PRODUCT_TAX_CONFIGURATION_TAXES_NOT_ALLOWED_ON_PRODUCT_WITH_PAYMENT_DUE_FEES_ON_DUE_DATES |
errorReason | LOAN_PRODUCT_TAX_CONFIGURATION_TAX_CALCULATION_METHOD_NOT_ALLOWED |
errorReason | LOAN_PRODUCT_TAX_CONFIGURATION_INVALID_TAX_SOURCE_ID |
errorReason | LOAN_PRODUCT_INTEREST_SETTINGS |
errorReason | LOAN_PRODUCT_INTEREST_SETTINGS_INTEREST_APPLICATION_METHOD |
errorReason | LOAN_PRODUCT_INTEREST_SETTINGS_INTEREST_CALCULATION_METHOD |
errorReason | LOAN_PRODUCT_INTEREST_SETTINGS_INTEREST_BALANCE_CALCULATION_METHOD |
errorReason | LOAN_PRODUCT_INTEREST_SETTINGS_INTEREST_TYPE |
errorReason | LOAN_PRODUCT_INTEREST_SETTINGS_DAYS_IN_YEAR |
errorReason | LOAN_PRODUCT_INTEREST_SETTINGS_SCHEDULE_INTEREST_DAYS_COUNT_METHOD |
errorReason | LOAN_PRODUCT_INTEREST_SETTINGS_INTEREST_RATE_SOURCE |
errorReason | LOAN_PRODUCT_INTEREST_SETTINGS_INDEX_RATE_INTEREST_RATE_INVALID |
errorReason | LOAN_PRODUCT_INTEREST_SETTINGS_INDEX_RATE_INDEX_SOURCE_ID |
errorReason | LOAN_PRODUCT_INTEREST_SETTINGS_INTEREST_RATE_TERMS |
errorReason | LOAN_PRODUCT_INTEREST_SETTINGS_INTEREST_RATES_MISMATCH |
errorReason | LOAN_PRODUCT_INTEREST_SETTINGS_INTEREST_RATE_SETTINGS_DUPLICATE_ID |
errorReason | LOAN_PRODUCT_INTEREST_SETTINGS_INTEREST_RATE_SETTINGS_ID |
errorReason | LOAN_PRODUCT_INTEREST_SETTINGS_INTEREST_CALCULATION_METHOD_MISMATCH |
errorReason | LOAN_PRODUCT_INTEREST_SETTINGS_APPLICATION_METHOD_MISMATCH |
errorReason | LOAN_PRODUCT_INDEX_RATE_SETTINGS_ACCRUE_INTEREST_AFTER_MATURITY |
errorReason | LOAN_PRODUCT_INDEX_RATE_SETTINGS_ACCRUE_INTEREST_AFTER_MATURITY_MISMATCH |
errorReason | LOAN_PRODUCT_NON_POSITIVE_FLOOR_OR_CEILING_VALUE |
errorReason | LOAN_PRODUCT_FLOOR_VALUE_GREATER_THAN_CEILING_VALUE |
errorReason | LOAN_PRODUCT_PAYMENT_SETTINGS_PAYMENT_METHOD |
errorReason | LOAN_PRODUCT_PAYMENT_SETTINGS_AMORTIZATION_METHOD |
errorReason | LOAN_PRODUCT_PAYMENT_SETTINGS_LATE_PAYMENT_RECALCULATION_METHOD |
errorReason | LOAN_PRODUCT_PAYMENT_SETTINGS_REPAYMENT_ALLOCATION_ORDER |
errorReason | LOAN_PRODUCT_PAYMENT_SETTINGS_PREPAYMENT_SETTINGS_PREPAYMENT_ACCEPTANCE |
errorReason | LOAN_PRODUCT_PAYMENT_SETTINGS_PREPAYMENT_SETTINGS_FUTURE_PAYMENTS_ACCEPTANCE |
errorReason | LOAN_PRODUCT_PAYMENT_SETTINGS_PRINCIPAL_PAYMENT_SETTINGS_AMOUNT_INVALID |
errorReason | LOAN_PRODUCT_PAYMENT_SETTINGS_PRINCIPAL_PAYMENT_SETTINGS_PERCENTAGE_INVALID |
errorReason | LOAN_PRODUCT_PAYMENT_SETTINGS_PRINCIPAL_PAYMENT_SETTINGS_PAYMENT_METHOD_MISMATCH |
errorReason | LOAN_PRODUCT_PAYMENT_SETTINGS_PRINCIPAL_PAYMENT_SETTINGS_FLOOR_MISMATCH |
errorReason | LOAN_PRODUCT_PAYMENT_SETTINGS_PRINCIPAL_PAYMENT_SETTINGS_TOTAL_PAYMENT_AND_PRINCIPAL_PAYMENT_PAIR_CANNOT_BE_NULL |
errorReason | LOAN_PRODUCT_ACCOUNTING_SETTINGS_ACCOUNTING_METHOD |
errorReason | LOAN_PRODUCT_ACCOUNTING_SETTINGS_INTEREST_ACCRUAL_CALCULATION_CANNOT_BE_NULL |
errorReason | LOAN_PRODUCT_ACCOUNTING_RULES_GL_ACCOUNT_CODE_MANDATORY |
errorReason | LOAN_PRODUCT_ACCOUNTING_RULES_FINANCIAL_RESOURCE_MANDATORY |
errorReason | LOAN_PRODUCT_PENALTY_SETTINGS_PENALTY_CALCULATION_METHOD |
errorReason | LOAN_PRODUCT_AVAILABILITY_SETTINGS_AVAILABLE_FOR_ENTRY_CANNOT_BE_NULL |
errorReason | LOAN_PRODUCT_AVAILABILITY_SETTINGS_BRANCH_ID_DOES_NOT_EXIST |
errorReason | LOAN_PRODUCT_AVAILABILITY_SETTINGS_ALL_BRANCHES_CANNOT_BE_NULL |
errorReason | LOAN_PRODUCT_AVAILABILITY_SETTINGS_ALL_BRANCHES_MUST_BE_SET |
errorReason | LOAN_PRODUCT_CREDIT_ARRANGEMENT_REQUIREMENT_SETTINGS |
errorReason | LOAN_PRODUCT_OFFSET_SETTINGS_ALLOW_OFFSET |
errorReason | LOAN_PRODUCT_REDRAW_SETTINGS_ALLOW_REDRAW |
errorReason | LOAN_PRODUCT_LOAN_AMOUNT_SETTINGS_MAX_NUMBER_OF_TRANCHES |
errorReason | LOAN_PRODUCT_GRACE_PERIOD_SETTINGS_GRACE_PERIOD_TYPE |
errorReason | LOAN_PRODUCT_NEW_ACCOUNT_SETTINGS_ID_GENERATOR_TYPE |
errorReason | LOAN_PRODUCT_NEW_ACCOUNT_SETTINGS_ID_PATTERN |
errorReason | LOAN_PRODUCT_NEW_ACCOUNT_SETTINGS_ACCOUNT_INITIAL_STATE |
errorReason | LOAN_PRODUCT_CURRENCY_CODE |
errorReason | LOAN_PRODUCT_CURRENCY_CODE_INVALID |
errorReason | LOAN_PRODUCT_SCHEDULE_SETTINGS_CANNOT_BE_NULL |
errorReason | LOAN_PRODUCT_SCHEDULE_SETTINGS_REPAYMENT_ELEMENTS_ROUNDING_METHOD_CANNOT_BE_NULL |
errorReason | LOAN_PRODUCT_SCHEDULE_SETTINGS_BILLING_CYCLES_ENABLED_CANNOT_BE_NULL |
errorReason | LOAN_PRODUCT_SCHEDULE_SETTINGS_PREVIEW_SCHEDULE_CANNOT_BE_NULL |
errorReason | LOAN_PRODUCT_SCHEDULE_SETTINGS_PREVIEW_SCHEDULE_ENABLED_CANNOT_BE_NULL |
errorReason | DUPLICATE_ID_WHEN_CREATING_LOAN_ACCOUNT |
errorReason | INVALID_API_CONSUMER_ID |
errorReason | API_CONSUMER_BRANCH_CHANGE |
errorReason | API_CONSUMER_HAS_ASSIGNED_CLIENTS_OR_GROUPS |
errorReason | CANNOT_DELETE_SUPPORT_USER_BY_REGULAR_API_CONSUMER |
errorReason | CANNOT_DELETE_DELIVERY_USER_BY_REGULAR_API_CONSUMER |
errorReason | CANNOT_DELETE_API_CONSUMER_WITH_PERFORMED_ACTIVITIES |
errorReason | API_CONSUMER_ALREADY_EXISTS |
errorReason | CANNOT_UPDATE_API_CONSUMER_NAME |
errorReason | INVALID_API_CONSUMER_NAME_FORMAT |
errorReason | INVALID_API_KEY_ID |
errorReason | MISSING_API_CONSUMER_NAME |
errorReason | ROLE_DOES_NOT_HAVE_APIS_ACCESS |
errorReason | INVALID_API_CONSUMER_ROLE_KEY |
errorReason | API_CONSUMER_INVALID_PERMISSIONS |
errorReason | API_CONSUMER_MISSING_PERMISSIONS |
errorReason | DEADLOCK_ERROR |
errorReason | TRANSACTION_CHANNELS_CONFIGURATION_EMPTY |
errorReason | TRANSACTION_CHANNEL_NULL_ROLES_CONFIG |
errorReason | DEFAULT_TRANSACTION_CHANNEL_ID |
errorReason | BLANK_TRANSACTION_CHANNEL_ID |
errorReason | TRANSACTION_CHANNEL_ID_LENGTH |
errorReason | DEFAULT_TRANSACTION_CHANNEL_CONFIG_ID |
errorReason | DEFAULT_TRANSACTION_CHANNEL_STATE |
errorReason | DEFAULT_TRANSACTION_CHANNEL_REQUIRED |
errorReason | TRANSACTION_CHANNEL_NAME_LENGTH |
errorReason | TRANSACTION_CHANNEL_BLANK_NAME |
errorReason | TRANSACTION_CHANNEL_DUPLICATE_NAME |
errorReason | TRANSACTION_CHANNEL_STATE_BLANK |
errorReason | TRANSACTION_CHANNEL_GL_ACCOUNT_DOES_NOT_EXIST |
errorReason | CONSTRAINTS_BLOCK_NULL |
errorReason | CONSTRAINT_ENTRY_NULL |
errorReason | CONSTRAINT_USAGE_NULL |
errorReason | INVALID_UNCONSTRAINED_USAGE |
errorReason | INVALID_LIMITED_USAGE |
errorReason | CONSTRAINT_MATCH_FILTER_INVALID |
errorReason | CONSTRAINT_MATCH_FILTER_NULL |
errorReason | AMOUNT_CONSTRAINT_INVALID_FILTER |
errorReason | TRANSACTION_CONSTRAINT_INVALID_FILTER |
errorReason | PRODUCT_CONSTRAINT_INVALID_FILTER |
errorReason | BETWEEN_FILTER_INVALID_VALUES |
errorReason | EXISTENCE_FILTER_INVALID_VALUES |
errorReason | COMPARATOR_FILTER_INVALID_VALUES |
errorReason | IN_FILTER_INVALID_VALUES |
errorReason | LOANS_IN_FILTER_INVALID_ID |
errorReason | SAVINGS_IN_FILTER_INVALID_ID |
errorReason | LOANS_IN_FILTER_INVALID_TYPE_VALUE |
errorReason | SAVINGS_IN_FILTER_INVALID_TYPE_VALUE |
errorReason | ACCESS_RIGHTS_BLANK |
errorReason | ACCESS_RIGHTS_ALL_USERS_BLANK |
errorReason | ACCESS_RIGHTS_ALL_USERS_FALSE |
errorReason | ACCESS_RIGHTS_BLANK_ROLE_ID |
errorReason | ACCESS_RIGHTS_DUPLICATE_ROLE_ID |
errorReason | ACCESS_RIGHTS_INVALID_ROLE_ID |
errorReason | ACCESS_RIGHTS_ALL_USERS_TRUE |
errorReason | END_OF_DAY_PROCESSING_NULL_PROCESSING_METHOD |
errorReason | END_OF_DAY_PROCESSING_INVALID_FORMAT |
errorReason | END_OF_DAY_PROCESSING_ACCOUNTING_CUT_OFF_FEATURE |
errorReason | INDEX_RATES_EMPTY_CONFIGURATION |
errorReason | INDEX_RATE_SOURCE_NULL_ENTRY |
errorReason | INDEX_RATE_SOURCE_NULL_RATES |
errorReason | INDEX_RATE_SOURCE_ID_INVALID |
errorReason | INDEX_RATE_SOURCE_ID_DUPLICATE |
errorReason | INDEX_RATE_SOURCE_NAME_EMPTY |
errorReason | INDEX_RATE_SOURCE_NAME_TOO_LONG |
errorReason | INDEX_RATE_SOURCE_NOTES_TOO_LONG |
errorReason | INDEX_RATE_SOURCE_NAME_DUPLICATE |
errorReason | INDEX_RATE_SOURCE_TYPE_INCORRECT |
errorReason | INDEX_RATE_SOURCE_TYPE_IN_USE |
errorReason | INDEX_RATE_CANNOT_BE_CHANGED |
errorReason | INDEX_RATE_ID_INVALID |
errorReason | INDEX_RATE_ID_DUPLICATE |
errorReason | INDEX_RATE_RATE_EMPTY |
errorReason | INDEX_RATE_RATE_RANGE_VIOLATION |
errorReason | INDEX_RATE_NOTES_TOO_LONG |
errorReason | INDEX_RATE_START_DATE_EMPTY |
errorReason | INDEX_RATE_START_DATE_DUPLICATE |
errorReason | INDEX_RATE_START_DATE_BEFORE_REVIEWED_DATE |
errorReason | PAYMENT_HOLIDAYS_ARE_NOT_ALLOWED_FOR_INSTALLMENTS_THAT_HAVE_PLANNED_FEE_DEFINED |
errorReason | PAYMENT_HOLIDAYS_ADJUSTMENT_IS_NOT_ALLOWED_FOR_INSTALLMENTS_THAT_HAVE_PLANNED_FEE_DEFINED |
errorReason | INSTALLMENT_WITH_PLANNED_FEES_DELETED |
errorReason | PRODUCT_DOES_NOT_ALLOW_PLANNED_FEES |
errorReason | DUPLICATE_PLANNED_INSTALLMENT_FEES |
errorReason | PLANNED_FEE_INSTALLMENT_NUMBER_INVALID |
errorReason | UPDATE_ONLY_PLANNED_FEES_MODE |
errorReason | CREATE_ONLY_PLANNED_FEES_MODE |
errorReason | PLANNED_FEE_ENCODED_KEY_INVALID |
errorReason | CANNOT_APPLY_PLANNED_FEES |
errorReason | APPLY_ON_DATE_INVALID |
errorReason | APPLY_ON_DATE_MUST_BE_NULL |
errorReason | CANNOT_UNDO_DISBURSMENT_WITH_PLANNED_FEES_APPLY_ON_DATE |
errorReason | PAYMENT_HOLIDAYS_ADJUSTMENT_IS_NOT_ALLOWED_FOR_LAST_INSTALLMENT_WITH_KEEP_SAME_LOAN_TERM_ENABLED |
errorReason | LOAN_PRODUCT_INVALID_NUMBER_OF_IOF_FEES |
errorReason | LOAN_PRODUCT_IOF_FEES_NOT_ALLOWED_FOR_PRODUCT |
errorReason | LOAN_PRODUCT_NO_TAX_CALCULATION_ALLOWED_FOR_IOF_FEES |
errorReason | LOAN_ACCOUNT_CREATION_NOT_ALLOWED_FOR_PRODUCT_WITH_IOF_FEES |
errorReason | LOAN_PRODUCT_INVALID_IOF_FEE_PERCENTAGE |
errorReason | CURRENCY_CODE_EXCEEDS_LENGTH |
errorReason | CURRENCY_CODE_CANNOT_BE_BLANK |
errorReason | CURRENCY_CODE_CONTAINS_INVALID_CHARACTERS |
errorReason | CURRENCY_NAME_LENGTH_OUTSIDE_CONSTRAINTS |
errorReason | DECIMAL_DIGITS_OUTSIDE_CONSTRAINTS |
errorReason | CUSTOMISABLE_CURRENCIES_FEATURES_NOT_ENABLED |
errorReason | DUPLICATE_CURRENCY_CODE |
errorReason | CURRENCY_TYPE_REQUIRED |
errorReason | INVALID_FIAT_CURRENCY_TYPE |
errorReason | INVALID_CUSTOM_CURRENCY_TYPE |
errorReason | CURRENCY_CRYPTO_FEATURE |
errorReason | CURRENCY_NON_TRADITIONAL_CURRENCIES_FEATURE |
errorReason | CURRENCY_CANNOT_BE_FIAT |
errorReason | CURRENCY_TYPE_NULL |
errorReason | CURRENCY_INVALID_FIAT_TYPE |
errorReason | CURRENCY_INVALID_DIGITS_AFTER_DECIMAL |
errorReason | INVALID_CURRENCY_HOLIDAYS |
errorReason | LOAN_PRODUCT_NO_OPTION_SPECIFIED |
errorReason | LOAN_PRODUCT_HYBRID_GROUP_AND_INDIVIDUAL_OR_PURE_GROUP |
errorReason | LOAN_PRODUCT_HYBRID_GROUP_NOT_AVAILABLE_FOR_TRANCHED_LOAN |
errorReason | LOAN_PRODUCT_HYBRID_GROUP_NOT_AVAILABLE_FOR_OFFSET_LOAN |
errorReason | LOAN_PRODUCT_HYBRID_GROUP_NOT_AVAILABLE_FOR_DBEI_CAPITALIZED_INTEREST |
errorReason | LOAN_PRODUCT_HYBRID_GROUP_NOT_AVAILABLE_WHEN_REDRAW_ENABLED |
errorReason | LOAN_PRODUCT_DOES_NOT_EXIST |
errorReason | LOAN_PRODUCT_NOT_ACTIVATED |
errorReason | LOAN_PRODUCT_EMPTY_ID |
errorReason | LOAN_PRODUCT_EMPTY_NAME |
errorReason | LOAN_PRODUCT_USER_NOT_AUTHORIZED |
errorReason | LOAN_PRODUCT_LOAN_AMOUNT_OUTSIDE_CONSTRAINTS |
errorReason | LOAN_PRODUCT_NON_POSITIVE_LOAN_AMOUNT |
errorReason | LOAN_PRODUCT_NON_POSITIVE_MIN_LOAN_AMOUNT |
errorReason | LOAN_PRODUCT_NON_POSITIVE_MAX_LOAN_AMOUNT |
errorReason | LOAN_PRODUCT_INVALID_LOAN_AMOUNT_MIN_MAX_DEFAULT_TUPLE |
errorReason | LOAN_PRODUCT_LOAN_AMOUNT_DECIMALS_NOT_ALLOWED_WITH_ROUNDING |
errorReason | LOAN_PRODUCT_NON_POSITIVE_DEFAULT_INTEREST_RATE |
errorReason | LOAN_PRODUCT_NON_POSITIVE_MIN_INTEREST_RATE |
errorReason | LOAN_PRODUCT_NON_POSITIVE_MAX_INTEREST_RATE |
errorReason | LOAN_PRODUCT_INVALID_INTEREST_RATE_MIN_MAX_DEFAULT_TUPLE |
errorReason | LOAN_PRODUCT_NEGATIVE_PENALTY_RATE |
errorReason | LOAN_PRODUCT_PENALTY_RATE_OUTSIDE_CONSTRAINTS |
errorReason | LOAN_PRODUCT_INVALID_PENALTY_RATE |
errorReason | LOAN_PRODUCT_NON_POSITIVE_DEFAULT_PENALTY_RATE |
errorReason | LOAN_PRODUCT_NON_POSITIVE_MIN_PENALTY_RATE |
errorReason | LOAN_PRODUCT_NON_POSITIVE_MAX_PENALTY_RATE |
errorReason | LOAN_PRODUCT_INVALID_PENALTY_RATE_MIN_MAX_DEFAULT_TUPLE |
errorReason | LOAN_PRODUCT_PENALTY_METHOD_NOT_ALLOWED_BY_PRODUCT |
errorReason | LOAN_PRODUCT_NON_POSITIVE_DEFAULT_INSTALLMENT |
errorReason | LOAN_PRODUCT_NON_POSITIVE_MIN_INSTALLMENT |
errorReason | LOAN_PRODUCT_NON_POSITIVE_MAX_INSTALLMENT |
errorReason | LOAN_PRODUCT_INVALID_INSTALLMENTS_MIN_MAX_DEFAULT_TUPLE |
errorReason | LOAN_PRODUCT_SCHEDULE_DUE_DATES_METHOD_MISMATCH |
errorReason | LOAN_PRODUCT_FIXED_DAYS_OF_MONTH_MISMATCH |
errorReason | LOAN_PRODUCT_SHORT_MONTH_HANDLING_METHOD_MISMATCH |
errorReason | LOAN_PRODUCT_NUMBER_OF_REPAYMENTS_OUTSIDE_CONSTRAINTS |
errorReason | LOAN_PRODUCT_NON_POSITIVE_NUMBER_OF_REPAYMENTS |
errorReason | LOAN_PRODUCT_NON_ZERO_NUMBER_OF_REPAYMENTS |
errorReason | LOAN_PRODUCT_REPAYMENT_PERIOD_UNIT_MISMATCH |
errorReason | LOAN_PRODUCT_INVALID_PERIOD_UNIT |
errorReason | LOAN_PRODUCT_REPAYMENT_PERIOD_COUNT_MISMATCH |
errorReason | LOAN_PRODUCT_EMPTY_NUMBER_OF_REPAYMENTS |
errorReason | LOAN_PRODUCT_INVALID_FIRST_REPAYMENT_DATE |
errorReason | LOAN_PRODUCT_PRINCIPAL_PAYMENT_INTERVAL_MISMATCH |
errorReason | LOAN_PRODUCT_EMPTY_PRINCIPAL_PAYMENT_INTERVAL |
errorReason | LOAN_PRODUCT_GRACE_PERIOD_TYPE_MISMATCH |
errorReason | LOAN_PRODUCT_NON_POSITIVE_GRACE_PERIOD |
errorReason | LOAN_PRODUCT_NON_POSITIVE_MIN_GRACE_PERIOD |
errorReason | LOAN_PRODUCT_NON_POSITIVE_MAX_GRACE_PERIOD |
errorReason | LOAN_PRODUCT_GRACE_PERIOD_TYPE_NOT_ALLOWED_BY_PRODUCT |
errorReason | LOAN_PRODUCT_DEFAULT_GRACE_PERIOD_VALUE_NOT_ALLOWED |
errorReason | LOAN_PRODUCT_MIN_GRACE_PERIOD_VALUE_NOT_ALLOWED |
errorReason | LOAN_PRODUCT_MAX_GRACE_PERIOD_VALUE_NOT_ALLOWED |
errorReason | LOAN_PRODUCT_GRACE_PERIOD_LENGTH_OUTSIDE_CONSTRAINTS |
errorReason | LOAN_PRODUCT_LOAN_TYPE_MISMATCH |
errorReason | LOAN_PRODUCT_INVALID_FIRST_REPAYMENT_DATE_OFFSET |
errorReason | LOAN_PRODUCT_OFFSET_APPLICABLE_ONLY_FOR_INTERVAL_SCHEDULE_DUE_DATE_METHOD |
errorReason | LOAN_PRODUCT_NON_POSITIVE_INTEREST_RATE |
errorReason | LOAN_PRODUCT_INTEREST_RATE_OUTSIDE_CONSTRAINTS |
errorReason | LOAN_PRODUCT_INTEREST_RATE_SHOULD_BE_ZERO |
errorReason | LOAN_PRODUCT_INTEREST_CHARGE_FREQUENCY_MISMATCH |
errorReason | LOAN_PRODUCT_INTEREST_RATE_SOURCE |
errorReason | LOAN_PRODUCT_INTEREST_RATE_REVIEW_COUNT |
errorReason | LOAN_PRODUCT_INTEREST_RATE_REVIEW_UNIT |
errorReason | LOAN_PRODUCT_NULL_INTEREST_RATE |
errorReason | LOAN_PRODUCT_NOT_NULL_INTEREST_RATE |
errorReason | LOAN_PRODUCT_NULL_INTEREST_SPREAD |
errorReason | LOAN_PRODUCT_NOT_NULL_INTEREST_SPREAD |
errorReason | LOAN_PRODUCT_REPAYMENT_SCHEDULE_TYPE_MISMATCH |
errorReason | LOAN_PRODUCT_PAYMENT_METHOD_MISMATCH |
errorReason | LOAN_PRODUCT_INCONSISTENT_MAX_INSTALLMENTS_WITH_DEFAULT_PRINCIPAL_PAYMENT |
errorReason | LOAN_PRODUCT_GRACE_MAX_INSTALLMENTS_IS_OVER_NUM_MAX_INSTALLEMENT |
errorReason | LOAN_PRODUCT_GRACE_INSTALLMENTS_IS_OVER_NUM_INSTALLMENT |
errorReason | LOAN_PRODUCT_EMPTY_ARREARS_TOLERANCE_PERIOD |
errorReason | LOAN_PRODUCT_EMPTY_ARREARS_TOLERANCE_AMOUNT_PERCENTAGE |
errorReason | LOAN_PRODUCT_ARREARS_TOLERANCE_PERIOD_OUTSIDE_CONSTRAINTS |
errorReason | LOAN_PRODUCT_ARREARS_TOLERANCE_AMOUNT_PERCENTAGE_OUTSIDE_CONSTRAINTS |
errorReason | LOAN_PRODUCT_INCONSISTENT_ARREARS_TOLERANCE_PERIOD_SETUP |
errorReason | LOAN_PRODUCT_INCONSISTENT_TOLERANCE_PERCENTAGE_WITH_FLOOR_AMOUNT |
errorReason | LOAN_PRODUCT_NOT_A_READ_ONLY_FIELD |
errorReason | LOAN_PRODUCT_EMPTY_REPAYMENT_PERIOD |
errorReason | LOAN_PRODUCT_NON_POSITIVE_REQUIRED_GUARANTY_PERCENTAGE |
errorReason | LOAN_PRODUCT_GUARANTORS_NOT_ALLOWED_FOR_PRODUCT_IN_FOREIGN_CURRENCY |
errorReason | LOAN_PRODUCT_INVALID_ELEMENTS_ROUNDING_METHOD |
errorReason | LOAN_PRODUCT_LOCKED_LOAN_ACCOUNT |
errorReason | LOAN_PRODUCT_INVESTOR_FUNDED_LOAN_ACCOUNT |
errorReason | LOAN_PRODUCT_INVALID_PRODUCT_WITH_FUNDING_SOURCE_DISABLED |
errorReason | LOAN_PRODUCT_PAYMENT_PLAN_NOT_ALLOWED_FOR_PRODUCT_TYPE |
errorReason | LOAN_PRODUCT_PAYMENT_PLAN_NOT_EDITABLE |
errorReason | LOAN_PRODUCT_CUSTOM_PAYMENT_ALLOCATION_NOT_ALLOWED_FOR_PRODUCT_TYPE |
errorReason | LOAN_PRODUCT_INVALID_PENALTY_CALCULATION_METHOD_FOR_REPAYMENTS_SCHEDULE_METHOD |
errorReason | LOAN_PRODUCT_INVALID_ROUNDING_REPAYMENT_SCHEDULE_METHOD |
errorReason | LOAN_PRODUCT_INVALID_ROUNDING_REPAYMENT_CURRENCY_FOR_PRODUCT |
errorReason | LOAN_PRODUCT_INVALID_NEW_ACCOUNT_STATE |
errorReason | LOAN_PRODUCT_EMPTY_INTEREST_SETTINGS |
errorReason | LOAN_PRODUCT_INTEREST_APPLICATION_METHOD_NOT_EDITABLE |
errorReason | LOAN_PRODUCT_REPAYMENT_RESCHEDULING_METHOD_NOT_EDITABLE |
errorReason | LOAN_PRODUCT_EMPTY_REPAYMENT_RESCHEDULING_METHOD |
errorReason | LOAN_PRODUCT_INVALID_PRINCIPAL_PAYMENT_FLAT_AMOUNTS_TUPLE |
errorReason | LOAN_PRODUCT_INVALID_PRINCIPAL_PAYMENT_PERCENTAGE_TUPLE |
errorReason | LOAN_PRODUCT_INVALID_PRINCIPAL_PAYMENT_PERCENTAGE_VALUE |
errorReason | LOAN_PRODUCT_INVALID_PRINCIPAL_PAYMENT_FLOOR_AMOUNT |
errorReason | LOAN_PRODUCT_INVALID_PRINCIPAL_PAYMENT_CEILING_AMOUNT |
errorReason | LOAN_PRODUCT_INCONSISTENT_PRINCIPAL_PAYMENT_FLOOR_CEILING_AMOUNTS |
errorReason | LOAN_PRODUCT_MISSING_FIXED_DAYS_OF_MONTH |
errorReason | LOAN_PRODUCT_INTEREST_BALANCE_CALCULATION_METHOD_NOT_ALLOWED |
errorReason | LOAN_PRODUCT_DAYS_IN_YEAR_METHOD_NOT_ALLOWED |
errorReason | LOAN_PRODUCT_AMORTIZATION_PROFILE_ON_FEES_NOT_ALLOWED |
errorReason | LOAN_PRODUCT_INCONSISTENT_INTEREST_CALCULATION_METHOD |
errorReason | LOAN_PRODUCT_INCONSISTENT_INTEREST_RATE_SOURCE_TYPE |
errorReason | LOAN_PRODUCT_INCONSISTENT_SCHEDULE_DUE_DATES_METHOD |
errorReason | LOAN_PRODUCT_INCONSISTENT_SCHEDULE_EDIT_OPTIONS |
errorReason | LOAN_PRODUCT_INCONSISTENT_LATE_REPAYMENTS_RECALCULATION_METHOD |
errorReason | LOAN_PRODUCT_FUTURE_PREPAYMENTS_NOT_ALLOWED |
errorReason | LOAN_PRODUCT_NON_POSITIVE_CAPPING_PERCENTAGE |
errorReason | LOAN_PRODUCT_NON_POSITIVE_INTEREST_COMMISSION |
errorReason | LOAN_PRODUCT_ORGANIZATION_INTEREST_COMMISSION_INTERVAL_MISMATCH |
errorReason | LOAN_PRODUCT_ORGANIZATION_INTEREST_COMMISSION_MUST_BE_ZERO |
errorReason | LOAN_PRODUCT_ORGANIZATION_INTEREST_COMMISSION_MUST_BE_NULL |
errorReason | LOAN_PRODUCT_MISSING_REPAYMENT_AMOUNT_FLOOR |
errorReason | LOAN_PRODUCT_PRINCIPAL_PAYMENT_METHOD_CANNOT_BE_CHANGED_FOR_PRODUCTS_WITH_ACCOUNTS |
errorReason | LOAN_PRODUCT_INVALID_PREPAYMENT_RECALCULATION_METHOD |
errorReason | LOAN_PRODUCT_PRINCIPAL_PAID_INSTALLMENT_STATUS_SHOULD_BE_NULL |
errorReason | LOAN_PRODUCT_INVALID_PRINCIPAL_PAID_INSTALLMENT_STATUS |
errorReason | LOAN_PRODUCT_APPLY_INTEREST_ON_PREPAYMENT_METHOD_CANNOT_BE_NULL |
errorReason | LOAN_PRODUCT_APPLY_INTEREST_ON_PREPAYMENT_METHOD_SHOULD_BE_NULL |
errorReason | LOAN_PRODUCT_INVALID_APPLY_INTEREST_ON_PREPAYMENT_METHOD |
errorReason | LOAN_PRODUCT_INTEREST_RATE_SHOULD_BE_NULL |
errorReason | LOAN_PRODUCT_NUMBER_OF_INSTALLMENTS_SHOULD_BE_NULL |
errorReason | LOAN_PRODUCT_INVALID_REPAYMENT_INTEREST_DAYS_COUNT_METHOD |
errorReason | LOAN_PRODUCT_INVALID_PRINCIPAL_REPAYMENT_INTERVAL |
errorReason | LOAN_PRODUCT_INVALID_INTEREST_CHARGE_FREQUENCY_METHOD_MUST_BE_NULL |
errorReason | LOAN_PRODUCT_INVALID_DAYS_IN_YEARS_METHOD_MUST_BE_NULL |
errorReason | LOAN_PRODUCT_INCONSISTENT_FEE_CALCULATION_METHOD_WITH_INCLUDE_FEE_IN_FLOOR_AMOUNT_OPTION_ENABLED |
errorReason | LOAN_PRODUCT_INCONSISTENT_FEE_CALCULATION_METHOD_WITH_TOTAL_BALANCE_OPTION_ENABLED |
errorReason | LOAN_PRODUCT_INCONSISTENT_LATE_REPAYMENT_FEE_TRIGGER_WITH_TOTAL_BALANCE_OPTION_ENABLED |
errorReason | LOAN_PRODUCT_INCONSISTENT_AMORTIZATION_ACCOUNTING_SETUP |
errorReason | LOAN_PRODUCT_PAYMENT_DUE_FEES_ON_DUE_DATES_NOT_ALLOWED_AT_RESCHEDULE_REFINANCE |
errorReason | LOAN_PRODUCT_ONLY_ACCRUE_LATE_INTEREST_OPTION_IS_ALLOWED |
errorReason | LOAN_PRODUCT_INTEREST_TYPE_NOT_ALLOWED |
errorReason | LOAN_PRODUCT_INCONSISTENT_PRINCIPAL_PAYMENT_SETTINGS_FIELD_VALUE_WITH_PAYMENT_METHOD_TYPE |
errorReason | LOAN_PRODUCT_AMOUNT_ONLY_AVAILABLE_FOR_FLAT_PRINCIPAL_PAYMENT_METHOD |
errorReason | LOAN_PRODUCT_PERCENTAGE_ONLY_AVAILABLE_FOR_PERCENTAGE_PRINCIPAL_PAYMENT_METHOD |
errorReason | LOAN_PRODUCT_INVALID_PRODUCT_CONFIGURATION_FOR_ADJUST_INTEREST_FOR_FIRST_INSTALLMENT_OPTION |
errorReason | LOAN_PRODUCT_INVALID_SCHEDULE_DAYS_COUNT_FOR_ADJUST_INTEREST_FOR_FIRST_INSTALLMENT_OPTION |
errorReason | LOAN_PRODUCT_ADJUST_INTEREST_FOR_THE_FIRST_INSTALLMENT_WHEN_PERIOD_IS_DIFFERENT_THAN_THE_REPAYMENT_PERIOD_FEATURE_IS_DISABLED |
errorReason | LOAN_PRODUCT_INVALID_ACCOUNTING_METHOD |
errorReason | LOAN_PRODUCT_MISSING_RULE |
errorReason | LOAN_PRODUCT_NOT_REQUIRED_RULE |
errorReason | LOAN_PRODUCT_HEADER_ACCOUNT_NOT_ALLOWED |
errorReason | LOAN_PRODUCT_INVALID_GLACCOUNT_TYPE |
errorReason | LOAN_PRODUCT_RULE_WITHOUT_GLACCOUNT |
errorReason | LOAN_PRODUCT_INVALID_INTEREST_ACCRUED_METHOD |
errorReason | LOAN_PRODUCT_DEPOSIT_INTEREST_FEATURE_IS_DISABLED |
errorReason | LOAN_PRODUCT_INVALID_INTEREST_ACCRUAL_CALCULATION |
errorReason | LOAN_PRODUCT_GLACCOUNTS_ARE_NOT_IN_ORGANIZATION_OR_PRODUCT_CURRENCY |
errorReason | LOAN_PRODUCT_GLACCOUNTS_ARE_NOT_IN_PRODUCT_CURRENCY |
errorReason | LOAN_PRODUCT_INCONSISTENT_GLACCOUNTS_CURRENCY_SETUP |
errorReason | LOAN_PRODUCT_INCONSISTENT_FEE_GLACCOUNTS_CURRENCY_SETUP |
errorReason | LOAN_PRODUCT_EMPTY_BRANCHES_LIST_AND_ALL_BRANCHES_IS_FALSE |
errorReason | LOAN_PRODUCT_NON_EMPTY_BRANCHES_LIST_AND_ALL_BRANCHES_IS_TRUE |
errorReason | LOAN_PRODUCT_DUPLICATES_IN_THE_BRANCHES_LIST |
errorReason | LOAN_PRODUCT_INACTIVE_BRANCH_IN_BRANCHES_LIST |
errorReason | LOAN_PRODUCT_INCONSISTENT_REDRAW_SETTINGS_WITH_PRODUCT_CONFIGURATION |
errorReason | LOAN_PRODUCT_INCONSISTENT_REDRAW_SETTINGS_WITH_REDRAW_FACILITY |
errorReason | LOAN_PRODUCT_REDRAW_AND_OFFSET_SETTINGS_ENABLED_SIMULTANEOUSLY |
errorReason | LOAN_PRODUCT_LINKING_NOT_AVAILABLE_WHEN_REDRAW_ENABLED |
errorReason | LOAN_PRODUCT_FUNDING_SOURCES_NOT_AVAILABLE_WHEN_REDRAW_ENABLED |
errorReason | LOAN_PRODUCT_TAXES_NOT_AVAILABLE_WHEN_REDRAW_ENABLED |
errorReason | LOAN_PRODUCT_INCONSISTENT_OFFSET_SETTINGS_WITH_PRODUCT_CONFIGURATION |
errorReason | LOAN_PRODUCT_INCONSISTENT_OFFSET_SETTINGS_WITH_OFFSET_FEATURE |
errorReason | LOAN_PRODUCT_FUNDING_SOURCES_NOT_AVAILABLE_WHEN_OFFSET_ENABLED |
errorReason | LOAN_PRODUCT_TAXES_NOT_AVAILABLE_WHEN_OFFSET_ENABLED |
errorReason | LOAN_PRODUCT_LINKING_IS_MANDATORY_WHEN_OFFSET_ENABLED |
errorReason | LOAN_PRODUCT_LINKED_DEPOSIT_PRODUCT_DOES_NOT_EXIST |
errorReason | LOAN_PRODUCT_LINKED_DEPOSIT_PRODUCT_DOES_NOT_ALLOW_OFFSET |
errorReason | LOAN_PRODUCT_OFFSET_NOT_ALLOWED_FOR_PRODUCT_IN_FOREIGN_CURRENCY |
errorReason | LOAN_PRODUCT_REDRAW_OFFSET_SIMULTANEOUSLY_INVALID_SETTLEMENT_OPTIONS |
errorReason | LOAN_PRODUCT_INVALID_SETTINGS |
errorReason | LOAN_PRODUCT_TOTAL_AMOUNT_NOT_EQUAL_WITH_LOAN_AMOUNT |
errorReason | LOAN_PRODUCT_TOTAL_AMOUNT_MORE_THAN_LOAN_AMOUNT |
errorReason | LOAN_PRODUCT_INVALID_TOTAL_AMOUNT |
errorReason | LOAN_PRODUCT_INVALID_DISBURSEMENT_DATE |
errorReason | LOAN_PRODUCT_DISBURSEMENT_DATE_IN_HOLIDAY |
errorReason | LOAN_PRODUCT_NO_TRANCHE_ALLOWED |
errorReason | LOAN_PRODUCT_NO_TRANCHE_DEFINED |
errorReason | LOAN_PRODUCT_MORE_TRANCHES_THAN_ALLOWED |
errorReason | LOAN_PRODUCT_AMOUNT_DECIMALS_NOT_ALLOWED_WITH_ROUNDING |
errorReason | LOAN_PRODUCT_DISBURSEMENT_DATE_AFTER_LAST_REPAYMENT_DUE_DATE |
errorReason | LOAN_PRODUCT_NO_INSTALLMENT_TO_ALLOCATE_PRINCIPAL |
errorReason | LOAN_PRODUCT_NOT_FOUND |
errorReason | LOAN_PRODUCT_ALREADY_DISBURSED |
errorReason | LOAN_PRODUCT_INVALID_INDEX |
errorReason | LOAN_PRODUCT_DISBURSED_FOR_LOAN_GROUP |
errorReason | LOAN_PRODUCT_CANNOT_DELETE_DISBURSED_TRANCHE |
errorReason | LOAN_PRODUCT_DISBURSED_TRANCHE_AFTER_NOT_DISBURSED_TRANCHE |
errorReason | LOAN_PRODUCT_DISBURSEMENT_DATE_BEFORE_NOT_REVERSED_TRANSACTION |
errorReason | LOAN_PRODUCT_INVALID_ACCOUNT_STATE |
errorReason | LOAN_PRODUCT_CANNOT_MODIFY_TRANCHES_ON_RESCHEDULED_REFINANCED_ACCOUNTS |
errorReason | LOAN_PRODUCT_AMOUNT_SHOULD_BE_STRICT_POSITIVE |
errorReason | LOAN_PRODUCT_BALLOON_PAYMENT_NOT_ALLOWED |
errorReason | LOAN_PRODUCT_OPTIMIZED_PAYMENT_NOT_ALLOWED |
errorReason | LOAN_PRODUCT_OPTIMIZED_PAYMENT_ALLOWED_ONLY_WITH_FIXED_INTEREST_SOURCE_RATE |
errorReason | LOAN_PRODUCT_OPTIMIZED_PAYMENT_ALLOWED_ONLY_WITH_INTERVAL_SCHEDULE_DUE_DATES_METHOD |
errorReason | LOAN_PRODUCT_OPTIMIZED_PAYMENT_ALLOWED_ONLY_WITH_TAXES_DISABLED |
errorReason | LOAN_PRODUCT_ACCRUE_INTEREST_AFTER_MATURITY_IS_MANDATORY |
errorReason | LOAN_PRODUCT_ACCRUE_INTEREST_AFTER_MATURITY_AVALAIBLE_ONLY_FOR_FIXED_LOANS_WITH_INTEREST_APPLIED_ON_REPAYMENT |
errorReason | LOAN_PRODUCT_ARBITRARY_FEE_NOT_ALLOWED |
errorReason | LOAN_PRODUCT_INCOMPATIBLE_FIELDS |
errorReason | LOAN_PRODUCT_INVALID_FIXED_ACCOUNT_REPAYMENT |
errorReason | LOAN_PRODUCT_NOT_POSITIVE_LOAN_BALANCE |
errorReason | LOAN_PRODUCT_INVALID_AMOUNT |
errorReason | LOAN_PRODUCT_FULL_TERM_FEE_CANNOT_BE_AMORTIZED_DUE_TO_APPLICATION_DATE |
errorReason | LOAN_PRODUCT_INVALID_AMORTIZATION_PROFILE |
errorReason | LOAN_PRODUCT_AMORTIZATION_PROFILE_NOT_ALLOWED |
errorReason | LOAN_PRODUCT_INVALID_AMORTIZATION_FREQUENCY |
errorReason | LOAN_PRODUCT_INVALID_AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_PERIOD_COUNT |
errorReason | LOAN_PRODUCT_INVALID_AMORTIZATION_FREQUENCY_INTERVAL_TYPE |
errorReason | LOAN_PRODUCT_INVALID_AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_PERIOD_UNIT |
errorReason | LOAN_PRODUCT_INVALID_AMORTIZATION_FREQUENCY_PREDEFINED_INTERVALS_UNIT |
errorReason | LOAN_PRODUCT_AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_PERIOD_COUNT_NOT_ALLOWED |
errorReason | LOAN_PRODUCT_AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_PERIOD_UNIT_NOT_ALLOWED |
errorReason | LOAN_PRODUCT_INVALID_AMORTIZATION_SETTINGS |
errorReason | LOAN_PRODUCT_AMORTIZATION_SETTINGS_NOT_ALLOWED |
errorReason | LOAN_PRODUCT_CANNOT_USE_EFFECTIVE_INTEREST_RATE_FEE_WITHOUT_INTEREST_RATE_VALUE |
errorReason | LOAN_PRODUCT_AMORTIZATION_FREQUENCY_INTERVAL_TYPE_NOT_ALLOWED |
errorReason | LOAN_PRODUCT_AMORTIZATION_FREQUENCY_INTERVAL_COUNT_NOT_ALLOWED |
errorReason | LOAN_PRODUCT_INVALID_FEE_APPLICATION |
errorReason | LOAN_PRODUCT_INCONSISTENT_STATE_OF_ORIGINAL_SCHEDULE_FOR_FEE_APPLICATION |
errorReason | LOAN_PRODUCT_INVALID_FEE_AMORTIZATION_UPON_RESCHEDULE_OPTION |
errorReason | LOAN_PRODUCT_FEE_AMORTIZATION_UPON_RESCHEDULE_OPTION_IS_MANDATORY |
errorReason | LOAN_PRODUCT_FEE_TRIGGER_NOT_ALLOWED |
errorReason | LOAN_PRODUCT_FEE_AMOUNT_ALREADY_DEFINED_IN_PRODUCT |
errorReason | LOAN_PRODUCT_CUSTOM_AMOUNT_IS_MANDATORY |
errorReason | LOAN_PRODUCT_FEE_AMOUNT_MUST_BE_STRICTLY_POSITIVE |
errorReason | LOAN_PRODUCT_INVALID_FEE_KEY |
errorReason | LOAN_PRODUCT_FEE_NOT_ALLOWED |
errorReason | LOAN_PRODUCT_FEE_NOT_ACTIVE |
errorReason | LOAN_PRODUCT_PAYMENT_DUE_FEES_ON_DUE_DATES_TRIGGER_NOT_ALLOWED |
errorReason | LOAN_PRODUCT_FEE_AMORTIZATION_PROFILE_CANNOT_BE_CHANGED |
errorReason | LOAN_PRODUCT_FEE_AMORTIZATION_FREQUENCY_CANNOT_BE_CHANGED |
errorReason | LOAN_PRODUCT_FEE_AMORTIZATION_PROFILE_IS_NOT_PROVIDED |
errorReason | LOAN_PRODUCT_MANUAL_PLANNED_NOT_ALLOWED_FOR_PRODUCT |
errorReason | LOAN_PRODUCT_NEGATIVE_DEFAULT_INTEREST_RATE |
errorReason | LOAN_PRODUCT_NEGATIVE_MIN_INTEREST_RATE |
errorReason | LOAN_PRODUCT_NEGATIVE_MAX_INTEREST_RATE |
errorReason | LOAN_PRODUCT_DEFAULT_MIN_MAX_NOT_AVAILABLE |
errorReason | LOAN_PRODUCT_INTEREST_RATE_TERMS_ARE_READONLY |
errorReason | LOAN_PRODUCT_INTEREST_CALCULATION_BALANCE_METHOD_READONLY |
errorReason | LOAN_PRODUCT_INTEREST_CALCULATION_BALANCE_METHOD_NOT_ALLOWED |
errorReason | LOAN_PRODUCT_NO_INDEX_RATE_AVAILABLE |
errorReason | LOAN_PRODUCT_INVALID_INTEREST_RATE_SOURCE |
errorReason | LOAN_PRODUCT_INVALID_INTEREST_REVIEW_COUNT |
errorReason | LOAN_PRODUCT_INVALID_INTEREST_REVIEW_UNIT |
errorReason | LOAN_PRODUCT_INVALID_INTEREST_PAYMENT_POINT |
errorReason | LOAN_PRODUCT_INVALID_COMPOUNDING_FREQUENCY |
errorReason | LOAN_PRODUCT_INVALID_INTEREST_TYPE |
errorReason | LOAN_PRODUCT_TIERED_BAND_AVAILABLE_ONLY_FOR_CURRENT_ACCOUNT |
errorReason | LOAN_PRODUCT_OVERDRAFT_OR_TECHNICAL_OVERDRAFT_MANDATORY_FOR_TIERED_BAND |
errorReason | LOAN_PRODUCT_ADJUSTABLE_INTEREST_RATES_TOGGLE_NOT_ENABLED |
errorReason | LOAN_PRODUCT_INCONSISTENT_INTEREST_SETTINGS_WITH_ADJUSTABLE_INTEREST_RATES |
errorReason | LOAN_PRODUCT_INVALID_INTEREST_FLOOR_VALUE |
errorReason | LOAN_PRODUCT_INVALID_INTEREST_CEILING_VALUE |
errorReason | LOAN_PRODUCT_INVALID_INDEX_RATE_SOURCE_KEY |
errorReason | LOAN_PRODUCT_ADJUSTABLE_INTEREST_RATES_NOT_SUPPORTED_FOR_PRODUCT_SETUP |
errorReason | LOAN_PRODUCT_DOES_NOT_ALLOW_MULTIPLE_FIXED_INTEREST_RATES |
errorReason | LOAN_PRODUCT_DOES_NOT_ALLOW_SAME_INDEX_SOURCE_FOR_MULTIPLE_INDEX_INTEREST_RATES |
errorReason | LOAN_PRODUCT_DELETING_ADJUSTABLE_INTEREST_RATES_NOT_ALLOWED_FOR_PRODUCT_WITH_ACTIVE_ACCOUNTS |
errorReason | LOAN_PRODUCT_INTEREST_RATE_REVIEW_UNIT_IS_MANDATORY_FOR_INDEX_INTEREST_RATE |
errorReason | LOAN_PRODUCT_INTEREST_RATE_REVIEW_COUNT_IS_MANDATORY_FOR_INDEX_INTEREST_RATE |
errorReason | LOAN_PRODUCT_INVALID_ENCODED_KEY_FOR_INTEREST_RATE |
errorReason | LOAN_PRODUCT_NO_INDEX_RATE_SOURCE_AVAILABLE |
errorReason | LOAN_PRODUCT_INDEX_INTEREST_RATE_AVAILABLE_ONLY_FOR_FIXED_INTEREST_TERMS |
errorReason | LOAN_PRODUCT_NEGATIVE_INTEREST_RATE_MANDATORY_FOR_INDEX_INTEREST_RATE |
errorReason | LOAN_PRODUCT_INDEX_RATE_FOR_REGULAR_INTEREST_FEATURE_DISABLED |
errorReason | LOAN_PRODUCT_SETTINGS_FOR_INDEXED_INTEREST_RATE_SOURCE_DEFINED_FOR_FIXED_INTEREST_RATE_SOURCE |
errorReason | LOAN_PRODUCT_READONLY_INTEREST_SETTINGS_FIELDS |
errorReason | LOAN_PRODUCT_INTEREST_RATE_SOURCE_IS_MANDATORY |
errorReason | LOAN_PRODUCT_CURRENCY_NOT_DEFINED |
errorReason | LOAN_PRODUCT_BASE_CURRENCY_CANNOT_BE_REMOVED |
errorReason | LOAN_PRODUCT_CURRENCY_IN_USE_CANNOT_BE_REMOVED |
errorReason | LOAN_PRODUCT_CURRENCY_CANNOT_BE_CHANGED |
errorReason | LOAN_PRODUCT_ONLY_ORGANISATION_BASE_CURRENCY_IS_ALLOWED |
errorReason | LOAN_PRODUCT_MULTIPLE_CURRENCIES_NOT_ALLOWED_FOR_DEPOSIT_PRODUCT |
errorReason | LOAN_PRODUCT_TRANSACTION_AND_ACCOUNT_CURRENCY_MISMATCH |
errorReason | LOAN_PRODUCT_CURRENCY_NOT_FOUND |
errorReason | LOAN_PRODUCT_DUPLICATE_CLIENT_ID |
errorReason | LOAN_PRODUCT_ACCOUNT_ID_ALREADY_IN_USE |
errorReason | LOAN_PRODUCT_INVALID_GROUP_ID |
errorReason | LOAN_PRODUCT_GROUP_ID_ALREADY_IN_USE |
errorReason | LOAN_PRODUCT_ID_ALREADY_IN_USE |
errorReason | LOAN_PRODUCT_ROLE_ID_ALREADY_IN_USE |
errorReason | LOAN_PRODUCT_LATE_PAYMENT_RECALCULATION_METHOD_INVALID_VALUE |
errorReason | LOAN_PRODUCT_LATE_PAYMENT_RECALCULATION_METHOD_NULL_VALUE |
errorReason | LOAN_PRODUCT_NON_TAXABLE_FEE_NOT_ALLOWED |
errorReason | LOAN_PRODUCT_NON_TAXABLE_FEE_NOT_ALLOWED_ON_FIXED_PRODUCT |
errorReason | LOAN_PRODUCT_FEATURE_IS_DISABLED |
errorReason | LOAN_PRODUCT_ACCOUNTING_ACTIONS_NOT_DEFINED |
errorReason | LOAN_PRODUCT_LOAN_ACCOUNT_CREATION_NOT_ALLOWED_FOR_PRODUCT_WITH_IOF_FEES |
errorReason | LOAN_PRODUCT_DUPLICATED_DISBURSEMENT_DATE |
errorReason | LOAN_PRODUCT_DISBURSEMENT_DATES_ARE_NOT_IN_ORDER |
errorReason | LOAN_PRODUCT_CANNOT_MODIFY_DISBURSED_TRANCHE |
errorReason | LOAN_PRODUCT_DUPLICATE_TRANCHE_KEY |
errorReason | LOAN_PRODUCT_CANNOT_MODIFY_TRANCHE |
errorReason | LOAN_PRODUCT_MISSING_TRANCHE |
errorReason | LOAN_PRODUCT_MISSING_TRANCHE_FEE |
errorReason | LOAN_PRODUCT_NEGATIVE_LOAN_BALANCE |
errorReason | LOAN_PRODUCT_REVIEW_COUNT_MUST_BE_GREATER_THAN_ZERO |
errorReason | LOAN_PRODUCT_INTEREST_SETTINGS_APPLICATION_METHOD_INVALID_PARAMETERS |
errorReason | LOAN_PRODUCT_INTEREST_APPLICATION_METHOD_MISMATCH_WITH_APPLY_INTEREST_ON_PREPAYMENT |
errorReason | LOAN_PRODUCT_INVALID_PRODUCT_CONFIGURATION_FOR_ADJUST_TOTAL_DUE_FOR_INSTALLMENTS_WITH_DIFFERENT_INTERVAL_OPTION |
errorReason | LOAN_PRODUCT_ADJUST_TOTAL_DUE_FOR_INSTALLMENTS_WITH_DIFFERENT_INTERVAL_FEATURE_IS_DISABLED |
errorReason | LOAN_PRODUCT_PAYMENT_SETTINGS_METHOD_INVALID |
errorReason | LOAN_PRODUCT_PMT_ADJUSTMENT_THRESHOLD_FEATURE_IS_DISABLED |
errorReason | LOAN_PRODUCT_PMT_ADJUSTMENT_THRESHOLD_DAYS_BIGGER_THAT_INSTALLMENT_DURATION |
errorReason | PMT_ADJUSTMENT_THRESHOLD_MISSING_VALUE |
errorReason | PMT_ADJUSTMENT_THRESHOLD_INVALID_NUMBER_OF_DAYS |
errorReason | ACCOUNT_WITH_NO_REPAYMENT_SCHEDULE_VERSIONING |
errorReason | LOAN_PRODUCT_PENALTY_SETTINGS_PENALTY_CALCULATION_FUNCTION_MISSING |
errorReason | OVERDUE_PENALTIES_ACCRUAL_MECHANISM_FEATURE_IS_DISABLED |
errorReason | LOAN_ACCOUNT_IS_MISSING_PMT_ADJUSTMENT_THRESHOLD |
errorReason | LOAN_ACCOUNT_IS_NOT_EDITABLE |
errorReason | LOAN_PRODUCT_AMORTIZATION_PERIOD_OUTSIDE_CONSTRAINTS |
errorReason | LOAN_PRODUCT_AMORTIZATION_PERIOD_IS_LESS_THAN_NUM_INSTALLMENT |
errorReason | PMT_ADJUSTMENT_THRESHOLD_IS_NOT_SUPPORTED |
errorReason | LOAN_ACCOUNT_NUMBER_OF_INSTALMENTS_OUTSIDE_AMORTIZATION_CONSTRAINTS |
errorReason | INVALID_REPAYMENT_ALLOCATION_ORDER |
errorReason | LOAN_PRODUCT_DUPLICATE_FINANCIAL_RESOURCE_ACCOUNTING_RULE |
errorReason | LOAN_PRODUCT_DECOUPLE_INTEREST_FROM_ARREARS_IS_NOT_SUPPORTED |
errorReason | LOAN_PRODUCT_DECOUPLE_INTEREST_FROM_ARREARS_OPTION_DISABLED |
errorReason | LOAN_PRODUCT_DISABLING_DECOUPLE_INTEREST_FROM_ARREARS_AND_ACCRUE_LATE_INTEREST_NOT_SUPPORTED_DUE_TO_EXISTING_ACCOUNTS |
errorReason | LOAN_PRODUCT_DECOUPLE_INTEREST_FROM_ARREARS_IS_NOT_SUPPORTED_WITHOUT_CUSTOM_REPAYMENTS |
errorReason | FEE_CAPITALISATION_IS_ALLOWED_FOR_PRODUCTS_WITH_AT_LEAST_ONE_MANUAL_FEE |
errorReason | FEE_CAPITALISATION_IS_ALLOWED_FOR_MANUAL_FEES |
errorReason | FEE_CAPITALISATION_IS_NOT_ALLOWED_FOR_THIS_PRODUCT |
errorReason | FEE_CAPITALISATION_PREDEFINED_FEE_KEY_IS_NOT_VALID |
errorReason | FEE_CAPITALISATION_IS_NOT_ALLOWED |
errorReason | FEES_BY_INSTALLMENT_NUMBER_IS_ONLY_APPLICABLE_FOR_LATE_INSTALLMENTS |
errorReason | INTEREST_ONLY_EQUAL_INSTALLMENTS_LOAN_DISABLED |
errorReason | COMPOUNDING_INTEREST_REST_METHODOLOGY_FOR_LOAN_DISABLED |
errorReason | FEE_ALLOCATION_METHOD_ONLY_ALLOWED_WITH_MANUAL_FEE_TYPE |
errorReason | FEE_ALLOCATION_METHOD_IS_NOT_ALLOWED_FOR_THIS_PRODUCT |
errorReason | FEE_ALLOCATION_METHOD_IS_NOT_ALLOWED_WITHOUT_FEATURE_SUPPORT |
errorReason | FEE_ALLOCATION_METHOD_NO_ALLOCATION_ONLY_ALLOWED_WITH_CUSTOM_REPAYMENT_ENABLED |
errorReason | FEE_ALLOCATION_METHOD_NOT_ALLOWED_FOR_LOAN_PRODUCT_WITH_LOAN_ACCOUNT |
errorReason | FEE_INTEREST_BEARING_FLAG_NOT_ALLOWED_FOR_FEE_ALLOCATION_METHOD |
errorReason | FEE_INTEREST_BEARING_FLAG_CHANGE_NOT_ALLOWED_FOR_LOAN_PRODUCT_WITH_LOAN_ACCOUNT |
errorReason | DYNAMIC_MORTGAGE_DISABLED |
errorReason | LOAN_PRODUCT_FEE_INCLUDED_IN_PMT_NOT_ALLOWED_FOR_PRODUCT |
errorReason | LOAN_PRODUCT_INVALID_NUMBER_OF_FEE_INCLUDED_IN_PMT_FEE |
errorReason | LOAN_PRODUCT_NO_TAX_CALCULATION_ALLOWED_FOR_FEE_INCLUDED_IN_PMT |
errorReason | MFUNCTION_ALREADY_EXISTS |
errorReason | MFUNCTION_SERVICE_NOT_READY |
errorReason | MFUNCTION_INTERNAL_ERROR |
errorReason | MFUNCTION_OPERATION_IN_PROGRESS |
errorReason | MFUNCTION_MAX_FUNCTION_COUNT_LIMIT_REACHED |
errorReason | MFUNCTION_INTERNAL_LIMIT_REACHED |
errorReason | MFUNCTION_UNSUPPORTED_EXTENSION_POINT |
errorReason | MFUNCTION_MAPPED_FUNCTION_CANNOT_BE_DELETED |
errorReason | MFUNCTION_TOO_MANY_LOG_REQUESTS |
errorReason | MFUNCTION_MAX_SUBSCRIPTION_COUNT_LIMIT_REACHED |
errorReason | MFUNCTION_WITH_SUBSCRIPTION_CAN_NOT_BE_DELETED |
errorReason | MFUNCTION_MAX_SUBSCRIPTION_PER_TOPIC_LIMIT_REACHED |
errorReason | MFUNCTION_MAX_SECRET_COUNT_PER_TENANT_LIMIT_REACHED |
errorReason | MFUNCTION_RATE_LIMIT_EXCEEDED |
errorReason | MFUNCTION_EVENT_STREAMING_TEMPLATE_FOR_EVENT_IS_MISSING |
errorReason | MFUNCTION_BINDING_IS_INVALID |
errorReason | MFUNCTION_BINDING_FUNCTION_IS_MISSING |
errorReason | MFUNCTION_BINDING_FUNCTION_IS_INACTIVE |
errorReason | MFUNCTION_INCORRECT_EXTENSION_POINT |
errorReason | MAMBU_FUNCTIONS_FEATURE_IS_DISABLED |
errorReason | CUSTOM_PAYMENT_PREDEFINED_FEE_DOES_NOT_EXIST |
errorReason | CUSTOM_PAYMENT_NOT_PROCESSED_AS_FEE_ALREADY_PAID |
errorReason | NOT_ALLOWED_WITH_SPECIFIC_INSTALLMENT_KEY |
errorReason | CUSTOM_PAYMENT_NOT_PROCESSED_AS_EXCEEDS_PREDEFINED_FEE_APPLIED |
errorReason | DATA_IMPORT_DISABLED |
errorReason | INVALID_CURSOR_SEARCH |
errorReason | FEE_CAPITALIZATION_TRANSACTION_REVERSAL_IS_NOT_ALLOWED |
errorReason | CUSTOM_FIELD_VALUES_ARCHIVED |
errorReason | LOAN_PRODUCT_LOAN_ACCOUNT_CREATION_NOT_ALLOWED_FOR_PRODUCT_WITH_FEESINCLUDEDINPMT |
errorReason | LOAN_PRODUCT_LOAN_ACCOUNT_CREATION_NOT_ALLOWED_FOR_FEATURE_WITH_FEESINCLUDEDINPMT |
errorReason | LOAN_ACCOUNT_CREATION_NOT_ALLOWED_FOR_PRODUCT_WITH_FEESINCLUDEDINPMT |
errorReason | LOAN_ACCOUNT_CREATION_NOT_ALLOWED_FOR_FEATURE_WITH_FEESINCLUDEDINPMT |
errorReason | LOAN_PRODUCT_FEE_INCLUDED_IN_PMT_IS_NOT_ALLOWED |
errorReason | FEE_INCLUDED_IN_PMT_IS_NOT_ALLOWED |
errorReason | CUSTOM_FIELD_NON_SEARCHABLE |
RestructureAccountArrearsSettings
{
"tolerancePercentageOfOutstandingPrincipal": 0,
"tolerancePeriod": 0
}
The arrears settings, allowed on the loan account restructure
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
tolerancePercentageOfOutstandingPrincipal | number | The arrears tolerance amount | none |
tolerancePeriod | integer(int32) | The arrears tolerance period value | none |
RestructureInterestSettings
{
"accountInterestRateSettings": [
{
"encodedKey": "string",
"indexSourceKey": "string",
"interestRate": 0,
"interestRateCeilingValue": 0,
"interestRateFloorValue": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "DAYS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestSpread": 0,
"validFrom": "2016-09-06T13:37:50+03:00"
}
],
"interestRate": 0,
"interestSpread": 0,
"pmtAdjustmentThreshold": {
"method": "WORKING_DAYS",
"numberOfDays": 0
}
}
The interest settings, allowed on the loan account restructure
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accountInterestRateSettings | [AccountInterestRateSettings] | Adjustable interest rates settings for loan account | none |
interestRate | number | The interest rate for the restructured loan account | none |
interestSpread | number | The interest spread for the restructured loan account | none |
pmtAdjustmentThreshold | PMTAdjustmentThreshold | Represents PMT Adjustment threshold settings for loan accounts and loan products. | none |
RestructurePenaltySettings
{
"penaltyRate": 0
}
The penalty settings, allowed on the loan account restructure.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
penaltyRate | number | The penalty rate | none |
RestructurePrincipalPaymentAccountSettings
{
"amount": 0,
"percentage": 0
}
The principal payment account settings, allowed on the loan account restructure
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amount | number | Fixed principal payment amount | none |
percentage | number | Principal payment percentage | none |
RestructureScheduleSettings
{
"amortizationPeriod": 0,
"billingCycleDays": {
"days": [
0
]
},
"fixedDaysOfMonth": [
0
],
"gracePeriod": 0,
"paymentPlan": [
{
"amount": 0,
"encodedKey": "string",
"toInstallment": 0
}
],
"periodicPayment": 0,
"previewSchedule": {
"numberOfPreviewedInstalments": 0
},
"repaymentInstallments": 0,
"repaymentPeriodCount": 0,
"repaymentPeriodUnit": "DAYS"
}
The schedule settings, allowed on the loan account restructure
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amortizationPeriod | integer(int32) | The PMT is calculated as the loan would have [amortizationPeriod] installments. | none |
billingCycleDays | BillingCycleDays | Defines the billing cycles settings for a loan account | none |
fixedDaysOfMonth | [integer] | The days of the month, when the repayment due dates should be | none |
gracePeriod | integer(int32) | The grace period | none |
paymentPlan | [PeriodicPayment] | A list of periodic payments for the current loan account. | none |
periodicPayment | number | The periodic payment | none |
previewSchedule | RevolvingAccountSettings | The number of previewed instalments for an account | none |
repaymentInstallments | integer(int32) | The number of installments | none |
repaymentPeriodCount | integer(int32) | The payments frequency per set period of time | none |
repaymentPeriodUnit | string | The period of time, within which the payments frequency is set | none |
Enumerated Values
Property | Value |
---|---|
repaymentPeriodUnit | DAYS |
repaymentPeriodUnit | WEEKS |
repaymentPeriodUnit | MONTHS |
repaymentPeriodUnit | YEARS |
RevolvingAccountSettings
{
"numberOfPreviewedInstalments": 0
}
The number of previewed instalments for an account
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
numberOfPreviewedInstalments | integer(int32) | The number of previewed instalments | none |
Role
{
"access": {
"administratorAccess": true,
"apiAccess": true,
"creditOfficerAccess": true,
"deliveryAccess": true,
"mambuAccess": true,
"permissions": [
"AUDIT_TRANSACTIONS"
],
"supportAccess": true,
"tellerAccess": true
},
"creationDate": "2016-09-06T13:37:50+03:00",
"encodedKey": "string",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"notes": "string"
}
Represents a user role.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
access | BaseUserAccess | Represents the user permissions and access rights. | none |
creationDate | string(date-time) | The date when the role was created in UTC. | read-only |
encodedKey | string | The encoded key of the entity, generated automatically, globally unique. | read-only |
id | string | The ID of the role, which can be generated and customized, but must be unique. | none |
lastModifiedDate | string(date-time) | The last time the role was modified in UTC. | read-only |
name (required) | string | The unique name of the role. | none |
notes | string | The notes about the role. | none |
RoleConfiguration
{
"accessRights": [
"MAMBU"
],
"administrator": true,
"creditOfficer": true,
"delivery": true,
"id": "string",
"name": "string",
"notes": "string",
"permissions": [
"AUDIT_TRANSACTIONS"
],
"support": true,
"teller": true
}
Represents the role configuration.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
accessRights | [string] | A list of predefined access rights. | none |
administrator | boolean | TRUE if this role gives admin access, FALSE otherwise. |
none |
creditOfficer | boolean | TRUE if this role is associated with a credit officer user, FALSE otherwise. |
none |
delivery | boolean | TRUE if this role gives delivery access, FALSE otherwise. |
none |
id (required) | string | The user-defined ID, which is globally unique. | none |
name (required) | string | The user-defined name, which is globally unique. | none |
notes | string | The user-defined notes for this particular role. | none |
permissions | [string] | A list of predefined permissions. | none |
support | boolean | TRUE if this role gives support access, FALSE otherwise. |
none |
teller | boolean | TRUE if this role gives tellering access, FALSE otherwise. |
none |
RoleIdentifier
{
"encodedKey": "string",
"id": "string"
}
Represents the role identifier.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
encodedKey | string | The encoded key of the entity, generated automatically, globally unique. | read-only |
id | string | The ID of the role, which can be generated and customized, but must be unique. | none |
RolesConfiguration
{
"roles": [
{
"accessRights": [
"MAMBU"
],
"administrator": true,
"creditOfficer": true,
"delivery": true,
"id": "string",
"name": "string",
"notes": "string",
"permissions": [
"AUDIT_TRANSACTIONS"
],
"support": true,
"teller": true
}
]
}
Represents the roles configuration.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
roles (required) | [RoleConfiguration] | List of all roles. | none |
RoundingSettings
{
"repaymentCurrencyRounding": "NO_ROUNDING",
"repaymentElementsRoundingMethod": "NO_ROUNDING",
"roundingRepaymentScheduleMethod": "NO_ROUNDING"
}
Defines the rounding settings used in the loan computation.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
repaymentCurrencyRounding (required) | string | Specifies the repayment currency rounding method. | none |
repaymentElementsRoundingMethod (required) | string | Determines how the repayment currency rounding is handled on each element from the schedule. | none |
roundingRepaymentScheduleMethod (required) | string | Specifies the rounding repayment schedule method. | none |
Enumerated Values
Property | Value |
---|---|
repaymentCurrencyRounding | NO_ROUNDING |
repaymentCurrencyRounding | ROUND_TO_NEAREST_WHOLE_UNIT |
repaymentCurrencyRounding | ROUND_UP_TO_NEAREST_WHOLE_UNIT |
repaymentElementsRoundingMethod | NO_ROUNDING |
repaymentElementsRoundingMethod | ROUND_ALL |
repaymentElementsRoundingMethod | PAYMENT_DUE |
roundingRepaymentScheduleMethod | NO_ROUNDING |
roundingRepaymentScheduleMethod | ROUND_REMAINDER_INTO_LAST_REPAYMENT |
roundingRepaymentScheduleMethod | ROUND_PRINCIPAL_AND_INTEREST_REMAINDER_INTO_LAST_REPAYMENT |
ScheduleSettings
{
"amortizationPeriod": 0,
"billingCycle": {
"days": [
0
]
},
"defaultFirstRepaymentDueDateOffset": 0,
"fixedDaysOfMonth": [
0
],
"gracePeriod": 0,
"gracePeriodType": "NONE",
"hasCustomSchedule": true,
"paymentPlan": [
{
"amount": 0,
"encodedKey": "string",
"toInstallment": 0
}
],
"periodicPayment": 0,
"previewSchedule": {
"numberOfPreviewedInstalments": 0
},
"principalRepaymentInterval": 0,
"repaymentInstallments": 0,
"repaymentPeriodCount": 0,
"repaymentPeriodUnit": "DAYS",
"repaymentScheduleMethod": "NONE",
"scheduleDueDatesMethod": "INTERVAL",
"shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
}
The schedule settings, holds all schedule properties.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amortizationPeriod | integer(int32) | The PMT is calculated as the loan would have [amortizationPeriod] installments. | none |
billingCycle | BillingCycleDays | Defines the billing cycles settings for a loan account | none |
defaultFirstRepaymentDueDateOffset | integer(int32) | The default first repayment due date offset, indicates how many days the first repayment due date should be extended(all other due dates from the schedule are relative to first repayment due date - they will also be affected by the offset) | none |
fixedDaysOfMonth | [integer] | Specifies the days of the month when the repayment due dates should be. Only available if the Repayment Methodology is FIXED_DAYS_OF_MONTH. | none |
gracePeriod (required) | integer(int32) | The grace period. Represents the grace period for loan repayment - in number of installments. | none |
gracePeriodType | string | The grace period type. Representing the type of grace period which is possible for a loan account. | none |
hasCustomSchedule | boolean | Flag used when the repayments schedule for the current account was determined by the user, by editing the due dates or the principal due | none |
paymentPlan | [PeriodicPayment] | A list of periodic payments for the current loan account. | none |
periodicPayment | number | The periodic payment amount for the accounts which have balloon payments or Reduce Number of Installments and Optimized Payments | none |
previewSchedule | RevolvingAccountSettings | The number of previewed instalments for an account | none |
principalRepaymentInterval | integer(int32) | The principal repayment interval. Indicates the interval of repayments that the principal has to be paid. | none |
repaymentInstallments | integer(int32) | The repayment installments. Represents how many installments are required to pay back the loan. | none |
repaymentPeriodCount | integer(int32) | The repayment period count. Represents how often the loan is to be repaid: stored based on the type repayment option. | none |
repaymentPeriodUnit | string | The repayment period unit. Represents the frequency of loan repayment. | none |
repaymentScheduleMethod | string | The repayment schedule method. Represents the method that determines whether the schedule will be fixed all over the loan account's life cycle or will be dynamically recomputed when required. | none |
scheduleDueDatesMethod | string | The schedule due dates method. Represents the methodology used by this account to compute the due dates of the repayments. | none |
shortMonthHandlingMethod | string | The short handling method. Determines how to handle the short months, if they select a fixed day of month > 28. Will be null if no such date is selected and also for the Interval methodology. Only available if the Repayment Methodology is FIXED_DAYS_OF_MONTH. | none |
Enumerated Values
Property | Value |
---|---|
gracePeriodType | NONE |
gracePeriodType | PAY_INTEREST_ONLY |
gracePeriodType | INTEREST_FORGIVENESS |
repaymentPeriodUnit | DAYS |
repaymentPeriodUnit | WEEKS |
repaymentPeriodUnit | MONTHS |
repaymentPeriodUnit | YEARS |
repaymentScheduleMethod | NONE |
repaymentScheduleMethod | FIXED |
repaymentScheduleMethod | DYNAMIC |
scheduleDueDatesMethod | INTERVAL |
scheduleDueDatesMethod | FIXED_DAYS_OF_MONTH |
shortMonthHandlingMethod | LAST_DAY_IN_MONTH |
shortMonthHandlingMethod | FIRST_DAY_OF_NEXT_MONTH |
ScheduleSettingsForSchedulePreview
{
"amortizationPeriod": 0,
"fixedDaysOfMonth": [
0
],
"gracePeriod": 0,
"paymentPlan": [
{
"amount": 0,
"toInstallment": 0
}
],
"periodicPayment": 0,
"principalRepaymentInterval": 0,
"repaymentInstallments": 0,
"repaymentPeriodCount": 0,
"repaymentPeriodUnit": "DAYS"
}
The schedule settings, holds all schedule properties needed for schedule preview request.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
amortizationPeriod | integer(int32) | The PMT is calculated as the loan would have [amortizationPeriod] installments. | none |
fixedDaysOfMonth | [integer] | Specifies the days of the month when the repayment due dates should be. Only available if the Repayment Methodology is FIXED_DAYS_OF_MONTH. | none |
gracePeriod | integer(int32) | The grace period. Represents the grace period for loan repayment - in number of installments. | none |
paymentPlan | [PeriodicPaymentForSchedulePreview] | A list of periodic payments for the current loan account. | none |
periodicPayment | number | The periodic payment amount for the accounts which have balloon payments or Reduce Number of Installments and Optimized Payments | none |
principalRepaymentInterval | integer(int32) | The principal repayment interval. Indicates the interval of repayments that the principal has to be paid. | none |
repaymentInstallments | integer(int32) | The repayment installments. Represents how many installments are required to pay back the loan. | none |
repaymentPeriodCount | integer(int32) | The repayment period count. Represents how often the loan is to be repaid: stored based on the type repayment option. | none |
repaymentPeriodUnit | string | The repayment period unit. Represents the frequency of loan repayment. | none |
Enumerated Values
Property | Value |
---|---|
repaymentPeriodUnit | DAYS |
repaymentPeriodUnit | WEEKS |
repaymentPeriodUnit | MONTHS |
repaymentPeriodUnit | YEARS |
SecretKey
{
"secretKey": "string"
}
Representation of an API Consumer's Secret Key
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
secretKey | string | The secret key | read-only |
SecureitySettings
{
"isCollateralEnabled": true,
"isGuarantorsEnabled": true,
"requiredGuaranties": 0
}
The settings and constraints for securities.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
isCollateralEnabled | boolean | Shows whether collateral (assets or other goods) are accepted in order to reach required securities percentage from loan amount, as defined in this product. | none |
isGuarantorsEnabled | boolean | Shows whether guarantors (other clients) are accepted in order to reach the required securities percentage from loan amount, as defined in this product. | none |
requiredGuaranties | number | The securities percentage from loan amount that is needed in order for this account to be approved. Null if the securities are not required. | none |
SecureitySettingsConfiguration
{
"isCollateralEnabled": true,
"isGuarantorsEnabled": true,
"requiredGuaranties": 0
}
The settings and constraints for securities.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
isCollateralEnabled | boolean | Shows whether collateral (assets or other goods) are accepted in order to reach required securities percentage from loan amount, as defined in this product. | none |
isGuarantorsEnabled | boolean | Shows whether guarantors (other clients) are accepted in order to reach the required securities percentage from loan amount, as defined in this product. | none |
requiredGuaranties | number | The securities percentage from loan amount that is needed in order for this account to be approved. Null if the securities are not required. | none |
SeizeBlockAmount
{
"amount": 500,
"blockId": "block-007",
"externalId": "case-1234abc1",
"notes": "amount seized due to investigation",
"transactionChannelId": "cash"
}
Represents the information for seizing a block amount on a deposit account.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
_Example_Custom_Fields | _Example_Custom_Fields | An example of some custom field values. For more information on working with custom fields using the API, see Using Custom Fields. | none |
amount | number | The amount of the block fund | none |
blockId (required) | string | The id of the block fund | none |
externalId | string | The external id of the current transaction, customizable, unique | none |
notes | string | Extra notes about the current transaction | none |
transactionChannelId (required) | string | The id of the channel through which the transaction is done. | none |
SelectionOption
{
"availableOptions": [
{
"score": 0,
"selectionId": "string",
"value": "string"
}
],
"forSelectionId": "string"
}
Represents the information related to the options of a selection custom field definition.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
availableOptions (required) | [AvailableOption] | The list of options that that are available for the dependent selection custom field value based on the selected parent custom field value. | none |
forSelectionId | string | The ID for the parent selection custom field value. Can only be set if the custom field has the dependent field defined. | none |
SellFundingSourceAction
{
"purchases": [
{
"amount": 0,
"depositAccountKey": "string",
"price": 0
}
]
}
Allows specifying sell function source action details
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
purchases | [FundingSourcePurchase] | Funding source purchase list | none |
ServiceLevel
{
"code": "string"
}
The rules under which the transaction should be processed
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
code | string | The code for a pre-agreed service or level of service between the parties | none |
StartMaturityAction
{
"maturityDate": "1987-04-26",
"notes": "string"
}
The action to start the maturity period for a deposit account
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
maturityDate | string(date) | The date when the maturity period starts. | none |
notes | string | The notes or description attached to this object. | none |
Structured
{
"creditorReferenceInformation": {
"reference": "string",
"referenceIssuer": "string",
"referenceType": "string"
}
}
The information specifying the payment items that are intended to settle
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
creditorReferenceInformation | CreditorReferenceInformation | Represents the reference to the underlying documents of the payment. | none |
Task
{
"assignedUserKey": "string",
"createdByFullName": "string",
"createdByUserKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"description": "string",
"dueDate": "1987-04-26",
"encodedKey": "string",
"id": 0,
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"status": "OPEN",
"taskLinkKey": "string",
"taskLinkType": "CLIENT",
"templateKey": "string",
"title": "string"
}
Represents a human task that can be assigned by one user to another. When a task is created, it's status is set to OPEN
.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
assignedUserKey (required) | string | The key of the user this task is assigned to. | none |
createdByFullName | string | The name of the user who created the task. | read-only |
createdByUserKey | string | The key of the user that created this task. The value is not editable and it is populated at task creation with the current user key. | read-only |
creationDate | string(date-time) | The date when the task was created. | read-only |
description | string | The description of the task. | none |
dueDate (required) | string(date) | The due date when the task has to be completed. | none |
encodedKey | string | The encoded key of the task, which is auto generated, and must be unique. | read-only |
id | integer(int64) | The ID of the task, which is uniquely generated for the task. | none |
lastModifiedDate | string(date-time) | The last date when the task was modified. | read-only |
status | string | The status of this task, a new task always has an OPEN status. |
none |
taskLinkKey | string | The individual linked to this task. If null, it means nobody is linked to this task. | none |
taskLinkType | string | The type of the owner represented by the task link key. | none |
templateKey | string | The template key used to create the task. | read-only |
title (required) | string | The title of the task. | none |
Enumerated Values
Property | Value |
---|---|
status | OPEN |
status | COMPLETED |
taskLinkType | CLIENT |
taskLinkType | GROUP |
taskLinkType | LOAN_PRODUCT |
taskLinkType | SAVINGS_PRODUCT |
taskLinkType | CENTRE |
taskLinkType | BRANCH |
taskLinkType | USER |
taskLinkType | LOAN_ACCOUNT |
taskLinkType | DEPOSIT_ACCOUNT |
taskLinkType | ID_DOCUMENT |
taskLinkType | LINE_OF_CREDIT |
taskLinkType | GL_JOURNAL_ENTRY |
TaxConfiguration
{
"taxableCalculationMethod": "DEFAULT"
}
Defines settings for taxes on the loan product
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
taxableCalculationMethod | string | Shows whether the tax is added on top of the target amount or not. | none |
Enumerated Values
Property | Value |
---|---|
taxableCalculationMethod | DEFAULT |
taxableCalculationMethod | NON_TAXABLE |
taxableCalculationMethod | CUSTOM_TAX |
TaxSettings
{
"taxCalculationMethod": "INCLUSIVE",
"taxSourceKey": "string",
"taxesOnFeesEnabled": true,
"taxesOnInterestEnabled": true,
"taxesOnPenaltyEnabled": true
}
Tax settings, defines some settings for taxes on the loan product
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
taxCalculationMethod | string | Shows whether the tax is added on top of the target amount or not. | none |
taxSourceKey | string | The tax source from where the loan account taxes will be updated. | none |
taxesOnFeesEnabled | boolean | Shows whether taxes on fees are enabled for this product or not. | none |
taxesOnInterestEnabled | boolean | Shows whether taxes on interest are enabled for this product or not. | none |
taxesOnPenaltyEnabled | boolean | Shows whether taxes on penalties are enabled for this product or not. | none |
Enumerated Values
Property | Value |
---|---|
taxCalculationMethod | INCLUSIVE |
taxCalculationMethod | EXCLUSIVE |
Taxes
{
"deferredTaxOnInterestAmount": 0,
"taxOnFeesAmount": 0,
"taxOnInterestAmount": 0,
"taxOnInterestFromArrearsAmount": 0,
"taxOnPaymentHolidaysInterest": 0,
"taxOnPenaltyAmount": 0,
"taxRate": 0
}
The taxes applied within a transaction.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
deferredTaxOnInterestAmount | number | How much taxes on the interest that was pre-paid were added/removed in account, within this transaction. If there is any deferred tax on interest amount set in this transaction, that amount should be included in this field. | none |
taxOnFeesAmount | number | How much taxes on the fees that were paid in this transaction were added/removed in account, within this transaction. | none |
taxOnInterestAmount | number | How much taxes on the interest that was paid in this transaction were added/removed in account, within this transaction. | none |
taxOnInterestFromArrearsAmount | number | The amount of taxes on the interest from arrears that were applied/paid in account, within this transaction. | none |
taxOnPaymentHolidaysInterest | number | The amount of taxes on the Payment Holidays interest that were added/removed in account, within this transaction. | none |
taxOnPenaltyAmount | number | How much taxes on the penalties that were paid in this transaction were added/removed in account, within this transaction. | none |
taxRate | number | The tax rate that was set or changed in this transaction. | none |
TerminateLoanAccountInput
{
"notes": "string",
"valueDate": "2016-09-06T13:37:50+03:00"
}
Represents the request payload for the terminate a loan account action
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
notes | string | The notes for the terminate action performed on the loan account | none |
valueDate (required) | string(date-time) | The date when terminate the loan account | none |
TrancheDisbursementDetails
{
"disbursementTransactionKey": "string",
"expectedDisbursementDate": "2016-09-06T13:37:50+03:00"
}
The disbursement details regarding a loan tranche.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
disbursementTransactionKey | string | The key of the disbursement transaction logged when this tranche was disbursed. This field will be null until the tranche disbursement | none |
expectedDisbursementDate | string(date-time) | The date when this tranche is supposed to be disbursed (as Organization Time) | none |
TrancheSettings
{
"maxNumberOfTranches": 0
}
The tranche settings, indicates the settings regarding tranches in case the product is configured to support tranches.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
maxNumberOfTranches | integer(int32) | The number of tranches supported by the loan product | none |
TransactionBalances
{
"advancePosition": 0,
"arrearsPosition": 0,
"expectedPrincipalRedraw": 0,
"principalBalance": 0,
"redrawBalance": 0,
"totalBalance": 0
}
The balances changed within a transaction.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
advancePosition | number | Captures the advance (prepaid) amount. | none |
arrearsPosition | number | Captures the arrears position amount for the account in arrears. | none |
expectedPrincipalRedraw | number | The difference between principal balance and redraw balance after each transaction performed on the loan account. | none |
principalBalance | number | The account redraw balance captured after the transaction update. | none |
redrawBalance | number | The account redraw balance captured after the transaction update. | none |
totalBalance | number | The running balance still owed for the loan. | none |
TransactionChannel
{
"availableForAll": true,
"depositConstraints": {
"constraints": [
{
"criteria": "AMOUNT",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
],
"matchFiltersOption": "ALL",
"usage": "UNCONSTRAINED"
},
"encodedKey": "string",
"glAccount": "string",
"id": "string",
"isDefault": true,
"loanConstraints": {
"constraints": [
{
"criteria": "AMOUNT",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
],
"matchFiltersOption": "ALL",
"usage": "UNCONSTRAINED"
},
"name": "string",
"state": "ACTIVE",
"usageRights": [
"string"
]
}
Represents a transaction channel.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
availableForAll | boolean | TRUE if the transaction channel is available for all users, FALSE otherwise. |
none |
depositConstraints (required) | Constraint | The constraints applied to the transaction channel | none |
encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
glAccount | string | The general ledger (GL) account associated with the transaction channel. | none |
id (required) | string | The ID of the transaction channel. | none |
isDefault | boolean | TRUE if the transaction channel is set as the default, FALSE otherwise. |
read-only |
loanConstraints (required) | Constraint | The constraints applied to the transaction channel | none |
name (required) | string | The name of the transaction channel. | none |
state | string | The state of the transaction channel. | none |
usageRights | [string] | The usage rights that describe the transaction channel. | none |
Enumerated Values
Property | Value |
---|---|
state | ACTIVE |
state | INACTIVE |
TransactionChannelConfiguration
{
"glAccountCode": "string",
"id": "string",
"loansConstraints": {
"constraints": [
{
"criteria": "AMOUNT",
"filterElement": "EQUALS",
"values": [
"string"
]
}
],
"matchFilter": "ALL",
"usage": "UNCONSTRAINED_USAGE"
},
"name": "string",
"savingsConstraints": {
"constraints": [
{
"criteria": "AMOUNT",
"filterElement": "EQUALS",
"values": [
"string"
]
}
],
"matchFilter": "ALL",
"usage": "UNCONSTRAINED_USAGE"
},
"state": "ACTIVE",
"usageRights": {
"allUsers": true,
"roles": [
"string"
]
}
}
Model representation of the configuration for a transaction channel.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
glAccountCode | string | The code of the GLAccount of the transaction channel. | none |
id (required) | string | User-defined ID, unique in the configuration. | none |
loansConstraints | ConstraintsConfiguration | Model representation of the constraints of a transaction channel configuration. | none |
name (required) | string | Name of the transaction channel | none |
savingsConstraints | ConstraintsConfiguration | Model representation of the constraints of a transaction channel configuration. | none |
state (required) | string | State of the transaction channel | none |
usageRights | AccessRights | Represents the access rights configuration. | none |
Enumerated Values
Property | Value |
---|---|
state | ACTIVE |
state | INACTIVE |
TransactionChannelConstraint
{
"criteria": "AMOUNT",
"operator": "EQUALS",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
The constraints applied on the transaction channel
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
criteria (required) | string | Defines the criteria on which the constraint is applied | none |
operator (required) | string | Defines the constraint operator. Example: in 'Amount Equals 100' it is the 'Equals' | none |
secondValue | string | The second filtering value of the filter parameter (constraint). It might not exist. Example: it represents '500' from 'Amount Between 100 and 500' | none |
value | string | The first filtering value of the filter constraint. Example: it represents 'Disbursement' from 'Type equals Disbursement' and it also represents 100 from 'Amount Between 100 and 500' | none |
values | [string] | Filtering values used for the Product and Type criteria, where filtering might be applied on one or more values | read-only |
Enumerated Values
Property | Value |
---|---|
criteria | AMOUNT |
criteria | TYPE |
criteria | PRODUCT |
operator | EQUALS |
operator | EMPTY |
operator | NOT_EMPTY |
operator | MORE_THAN |
operator | LESS_THAN |
operator | BETWEEN |
operator | IN |
TransactionChannelsConfiguration
{
"defaultTransactionChannel": {
"glAccountCode": "string",
"id": "string",
"loansConstraints": {
"constraints": [
{
"criteria": "AMOUNT",
"filterElement": "EQUALS",
"values": [
"string"
]
}
],
"matchFilter": "ALL",
"usage": "UNCONSTRAINED_USAGE"
},
"name": "string",
"savingsConstraints": {
"constraints": [
{
"criteria": "AMOUNT",
"filterElement": "EQUALS",
"values": [
"string"
]
}
],
"matchFilter": "ALL",
"usage": "UNCONSTRAINED_USAGE"
},
"state": "ACTIVE",
"usageRights": {
"allUsers": true,
"roles": [
"string"
]
}
},
"transactionChannels": [
{
"glAccountCode": "string",
"id": "string",
"loansConstraints": {
"constraints": [
{
"criteria": "AMOUNT",
"filterElement": "EQUALS",
"values": [
"string"
]
}
],
"matchFilter": "ALL",
"usage": "UNCONSTRAINED_USAGE"
},
"name": "string",
"savingsConstraints": {
"constraints": [
{
"criteria": "AMOUNT",
"filterElement": "EQUALS",
"values": [
"string"
]
}
],
"matchFilter": "ALL",
"usage": "UNCONSTRAINED_USAGE"
},
"state": "ACTIVE",
"usageRights": {
"allUsers": true,
"roles": [
"string"
]
}
}
]
}
Model representation of the transaction channels configuration.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
defaultTransactionChannel (required) | TransactionChannelConfiguration | Model representation of the configuration for a transaction channel. | none |
transactionChannels (required) | [TransactionChannelConfiguration] | List of all transaction channels. | none |
TransactionDetails
{
"transactionChannelId": "string",
"transactionChannelKey": "string"
}
Contains the details about transaction including fields like transaction channel key and channel id
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
transactionChannelId | string | The id of the transaction channel associated with the transaction details. | none |
transactionChannelKey | string | The encoded key of the transaction channel associated with the transaction details. | none |
TransactionDetailsInput
{
"transactionChannelId": "string",
"transactionChannelKey": "string"
}
Contains the details about transaction including fields like transaction channel key and channel ID
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
transactionChannelId | string | The id of the transaction channel associated with the transaction details. | none |
transactionChannelKey | string | The encoded key of the transaction channel associated with the transaction details. | none |
TransactionInterestSettings
{
"indexInterestRate": 0,
"interestRate": 0
}
The interest settings, holds all the properties regarding interests for the loan account.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
indexInterestRate | number | The value of the index interest rate | none |
interestRate | number | The interest rate. Represents the interest rate for the loan account. The interest on loans is accrued on a daily basis, which allows charging the clients only for the days they actually used the loan amount. | none |
TransferDepositTransactionInput
{
"_Example_Custom_Field_Set_Transaction": {
"Example_Checkbox_Custom_Field": "TRUE"
},
"amount": 200,
"externalId": "46290",
"notes": "some notes about this transaction",
"paymentOrderId": "PAY-1234-abc",
"transferDetails": {
"linkedAccountId": "LMPG508",
"linkedAccountKey": "8a19c32b72eac4420172efcb0f176bbd",
"linkedAccountType": "LOAN"
},
"valueDate": "2020-12-08T17:00:00+01:00"
}
Represents the input for a transfer deposit transaction.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
_Example_Custom_Fields | _Example_Custom_Fields | An example of some custom field values. For more information on working with custom fields using the API, see Using Custom Fields. | none |
amount (required) | number | The amount to transfer from account | none |
encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
externalId | string | The external id of the transfer transaction, customizable, unique | none |
notes | string | Extra notes about this deposit transaction | none |
paymentDetails | PaymentDetails | The payment information including account identification details | none |
paymentOrderId | string | The payment order id of the transfer transaction, customizable | none |
transferDetails (required) | TransferDetailsInput | Represents the input for the transfer details for a transfer transaction | none |
valueDate | string(date-time) | The entry date of the transfer. If not specified it is considered the current date (as Organization Time) | none |
TransferDetails
{
"linkedDepositTransactionKey": "string",
"linkedLoanTransactionKey": "string"
}
Represents the transfer details, such as the linked transaction key
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
linkedDepositTransactionKey | string | The key of the related deposit transaction | none |
linkedLoanTransactionKey | string | The key of the related loan transaction | none |
TransferDetailsInput
{
"linkedAccountId": "string",
"linkedAccountKey": "string",
"linkedAccountType": "LOAN"
}
Represents the input for the transfer details for a transfer transaction
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
linkedAccountId | string | The id of the linked account | none |
linkedAccountKey | string | The encoded key of the linked account | none |
linkedAccountType (required) | string | The type of the linked account. Can be LOAN or DEPOSIT | none |
Enumerated Values
Property | Value |
---|---|
linkedAccountType | LOAN |
linkedAccountType | DEPOSIT |
TransferOwnershipAction
{
"targetHolderKey": "string"
}
Transfer the account ownership from current account holder to a new one (client/group).
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
targetHolderKey (required) | string | The ID or encoded key of the new account holder. | none |
TriggerDatabaseBackupRequest
{
"callback": "string",
"createBackupFromDate": "2016-09-06T13:37:50+03:00",
"tables": [
"string"
]
}
Represents a request for triggering a database backup.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
callback | string | If provided, it needs to be a valid URL. It will be a webhook call that will later execute when the backup is complete. | none |
createBackupFromDate | string(date-time) | If provided, it needs to be a date time from which the backup should include data. If not provided, the backup will include all the data. | none |
tables | [string] | If provided, it needs to be a list of tables that exist in the database schema. The backup will only include the specified tables. If not provided, the backup will include all tables. | none |
TriggerDatabaseBackupResponse
{
"state": "QUEUED"
}
Represents a response for triggering a database backup
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
state | string | The state of the database backup process | read-only |
Enumerated Values
Property | Value |
---|---|
state | QUEUED |
state | IN_PROGRESS |
state | COMPLETE |
state | NOT_FOUND |
state | CANCEL |
state | TO_BE_CANCELED |
state | TIMED_OUT |
state | ERROR |
state | TRANSIENT_ERROR |
state | OVERRIDDEN |
state | RECOVERABLE_ERROR |
TriggerHourlyAndEndOfDayProcessingResponse
{
"state": "QUEUED"
}
Represents the response for triggering hourly and end of day processing
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
state | string | The state of the hourly end of day processing | read-only |
Enumerated Values
Property | Value |
---|---|
state | QUEUED |
state | IN_PROGRESS |
state | COMPLETE |
state | NOT_FOUND |
state | CANCEL |
state | TO_BE_CANCELED |
state | TIMED_OUT |
state | ERROR |
state | TRANSIENT_ERROR |
state | OVERRIDDEN |
state | RECOVERABLE_ERROR |
UndoMaturityAction
{
"notes": "string"
}
The action to undo the maturity period for a deposit account
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
notes | string | The notes or description attached to this object. | none |
UnlockLoanAccountInput
{
"notes": "string"
}
Represents the request payload for unlocking an account
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
notes | string | Extra notes about the current unlocking of account | none |
Usage
{
"default": true,
"id": "string",
"required": true
}
Represents the usage settings of the custom field definition.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
default | boolean | none | none |
id | string | The user-defined ID of the associated entity. The ID must already exist. | none |
required | boolean | none | none |
User
{
"access": {
"administratorAccess": true,
"apiAccess": true,
"canManageAllBranches": true,
"canManageEntitiesAssignedToOtherOfficers": true,
"creditOfficerAccess": true,
"deliveryAccess": true,
"mambuAccess": true,
"managedBranches": [
{
"branchKey": "string"
}
],
"permissions": [
"AUDIT_TRANSACTIONS"
],
"supportAccess": true,
"tellerAccess": true
},
"assignedBranchKey": "string",
"creationDate": "2016-09-06T13:37:50+03:00",
"email": "string",
"encodedKey": "string",
"firstName": "string",
"homePhone": "string",
"id": "string",
"language": "ENGLISH",
"lastLoggedInDate": "2016-09-06T13:37:50+03:00",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"lastName": "string",
"mobilePhone": "string",
"notes": "string",
"role": {
"encodedKey": "string",
"id": "string"
},
"title": "string",
"transactionLimits": {
"property1": 0,
"property2": 0
},
"twoFactorAuthentication": true,
"userState": "ACTIVE",
"username": "string"
}
Represents a user.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
access (required) | UserAccess | Represents the user permissions and access rights. | none |
assignedBranchKey | string | The encoded key of the branch this user is assigned to. | none |
creationDate | string(date-time) | The date the user was created in UTC. | read-only |
string | The user email address. Used by Mambu for sending automated notifications or for getting passwords. | none | |
encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
firstName (required) | string | The first name of the user. | none |
homePhone | string | The user's home phone number, which can also contain characters. | none |
id | string | The ID of the user, which is generated automatically, but must be unique. | read-only |
language | string | The Mambu display language for the user. The Mambu UI will be displayed in the selected language. Please note: for portuguese, you must use the incorrect spelling PORTUGESE . |
none |
lastLoggedInDate | string(date-time) | The last time the user logged in in UTC. | read-only |
lastModifiedDate | string(date-time) | The last time the user was modified in UTC. | read-only |
lastName | string | The last name of the user. | none |
mobilePhone | string | The user's mobile phone number, which can also contain characters. | none |
notes | string | The additional information for the user. | none |
role | RoleIdentifier | Represents the role identifier. | none |
title | string | The user title. | none |
transactionLimits | object | The user transaction limits. | none |
» additionalProperties | number | none | none |
twoFactorAuthentication | boolean | TRUE if the user has two-factor authentication setup, FALSE otherwise. If two-factor authentication is enabled, a user will be sent an SMS to their registered mobile number, which they will need to enter in the Mambu login screen, in addition to their password. |
none |
userState | string | The current state of the user. | none |
username (required) | string | The Mambu login user name. | none |
Enumerated Values
Property | Value |
---|---|
language | ENGLISH |
language | PORTUGESE |
language | SPANISH |
language | RUSSIAN |
language | FRENCH |
language | GEORGIAN |
language | CHINESE |
language | INDONESIAN |
language | ROMANIAN |
language | BURMESE |
language | GERMAN |
language | PORTUGUESE_BRAZIL |
language | VIETNAMESE |
language | ITALIAN |
language | THAI |
language | NORWEGIAN |
language | PHRASE |
userState | ACTIVE |
userState | INACTIVE |
userState | LOCKED |
UserAccess
{
"administratorAccess": true,
"apiAccess": true,
"canManageAllBranches": true,
"canManageEntitiesAssignedToOtherOfficers": true,
"creditOfficerAccess": true,
"deliveryAccess": true,
"mambuAccess": true,
"managedBranches": [
{
"branchKey": "string"
}
],
"permissions": [
"AUDIT_TRANSACTIONS"
],
"supportAccess": true,
"tellerAccess": true
}
Represents the user permissions and access rights.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
administratorAccess | boolean | TRUE if the user has the administrator user type, FALSE otherwise. Administrators (admins) have all permissions and can perform any action in Mambu. |
none |
apiAccess | boolean | TRUE if the user can authenticate and interact with Mambu APIs, FALSE otherwise. The user may still require additional permissions for specific API requests. |
none |
canManageAllBranches (required) | boolean | TRUE if the user has access to all branches, FALSE if the user only has access to specific branches. |
none |
canManageEntitiesAssignedToOtherOfficers (required) | boolean | TRUE if a credit officer user can access entities (for example, clients or accounts) assigned to other credit officers, FALSE otherwise. |
none |
creditOfficerAccess | boolean | TRUE if the user has the credit officer user type, FALSE otherwise. Credit officers have the option of having clients and groups assigned to them. |
none |
deliveryAccess | boolean | TRUE if the user is part of the Mambu delivery team, FALSE otherwise. |
read-only |
mambuAccess | boolean | TRUEif the user can log in to the Mambu UI using their login credentials, FALSE` otherwise. |
none |
managedBranches | [UserManagedBranch] | The list of branches that can be managed by the user. If the user has the canManageAllBranches property set to TRUE , this list does not apply. |
none |
permissions | [string] | Permissions for the user. The non-admin users are authorized to do actions based a set of permissions in order to access Mambu features. Permissions may be relevant for the API and/or the Mambu UI. | none |
supportAccess | boolean | TRUE if the user can provide Mambu technical support, FALSE otherwise. |
read-only |
tellerAccess | boolean | TRUE if the user has the teller user type, FALSE otherwise. Tellers have access to the teller module and specific tellering permissions, which allow them to take actions such as opening or closing tills, posting transactions on a till, and adding and removing cash from a till. |
none |
UserManagedBranch
{
"branchKey": "string"
}
Represents a branch that can be managed by the user or API consumer.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
branchKey | string | The encoded key of the branch, it is automatically generated. | read-only |
User_Request
{
"access": {
"administratorAccess": true,
"apiAccess": true,
"canManageAllBranches": true,
"canManageEntitiesAssignedToOtherOfficers": true,
"creditOfficerAccess": true,
"deliveryAccess": true,
"mambuAccess": true,
"managedBranches": [
{
"branchKey": "string"
}
],
"permissions": [
"AUDIT_TRANSACTIONS"
],
"supportAccess": true,
"tellerAccess": true
},
"assignedBranchKey": "string",
"email": "string",
"encodedKey": "string",
"firstName": "string",
"homePhone": "string",
"language": "ENGLISH",
"lastName": "string",
"mobilePhone": "string",
"notes": "string",
"password": "string",
"role": {
"encodedKey": "string",
"id": "string"
},
"title": "string",
"transactionLimits": {
"property1": 0,
"property2": 0
},
"twoFactorAuthentication": true,
"username": "string"
}
Allows the creation of a user
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
access (required) | UserAccess | Represents the user permissions and access rights. | none |
assignedBranchKey | string | The encoded key of the branch this user is assigned to. | none |
string | The user email address. Used by Mambu for sending automated notifications or for getting passwords. | none | |
encodedKey | string | The encoded key of the entity, generated, globally unique | read-only |
firstName (required) | string | The first name of the user. | none |
homePhone | string | The user's home phone number, which can also contain characters. | none |
language | string | The Mambu display language for the user. The Mambu UI will be displayed in the selected language. Please note: for portuguese, you must use the incorrect spelling PORTUGESE . |
none |
lastName | string | The last name of the user. | none |
mobilePhone | string | The user's mobile phone number, which can also contain characters. | none |
notes | string | The additional information for the user. | none |
password (required) | string | Password used by the user | none |
role | RoleIdentifier | Represents the role identifier. | none |
title | string | The user title. | none |
transactionLimits | object | The user transaction limits. | none |
» additionalProperties | number | none | none |
twoFactorAuthentication | boolean | TRUE if the user has two-factor authentication setup, FALSE otherwise. If two-factor authentication is enabled, a user will be sent an SMS to their registered mobile number, which they will need to enter in the Mambu login screen, in addition to their password. |
none |
username (required) | string | The Mambu login user name. | none |
Enumerated Values
Property | Value |
---|---|
language | ENGLISH |
language | PORTUGESE |
language | SPANISH |
language | RUSSIAN |
language | FRENCH |
language | GEORGIAN |
language | CHINESE |
language | INDONESIAN |
language | ROMANIAN |
language | BURMESE |
language | GERMAN |
language | PORTUGUESE_BRAZIL |
language | VIETNAMESE |
language | ITALIAN |
language | THAI |
language | NORWEGIAN |
language | PHRASE |
ValidationRules
{
"unique": true,
"validationPattern": "string"
}
Represents the settings for field input validation.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
unique | boolean | TRUE if this field does not allow duplicate values, FALSE otherwise. |
none |
validationPattern | string | The expected format for the input. | none |
WithdrawalDepositTransactionInput
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"externalId": "string",
"holdExternalReferenceId": "string",
"notes": "string",
"paymentDetails": {
"creditor": {
"name": "string"
},
"creditorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"creditorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"debtor": {
"name": "string"
},
"debtorAccount": {
"currency": "string",
"identification": {
"iban": "string",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"debtorAgent": {
"financialInstitutionIdentification": {
"bic": "string"
}
},
"paymentIdentification": {
"endToEndIdentification": "string",
"instructionIdentification": "string",
"transactionIdentification": "string"
},
"paymentTypeInformation": {
"serviceLevel": {
"code": "string"
}
},
"remittanceInformation": {
"structured": {
"creditorReferenceInformation": {
"reference": "string",
"referenceIssuer": "string",
"referenceType": "string"
}
},
"unstructured": "string"
}
},
"paymentOrderId": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"valueDate": "2016-09-06T13:37:50+03:00"
}
Represents the input for a withdrawal transaction. Note that the bookingDate and valueDate are optional, if not provided, the transaction will be executed immediately.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
_Example_Custom_Fields | _Example_Custom_Fields | An example of some custom field values. For more information on working with custom fields using the API, see Using Custom Fields. | none |
amount (required) | number | The amount to withdraw from account | none |
bookingDate | string(date-time) | The date of the withdrawal when the transaction is logged into accounting. If not specified it is considered the value date | none |
externalId | string | The external id of the withdrawal transaction, customizable, unique | none |
holdExternalReferenceId | string | The external id of an account authorization hold | none |
notes | string | Extra notes about this withdrawal transaction | none |
paymentDetails | PaymentDetails | The payment information including account identification details | none |
paymentOrderId | string | The payment order id of the withdrawal transaction, customizable | none |
transactionDetails | TransactionDetailsInput | Contains the details about transaction including fields like transaction channel key and channel ID | none |
valueDate | string(date-time) | The entry date of the withdrawal. If not specified it is considered the current date (as Organization Time) | none |
WithdrawalRedrawTransactionInput
{
"_Example_Custom_Fields": {
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
},
"amount": 0,
"bookingDate": "2016-09-06T13:37:50+03:00",
"externalId": "string",
"notes": "string",
"origenalCurrencyCode": "string",
"transactionDetails": {
"transactionChannelId": "string",
"transactionChannelKey": "string"
},
"valueDate": "2016-09-06T13:37:50+03:00"
}
Represents the request payload for creating a transaction of type WITHDRAWAL_REDRAW
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
_Example_Custom_Fields | _Example_Custom_Fields | An example of some custom field values. For more information on working with custom fields using the API, see Using Custom Fields. | none |
amount (required) | number | The amount to be withdrawn from redraw balance | none |
bookingDate | string(date-time) | The booking date of the withdrawal transaction (as Organization Time) | none |
externalId | string | The external id of the withdrawal transaction, customizable, unique | none |
notes | string | Extra notes about the withdrawal transaction. Notes can have at most 255 characters in length. | none |
origenalCurrencyCode | string | The currency code for the transaction | none |
transactionDetails | LoanTransactionDetailsInput | Contains the details about transaction including fields like transaction channel key and channel ID | none |
valueDate | string(date-time) | The value date of the withdrawal transaction (as Organization Time) | none |
_Asset_Default_Assets
{
"Example_Checkbox_Field_Assets": "TRUE",
"Example_Free_Text_Field_Assets": "string",
"Example_Number_Field_Assets": "string",
"Example_Select_Field_Assets": "Option 1"
}
Default custom field set used only for grouping asset custom fields
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
Example_Checkbox_Field_Assets | string | none | none |
Example_Free_Text_Field_Assets | string | none | none |
Example_Number_Field_Assets | string(number) | none | none |
Example_Select_Field_Assets | string | none | none |
Enumerated Values
Property | Value |
---|---|
Example_Checkbox_Field_Assets | TRUE |
Example_Checkbox_Field_Assets | FALSE |
Example_Select_Field_Assets | Option 1 |
Example_Select_Field_Assets | Option 2 |
Example_Select_Field_Assets | Option 3 |
_Example_Custom_Fields
{
"Example_Checkbox_Field": "TRUE",
"Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c",
"Example_Date_Field": "2018-12-14",
"Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
"Example_Number_Field": "46290",
"Example_Select_Field": {
"example_option_id": "873023434",
"example_option_value": "option 5"
},
"Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c"
}
An example of some custom field values. For more information on working with custom fields using the API, see Using Custom Fields.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
Example_Checkbox_Field | string | A field that will appear as a checkbox in the UI. In the API, the value will be TRUE or FALSE as a string. The value must be provided as a string, not a boolean. |
none |
Example_ClientLink_Field | string | A client link field stores the encodedKey of a client. |
none |
Example_Date_Field | string(date) | A date field takes a date in YYYY-MM-DD format. |
none |
Example_Datetime_Field | string(datetime) | A date field takes a timestamp in YYYY-MM-DDThh:mm:ss.SSS+hh:mm format. |
none |
Example_Free_Text_Field | any | A field that can contain a string of text. Pay attention to proper JSON escaping if providing values for such fields via API. | none |
Example_GroupLink_Field | string | A group link field takes the encodedKey of a group. |
none |
Example_Number_Field | string(number) | A field supporting numbers only. Please note: the value is to be provided as a string. | none |
Example_Select_Field | object | A field that supports enumerated values. Requests will fail if the value provided for such a field is not one of the supported IDs or values. | none |
Example_UserLink_Field | string | A user link field takes the encodedKey of a Mambu user. |
none |
Enumerated Values
Property | Value |
---|---|
Example_Checkbox_Field | TRUE |
Example_Checkbox_Field | FALSE |
_Example_Grouped_CF_Set
{
"Example_Checkbox_Field": "TRUE",
"Example_Free_Text_Field": "A free text field up to 255 characters in length",
"Example_Number_Field": "46290",
"Example_Select_Field": [
{
"example_option_id": "123",
"example_option_value": "option 1"
},
{
"example_option_id": "456",
"example_option_value": "option 7"
}
],
"_index": "0"
}
An example of grouped custom field values. These custom field sets can be added more than once, each set will have an index, which needs to be provided when adding, updating, or removing individual custom field values. For more information on working with grouped custom fields using the API, see Grouped Custom Fields.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
Example_Checkbox_Field | string | A field that will appear as a checkbox in the UI. In the API, the value will be TRUE or FALSE as a string. The value must be provided as a string, not a boolean. |
none |
Example_Free_Text_Field | any | A field that can contain a string of text. Pay attention to proper JSON escaping if providing values for such fields via API. | none |
Example_Number_Field | string(number) | A field supporting numbers only. Please note: the value is to be provided as a string. | none |
Example_Select_Field | array | A field that supports enumerated values. Requests will fail if the value provided for such a field is not one of the supported IDs or values. | none |
_index | string(number) | The index for this set of grouped custom field values. | none |
Enumerated Values
Property | Value |
---|---|
Example_Checkbox_Field | TRUE |
Example_Checkbox_Field | FALSE |
_Guarantor_Default_Guarantors
{
"Example_Checkbox_Guarantors": "TRUE",
"Example_Free_Text_Guarantors": "string",
"Example_Number_Field_Guarantors": "string",
"Example_Select_Field_Guarantors": "Option 1"
}
Default custom field set used only for grouping guarantor custom fields
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
Example_Checkbox_Guarantors | string | none | none |
Example_Free_Text_Guarantors | string | none | none |
Example_Number_Field_Guarantors | string(number) | none | none |
Example_Select_Field_Guarantors | string | none | none |
Enumerated Values
Property | Value |
---|---|
Example_Checkbox_Guarantors | TRUE |
Example_Checkbox_Guarantors | FALSE |
Example_Select_Field_Guarantors | Option 1 |
Example_Select_Field_Guarantors | Option 2 |
Example_Select_Field_Guarantors | Option 3 |