Welcome
This documentation was last updated on Wed Nov 20 10:45:55 UTC 2024 and covers Mambu Version v9.167.9
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).
Base URLs
The base URL for requests to the API is:
https://TENANT_NAME.mambu.com/api
To make requests to your tenant's sandbox, use the following base URL:
https://TENANT_NAME.sandbox.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 permissions.
- 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 sandbox tenant (also known as sandbox environment) is independent from the production tenant, and any changes you make in the sandbox 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 sandbox, use the following base URL:
https://TENANT_NAME.sandbox.mambu.com/api/
The sandbox 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 sandbox 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.
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": {
...
},
"securityDefinitions": {
"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 sandbox environments. Replace TENANT_NAME
with TENANT_NAME.sandbox
to access API specifications for the sandbox 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.
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 frame, 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.
- HTTP Authentication, scheme: basic
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 |
cursor | string | Pagination, cursor 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 |
cursor | string | Pagination, cursor 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 |
cursor | string | Pagination, cursor 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 | integer(int32) | 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 |
cursor | string | Pagination, cursor 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 |
cursor | string | Pagination, cursor 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",
"originalTransactionKey": "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",
"originalAmount": 0,
"originalCurrency": "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 |
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 |
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 |
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",
"originalAmount": 0,
"originalCurrency": "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",
"originalAmount": 0,
"originalCurrency": "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 |
cursor | string | Pagination, cursor 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 |
cursor | string | Pagination, cursor 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 original 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 |
cursor | string | Pagination, cursor 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 original 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 |
cursor | string | Pagination, cursor 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 |
cursor | string | Pagination, cursor 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 original 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 |
cursor | string | Pagination, cursor 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 |
cursor | string | Pagination, cursor 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 |
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 |
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 |
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 |
cursor | string | Pagination, cursor 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",
"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",
"originalAmount": 0,
"originalCurrency": {
"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",
"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,
"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",
"originalAccountKey": "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 |
cursor | string | Pagination, cursor 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 |
cursor | string | Pagination, cursor 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",
"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",
"originalAmount": 0,
"originalCurrency": {
"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",
"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,
"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",
"originalAccountKey": "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": [
{
"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
}
}
],
"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",
"number": "string",
"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",
"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",
"originalAmount": 0,
"originalCurrency": {
"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",
"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,
"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",
"originalAccountKey": "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 |
cursor | string | Pagination, cursor 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 |
cursor | string | Pagination, cursor 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 original 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 |
cursor | string | Pagination, cursor 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 |
cursor | string | Pagination, cursor 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 search and retrieve deposit transactions for deposit accounts.
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",
"originalTransactionKey": "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 |
cursor | string | Pagination, cursor 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",
"originalTransactionKey": "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 |
» originalTransactionKey | 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
{
"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 infromation 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",
"originalTransactionKey": "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
{
"amount": 0,
"externalId": "string",
"notes": "string",
"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 |
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",
"originalTransactionKey": "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",
"originalTransactionKey": "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",
"originalTransactionKey": "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 |
cursor | string | Pagination, cursor 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) | 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",
"originalTransactionKey": "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 |
» originalTransactionKey | 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
{
"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",
"originalTransactionKey": "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",
"originalTransactionKey": "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 |
cursor | string | Pagination, cursor 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",
"originalAmount": 0,
"originalCurrency": "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 original currency. | none |
» externalReferenceId (required) | string | The external reference ID to be used to reference the account hold in subsequent requests. | none |
» originalAmount | number | The original amount of money to be held as a result of the authorization hold request. | none |
» originalCurrency | string | The original 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",
"originalAmount": 0,
"originalCurrency": "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",
"originalAmount": 0,
"originalCurrency": "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",
"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",
"originalAmount": 0,
"originalCurrency": {
"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",
"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,
"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",
"originalAccountKey": "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 |
» 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 security, 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 |
»» originalAmount | number | The original amount used by the client for a collateral asset | none |
»» originalCurrency | 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 |
» 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 security, 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 |
»» 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 |
» originalAccountKey | string | The key of the original 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 |
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 |
cursor | string | Pagination, cursor 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",
"originalAmount": 0,
"originalCurrency": "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 |
cursor | string | Pagination, cursor 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) | 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": [
{
"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
}
}
],
"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",
"number": "string",
"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 |
cursor | string | Pagination, cursor 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 |
cursor | string | Pagination, cursor 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.
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 |
cursor | string | Pagination, cursor 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 original 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",
"originalTransactionKey": "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 |
» originalTransactionKey | 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 |
cursor | string | Pagination, cursor 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 |
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 |
cursor | string | Pagination, cursor 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 |
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 |
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 |
cursor | string | Pagination, cursor 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.
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 |
cursor | string | Pagination, cursor 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 |
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 |
Holidays
Allows operations on the general holidays and non working days of the organization.
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 |
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 |
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 |
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 |
cursor | string | Pagination, cursor 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 |
installmentState | PENDING |
installmentState | LATE |
installmentState | PAID |
installmentState | PARTIALLY_PAID |
installmentState | GRACE |
Example responses
200 Response
[
{
"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
}
}
],
"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",
"number": "string",
"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 |
» 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. | 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 |
» 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 |
» 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 |
» 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 original 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 |
cursor | string | Pagination, cursor 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 |
cursor | string | Pagination, cursor 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 |
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,
"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",
"encodedKey": "string",
"feeApplication": "REQUIRED",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"percentageAmount": 0,
"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",
"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"
},
"securitySettings": {
"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"
}
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,
"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",
"feeApplication": "REQUIRED",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"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,
"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",
"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"
},
"securitySettings": {
"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"
}
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,
"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",
"encodedKey": "string",
"feeApplication": "REQUIRED",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"percentageAmount": 0,
"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",
"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"
},
"securitySettings": {
"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"
}
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 |
cursor | string | Pagination, cursor 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,
"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",
"encodedKey": "string",
"feeApplication": "REQUIRED",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"percentageAmount": 0,
"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",
"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"
},
"securitySettings": {
"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"
}
]
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 |
» 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 |
»»» 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 |
»»» percentageAmount | number | The amount of the fee in percents applied to percentSource | 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 |
»» 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 |
» securitySettings | SecuritySettings | 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 |
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 |
applyDateMethod | MONTHLY_FROM_ACTIVATION |
applyDateMethod | FIRST_OF_EVERY_MONTH |
feeApplication | REQUIRED |
feeApplication | OPTIONAL |
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 |
funderInterestCommissionAllocationType | PERCENTAGE_OF_LOAN_FUNDING |
funderInterestCommissionAllocationType | FIXED_INTEREST_COMMISSIONS |
gracePeriodType | NONE |
gracePeriodType | PAY_INTEREST_ONLY |
gracePeriodType | INTEREST_FORGIVENESS |
compoundingFrequency | DAILY |
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 |
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 |
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,
"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",
"feeApplication": "REQUIRED",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"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,
"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",
"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"
},
"securitySettings": {
"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"
}
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,
"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",
"encodedKey": "string",
"feeApplication": "REQUIRED",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"percentageAmount": 0,
"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",
"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"
},
"securitySettings": {
"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"
}
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 |
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
securitySettings:
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": [
{
"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
}
}
],
"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",
"number": "string",
"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
[
{
"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
}
}
],
"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",
"number": "string",
"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": [
{
"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
}
}
],
"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",
"number": "string",
"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": [
{
"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
}
}
],
"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",
"number": "string",
"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": [
{
"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
}
}
],
"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",
"number": "string",
"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": [
{
"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
}
}
],
"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",
"number": "string",
"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": [
{
"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
}
}
],
"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",
"number": "string",
"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,
"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
{
"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",
"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",
"originalAmount": 0,
"originalCurrency": {
"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",
"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,
"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",
"originalAccountKey": "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
{
"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",
"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",
"originalAmount": 0,
"originalCurrency": {
"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",
"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,
"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",
"originalAccountKey": "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 |
cursor | string | Pagination, cursor 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) | 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",
"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",
"originalAmount": 0,
"originalCurrency": {
"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",
"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,
"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",
"originalAccountKey": "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 |
» 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 security, 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 |
»» originalAmount | number | The original amount used by the client for a collateral asset | none |
»» originalCurrency | 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 |
» 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 security, 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 |
»» 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 |
» originalAccountKey | string | The key of the original 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 |
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",
"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",
"originalAmount": 0,
"originalCurrency": {
"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",
"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,
"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",
"originalAccountKey": "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",
"originalAmount": 0,
"originalCurrency": {
"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"
}
},
"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,
"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",
"originalAccountKey": "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",
"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",
"originalAmount": 0,
"originalCurrency": {
"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",
"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,
"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",
"originalAccountKey": "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 |
cursor | string | Pagination, cursor 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",
"originalAmount": 0,
"originalCurrency": "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 original currency. | none |
» externalReferenceId (required) | string | The external reference ID to be used to reference the account hold in subsequent requests. | none |
» originalAmount | number | The original amount of money to be held as a result of the authorization hold request. | none |
» originalCurrency | string | The original 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 |
cursor | string | Pagination, cursor 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 |
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",
"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",
"originalAmount": 0,
"originalCurrency": {
"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",
"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,
"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",
"originalAccountKey": "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 |
» 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 security, 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 |
»» originalAmount | number | The original amount used by the client for a collateral asset | none |
»» originalCurrency | 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 |
» 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 security, 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 |
»» 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 |
» originalAccountKey | string | The key of the original 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 |
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",
"originalAmount": 0,
"originalCurrency": {
"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"
}
},
"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,
"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",
"originalAccountKey": "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",
"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",
"originalAmount": 0,
"originalCurrency": {
"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",
"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,
"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",
"originalAccountKey": "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",
"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",
"originalAmount": 0,
"originalCurrency": {
"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",
"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,
"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",
"originalAccountKey": "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",
"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",
"originalAmount": 0,
"originalCurrency": {
"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",
"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,
"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",
"originalAccountKey": "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 |
» 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 security, 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 |
»» originalAmount | number | The original amount used by the client for a collateral asset | none |
»» originalCurrency | 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 |
» 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 security, 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 |
»» 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 |
» originalAccountKey | string | The key of the original 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 |
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": [
{
"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
}
}
],
"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",
"number": "string",
"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 original 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",
"originalAmount": 0,
"originalCurrencyCode": "string",
"originalTransactionKey": "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 |
» originalAmount | 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 |
» originalCurrencyCode | 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 |
» originalTransactionKey | 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 |
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 |
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_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 |
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 |
cursor | string | Pagination, cursor 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) | 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",
"originalAmount": 0,
"originalCurrencyCode": "string",
"originalTransactionKey": "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 |
» originalAmount | 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 |
» originalCurrencyCode | 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 |
» originalTransactionKey | 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 |
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 |
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_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 |
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 |
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",
"originalAmount": 0,
"originalCurrencyCode": "string",
"originalTransactionKey": "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",
"originalAmount": 0,
"originalCurrencyCode": "string",
"originalTransactionKey": "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",
"originalCurrencyCode": "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",
"originalAmount": 0,
"originalCurrencyCode": "string",
"originalTransactionKey": "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",
"originalAmount": 0,
"originalCurrencyCode": "string",
"originalTransactionKey": "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 |
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",
"originalCurrencyCode": "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",
"originalAmount": 0,
"originalCurrencyCode": "string",
"originalTransactionKey": "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 |
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",
"originalAmount": 0,
"originalCurrencyCode": "string",
"originalTransactionKey": "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 |
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 |
cursor | string | Pagination, cursor 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",
"originalAmount": 0,
"originalCurrencyCode": "string",
"originalTransactionKey": "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 |
» originalAmount | 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 |
» originalCurrencyCode | 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 |
» originalTransactionKey | 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 |
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 |
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_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 |
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",
"originalCurrencyCode": "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",
"originalAmount": 0,
"originalCurrencyCode": "string",
"originalTransactionKey": "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",
"originalCurrencyCode": "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",
"originalAmount": 0,
"originalCurrencyCode": "string",
"originalTransactionKey": "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",
"originalAmount": 0,
"originalCurrencyCode": "string",
"originalTransactionKey": "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 |
cursor | string | Pagination, cursor 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",
"originalAmount": 0,
"originalCurrencyCode": "string",
"originalTransactionKey": "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 |
» originalAmount | 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 |
» originalCurrencyCode | 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 |
» originalTransactionKey | 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 |
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 |
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_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 |
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 |
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",
"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",
"originalAmount": 0,
"originalCurrencyCode": "string",
"originalTransactionKey": "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 |
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",
"originalAmount": 0,
"originalCurrencyCode": "string",
"originalTransactionKey": "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 |
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.
Responses
Status | Meaning | Description | Schema |
---|
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.
Responses
Status | Meaning | Description | Schema |
---|
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.
Responses
Status | Meaning | Description | Schema |
---|
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.
Responses
Status | Meaning | Description | Schema |
---|
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.
Responses
Status | Meaning | Description | Schema |
---|
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.
Responses
Status | Meaning | Description | Schema |
---|
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.
Responses
Status | Meaning | Description | Schema |
---|
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.
Responses
Status | Meaning | Description | Schema |
---|
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.
Responses
Status | Meaning | Description | Schema |
---|
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.
Responses
Status | Meaning | Description | Schema |
---|
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.
Responses
Status | Meaning | Description | Schema |
---|
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.
Responses
Status | Meaning | Description | Schema |
---|
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.
Responses
Status | Meaning | Description | Schema |
---|
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.
Responses
Status | Meaning | Description | Schema |
---|
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.
Responses
Status | Meaning | Description | Schema |
---|
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.
Responses
Status | Meaning | Description | Schema |
---|
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 |
cursor | string | Pagination, cursor 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 |
cursor | string | Pagination, cursor 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 security 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
{
"_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"
}
],
"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
{
"_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"
}
],
"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
{
"_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"
}
],
"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 |
cursor | string | Pagination, cursor 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
[
{
"_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"
}
],
"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 |
» _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 |
» 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 | integer(int32) | 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 |
---|---|
Example_Checkbox_Field | TRUE |
Example_Checkbox_Field | FALSE |
Example_Checkbox_Field | TRUE |
Example_Checkbox_Field | FALSE |
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
{
"_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"
}
],
"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 |
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",
"originalAmount": 0,
"originalCurrency": "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 original currency. | none |
externalReferenceId (required) | string | The external reference ID to be used to reference the account hold in subsequent requests. | none |
originalAmount | number | The original amount of money to be held as a result of the authorization hold request. | none |
originalCurrency | string | The original 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 | integer(int32) | 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",
"originalAmount": 0,
"originalCurrency": {
"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 security, 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 |
originalAmount | number | The original amount used by the client for a collateral asset | none |
originalCurrency | 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",
"originalAmount": 0,
"originalCurrency": {
"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 security, 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 |
originalAmount | number | The original amount used by the client for a collateral asset | none |
originalCurrency | 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": {
"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": {
"amount": 0,
"externalId": "string",
"notes": "string",
"predefinedFeeKey": "string"
},
"withdrawal": {
"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",
"originalAmount": 0,
"originalCurrency": "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 original currency. | none |
externalReferenceId (required) | string | The external reference ID to be used to reference the account hold in subsequent requests. | none |
originalAmount | number | The original amount of money to be held as a result of the authorization hold request. | none |
originalCurrency | string | The original 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 |
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 original 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 |
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",
"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",
"originalAmount": 0,
"originalCurrency": {
"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",
"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,
"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",
"originalAccountKey": "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": [
{
"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
}
}
],
"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",
"number": "string",
"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,
"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 |
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 original 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,
"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,
"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 |
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 |
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",
"originalTransactionKey": "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 |
originalTransactionKey | 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 | originalTransactionKey |
field | originalTransactionID |
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
{
"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 |
---|---|---|---|
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": {
"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": {
"amount": 0,
"externalId": "string",
"notes": "string",
"predefinedFeeKey": "string"
},
"withdrawal": {
"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. | none |
withdrawal | WithdrawalDepositTransactionInput | Represents the input for a withdrawal transaction. | 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",
"originalCurrencyCode": "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 |
originalCurrencyCode | 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 original 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 |
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. | none |
paid | number | The paid amount. | none |
FeeAppliedDepositTransactionInput
{
"amount": 0,
"externalId": "string",
"notes": "string",
"predefinedFeeKey": "string"
}
Represents the request payload for creating a transaction of type FEE_APPLIED.
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 |
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",
"encodedKey": "string",
"feeApplication": "REQUIRED",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"percentageAmount": 0,
"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",
"originalAmount": 0,
"originalCurrency": "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 original currency. | none |
externalReferenceId (required) | string | The external reference ID to be used to reference the account hold in subsequent requests. | none |
originalAmount | number | The original amount of money to be held as a result of the authorization hold request. | none |
originalCurrency | string | The original 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",
"originalTransactionKey": "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 |
originalTransactionKey | 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 security, 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 security, 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
{
"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
}
}
],
"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",
"number": "string",
"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 |
---|---|---|---|
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 |
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 |
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 |
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,
"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 |
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",
"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",
"originalAmount": 0,
"originalCurrency": {
"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",
"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,
"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",
"originalAccountKey": "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 |
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 |
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 |
originalAccountKey | string | The key of the original 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 |
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 |
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 | originalAccountKey |
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",
"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",
"originalAmount": 0,
"originalCurrency": {
"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",
"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,
"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",
"originalAccountKey": "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 |
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 |
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 |
originalAccountKey | string | The key of the original 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 |
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,
"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": [
{
"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
}
}
],
"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",
"number": "string",
"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": [
{
"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
}
}
],
"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",
"number": "string",
"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": [
{
"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
}
}
],
"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",
"number": "string",
"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": [
{
"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
}
}
],
"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",
"number": "string",
"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": [
{
"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
}
}
],
"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",
"number": "string",
"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": [
{
"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
}
}
],
"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",
"number": "string",
"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 | originalAccountKey |
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,
"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",
"encodedKey": "string",
"feeApplication": "REQUIRED",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"percentageAmount": 0,
"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",
"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"
},
"securitySettings": {
"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"
}
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 |
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 |
securitySettings | SecuritySettings | 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 |
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 |
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"
},
"securitySettings": {
"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 |
securitySettings | SecuritySettingsConfiguration | 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 |
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 |
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 |
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 |
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",
"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 |
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"
},
"securitySettings": {
"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",
"originalAmount": 0,
"originalCurrencyCode": "string",
"originalTransactionKey": "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 |
originalAmount | 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 |
originalCurrencyCode | 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 |
originalTransactionKey | 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_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 |
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 | productTypeKey |
field | productID |
field | type |
field | amount |
field | originalAmount |
field | originalCurrencyCode |
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 | originalTransactionKey |
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 | originalTransactionID |
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 | originalAmount |
field | originalCurrencyCode |
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",
"originalAmount": 0,
"originalCurrencyCode": "string",
"originalTransactionKey": "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": {
"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": {
"amount": 0,
"externalId": "string",
"notes": "string",
"predefinedFeeKey": "string"
},
"withdrawal": {
"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 |
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 | 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,
"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 |
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",
"originalCurrencyCode": "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 |
originalCurrencyCode | 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",
"encodedKey": "string",
"feeApplication": "REQUIRED",
"id": "string",
"lastModifiedDate": "2016-09-06T13:37:50+03:00",
"name": "string",
"percentageAmount": 0,
"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 |
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 |
percentageAmount | number | The amount of the fee in percents applied to percentSource | 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 |
applyDateMethod | MONTHLY_FROM_ACTIVATION |
applyDateMethod | FIRST_OF_EVERY_MONTH |
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 |
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 |
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 |
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
{
"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 |
---|---|---|---|
keepSameAccountId | boolean | Keep same account ID option | 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",
"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 |
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",
"originalCurrencyCode": "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 |
originalCurrencyCode | 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
{
"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 |
---|---|---|---|
keepSameAccountId | boolean | Keep same account ID option | 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 | 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 | ASYNC_TRANSACTION_IN_PROGRESS |
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 | USERNAME_CANNOT_BE_CHANGED |
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 | 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 | 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_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 | 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 | 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_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 | 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 | 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 |
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 |
SecuritySettings
{
"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 |
SecuritySettingsConfiguration
{
"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
{
"_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"
}
],
"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 |
---|---|---|---|
_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 |
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 | integer(int32) | 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 | integer(int32) | 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
{
"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.
Properties
Name | Type | Description | Restrictions |
---|---|---|---|
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",
"originalCurrencyCode": "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 |
originalCurrencyCode | 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 |