Welcome
This documentation was last updated on Tue Aug 22 08:16:32 UTC 2023 and covers Mambu Version v9.147.2
Welcome to the Mambu API v1 Reference documentation.
About Mambu API v1
Scroll down for operations, schemas, example requests and responses.
Mambu API v1 is a fully compliant REST API and in this API Reference we provide you with all the necessary information to work with it.
Base URLs
The base URL for API requests is:
https://TENANT_NAME.mambu.com/api
To make API 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
Example using curl
curl --location --request GET 'https://TENANT_NAME.mambu.com/api/users' \
--header 'Authorization: Basic U29tZVVzZXI6T3BlblNlc2FtZQ=='
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 example GET
requests to the /users
endpoint using curl.
Note that the login credentials must be for an 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.
Payloads
Mambu API v1 has endpoints that usually accept and return only application/json
. When making a POST
, PUT
, or PATCH
request that sends data through a JSON body, you must set the Content-Type
header to application/json
. When making a POST
request that sends data through query parameters, the Content-Type
header must not be set.
Requests
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 and payload content types
- The JSON-formatted payload (if required)
Responses
Error Response
{
"errorCode":"4",
"errorSource":"Property scheduleSettings.repaymentInstallments may not be null",
"errorReason":"INVALID_PARAMETERS"
}
Single Resource - JSON object
{
"field": "value"
}
Collection of Resources - JSON array
[
{
"field": "value"
},
{
"field": "value"
}
]
The response to a request will contain either the JSON-formatted payload or an error response.
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. |
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
To customize the response, the offset
and limit
parameters can be adjusted from their default values.
limit
The default limit for responses is 50. A value of up to 1,000 can be specified with limit
.
offset
offset
determines how many records will be skipped before being included in the returned results. The default offset value is 0.
Detail Level
Some Mambu API v1 endpoints support two levels of detail for responses, basic details and full details. To retrieve a response in full details, you must set the fullDetails
query parameter to true
.
Basic details
By default, Mambu API v1 will return basic details, this includes all first level elements of an object.
Full details
Some endpoints can return full details, this includes everything from basic details as well as all custom field values, any address or contact information, and any other related objects.
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.
Posting Data
API requests that post data can either use URL-encoded query parameters or a JSON body to enter data. The Content-Type
header must be set to application/json
for the JSON request.
The examples to the right, show the two methods for posting data. Note that for some requests, much more information can be posted using the JSON input than is available with query parameters.
Using query parameters
curl -d "type=APPROVAL" https://user:pword@test.mambu.com/api/loans/4028329c3ad6c515013ad6d0f6e40006/transactions
Using JSON:
curl -H "Accept: application/json" -H "Content-Type: application/json" -X POST -d '{ "type": "APPROVAL"} https://user:pword@test.mambu.com/api/loans/4028329c3ad6c515013ad6d0f6e40006/transactions`
Example
The example to the right makes a request using the username user
, the password pword
to the tenant demo
to retrieve all repayments for loan account abc
Request with authorization made ...
https://user:pword@demo.mambu.com/api/loans/abc/repayments
And returns a response such as:
[
{
"encodedKey": "402832b4380a2d8801380a9cac860010",
"parentAccountKey": "402832b4380a2d8801380a9cac41000f",
"dueDate": "2012-07-28T00:00:00+0200",
"principalDue": "190",
"principalPaid": "0",
"interestDue": "25.45",
"interestPaid": "0",
"state": "PENDING"
},
{
"encodedKey": "402832b4380a2d8801380a9cac870011",
"parentAccountKey": "402832b4380a2d8801380a9cac41000f",
"dueDate": "2012-08-28T00:00:00+0200",
"principalDue": "190",
"principalPaid": "0",
"interestDue": "26.29",
"interestPaid": "0",
"state": "PENDING"
}
]
Searching and Filtering
Many entities allow you multiple ways to filter your request, either by providing fields and values as query parameters or by using the entity's /search
facility. This option is available for: Clients, Groups, Loan Accounts & Loan Transactions, Savings Accounts & Savings Transactions, Notifications, General Ledger Journal Entries and Lines of Credit.
Additionally, the object search API allows you to execute the same search query across multiple types of entity, for example, both loan and savings accounts, or both users and clients, although the number of fields which will be searched is limited.
In each case you will use a POST
request and provide your search parameters and sorting preference in the request body, while other constraints, such as the number of records to return, an offset to page through large result sets, or whether you would like full details or only basic data, can be provided as query parameters.
Filter Constraints
Example query with an array of filters on a standard field and a custom field definition and its value, and a sorting order
{
"filterConstraints":[
{
"filterSelection":"CREATION_DATE",
"filterElement":"BETWEEN",
"value":"2015-01-01",
"secondValue":"2015-06-20"
},
{
"filterSelection":"MY_CUSTOM_FIELD",
"filterElement":"EQUALS",
"dataItemType":"CLIENT",
"dataFieldType":"CUSTOM",
"value":"BIG spenders"
}
],
"sortDetails":{
"sortingColumn":"lastModifiedDate",
"sortingOrder":"DESCENDING"
}
}
filterContraints
array
Parameter | Value |
---|---|
filterSelection | The field on which the constraint will be applied. For custom fields, the custom field definition encoded key must be provided. |
filterElement | The constraint operator. Available filter elements can be found below. |
value | The constraint value. Required for filter elements with one or two values. |
secondValue | The constraint second value. Required for filter elements with two values. |
dataItemType | The entity where the field on which to apply the constraint is located. If the field is located in the same entity with the entity being searched, this field is optional. Possible values:
|
dataFieldType | NATIVE (default)/CUSTOM for custom field definition searches |
sortDetails
object
Parameter | Value |
---|---|
sortingColumn | The name of the column on which the order is going to take place |
sortingOrder | The order in which your results should be presented, either ASCENDING or DESCENDING |
Filter Elements
The table below contains a list of filters available for your search and which types of data you can use them with.
Filter Element | Number Of affected values | Available for |
---|---|---|
EQUALS | ONE_VALUE | BIG_DECIMAL ,BOOLEAN ,LONG ,MONEY ,NUMBER ,PERCENT ,STRING ,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_UTC |
ON | ONE_VALUE | DATE ,DATE_UTC |
AFTER | ONE_VALUE | DATE ,DATE_UTC |
BEFORE | ONE_VALUE | DATE ,DATE_UTC |
STARTS_WITH | ONE_VALUE | STRING |
IN | LIST | ENUM - When using the filter in Mambu default selection fields (for example, ACCOUNT_STATE ) the names of the options (e.g. ACTIVE or APPROVED ) may be used. KEY - When using the filter in custom field definitions, the encoded key of the custom field definition must be used and the names of the available options cannot be used. |
TODAY | NO_VALUE | DATE ,DATE_UTC |
THIS_WEEK | NO_VALUE | DATE ,DATE_UTC |
THIS_MONTH | NO_VALUE | DATE ,DATE_UTC |
THIS_YEAR | NO_VALUE | DATE ,DATE_UTC |
LAST_DAYS | ONE_VALUE | NUMBER |
EMPTY | NO_VALUE | BIG_DECIMAL ,LONG ,MONEY ,NUMBER ,PERCENT ,STRING ,ENUM ,KEY ,DATE ,DATE_UTC |
NOT_EMPTY | NO_VALUE | BIG_DECIMAL ,LONG ,MONEY ,NUMBER ,PERCENT ,STRING ,ENUM ,KEY ,DATE ,DATE_UTC |
Data Types and Examples
Clients
Get all loan transactions for a specific client
POST /api/clients/search
{
"filterConstraints":[
{
"filterSelection":"ID",
"filterElement":"EQUALS",
"dataItemType":"CLIENT",
"value":"197495342"
}
],
"sortDetails":{
"sortingColumn":"ID",
"sortingOrder":"DESCENDING"
}
}
Filter Selection Parameter | Data Type |
---|---|
CREDIT_OFFICER_KEY | KEY |
CLIENT_ROLE_KEY | KEY |
BRANCH_KEY | KEY |
CENTRE_KEY | KEY |
GROUP_KEY | KEY |
ENCODED_KEY | KEY |
FULL_NAME | STRING |
FIRST_NAME | STRING |
MIDDLE_NAME | STRING |
LAST_NAME | STRING |
CREATION_DATE | DATE_UTC |
LAST_MODIFIED_DATE | DATE_UTC |
ID | STRING |
DEPOSITS_BALANCE | MONEY |
LOANS_BALANCE | MONEY |
PENDING_LOAN_AMOUNT | MONEY |
APPROVED_LOAN_AMOUNT | MONEY |
TOTAL_BALANCE | MONEY |
TOTAL_DUE | MONEY |
HOME_PHONE_NUMBER | STRING |
MOBILE_PHONE_NUMBER | STRING |
EMAIL_ADDRESS | STRING |
CLIENT_ADDRESS | STRING |
BIRTHDATE | DATE |
GENDER | ENUM |
LOAN_CYCLE | NUMBER |
GROUP_LOAN_CYCLE | NUMBER |
CLIENT_STATE | ENUM |
PORTAL_STATE | ENUM |
PREFERRED_LANGUAGE | ENUM |
GROUP_ID | STRING |
Groups
Get all groups created in specific date range
POST /api/groups/search
{
"filterConstraints":[
{
"filterSelection":"CREATION_DATE",
"filterElement":"BETWEEN",
"value":"2015-01-01",
"secondValue":"2015-06-20"
}
]
}
Get all groups that have the custom field definition with the encoded key
8afac14a34d69cd00134d70c0abe00d3
and custom field valuetest
POST /api/groups/search
{
"filterConstraints":[
{
"filterSelection":"8afac14a34d69cd00134d70c0abe00d3",
"filterElement":"EQUALS",
"value":"test",
"dataFieldType":"CUSTOM"
}
]
}
Filter Selection Parameter | Data Type |
---|---|
CLIENT_ROLE_KEY | KEY |
BRANCH_KEY | KEY |
CENTRE_KEY | KEY |
CREDIT_OFFICER_KEY | KEY |
ENCODED_KEY | KEY |
GROUP_NAME | STRING |
CREATION_DATE | DATE_UTC |
LAST_MODIFIED_DATE | DATE_UTC |
ID | STRING |
PREFERRED_LANGUAGE | ENUM |
DEPOSITS_BALANCE | MONEY |
LOANS_BALANCE | MONEY |
TOTAL_BALANCE | MONEY |
NUMBER_OF_MEMBERS | NUMBER |
LOAN_CYCLE | NUMBER |
Loan Accounts
Get all loans that are in two different products
POST /api/loans/search
{
"filterConstraints":[
{
"filterSelection":"PRODUCT_KEY",
"filterElement":"IN",
"values":[
"ff8080814eaa832d014eaa88e24d034c",
"ad8080814eaa832d014eaa88e252034e"
]
}
]
}
Get all loan accounts created within a date range
POST /api/loans/search
{
"filterConstraints":[
{
"filterSelection":"CREATION_DATE",
"filterElement":"BETWEEN",
"value":"2015-06-15",
"secondValue":"2015-06-20"
}
]
}
Get all loan accounts that have the custom field value
test
. This custom field definition is of type string and it belongs to a loan entity
POST /api/loans/search
{
"filterConstraints":[
{
"filterSelection":"8a808085507f02b901507f02f59700ea",
"filterElement":"EQUALS",
"value":"test"
},
{
"filterSelection":"CREATION_DATE",
"dataItemType":"CLIENT",
"filterElement":"ON",
"value":"2015-10-19"
}
]
}
Filter Selection Parameter | Data Type |
---|---|
ACCOUNT_HOLDER_KEY | KEY |
PRODUCT_KEY | KEY |
LOAN_RISK_LEVEL_KEY | KEY |
ENCODED_KEY | KEY |
LOAN_NAME | STRING |
ACCOUNT_ID | STRING |
ACCOUNT_HOLDER_ID | STRING |
RECIPIENT | STRING |
CREATION_DATE | DATE_UTC |
APPROVAL_DATE | DATE |
LAST_MODIFIED_DATE | DATE_UTC |
LAST_SET_TO_ARREARS_DATE | DATE |
LAST_LOCKED_DATE | DATE |
CLOSED_DATE | DATE |
DAYS_IN_ARREARS | NUMBER |
DAYS_LATE | NUMBER |
ACCOUNT_SUB_STATE | ENUM |
ACCOUNT_STATE | ENUM |
LOAN_AMOUNT | MONEY |
DISBURSED_TRANCHES_AMOUNT | MONEY |
NUM_INSTALLMENTS | NUMBER |
PRINCIPAL_DUE | MONEY |
PRINCIPAL_PAID | MONEY |
PRINCIPAL_BALANCE | MONEY |
INTEREST_DUE | MONEY |
INTEREST_PAID | MONEY |
INTEREST_BALANCE | MONEY |
INTEREST_ACCRUED | MONEY |
FEES_DUE | MONEY |
FEES_BALANCE | MONEY |
FEES_PAID | MONEY |
PENALTY_CALCULATION_METHOD | ENUM |
PENALTY_DUE | MONEY |
PENALTY_PAID | MONEY |
PENALTY_BALANCE | MONEY |
PENALTY_ACCRUED | MONEY |
PENALTY_RATE | BIG_DECIMAL |
ARREARS_TOLERANCE_PERIOD | NUMBER |
INTEREST_RATE | BIG_DECIMAL |
INTEREST_SPREAD | BIG_DECIMAL |
TOTAL_PAID | MONEY |
TOTAL_BALANCE | MONEY |
TOTAL_DUE | MONEY |
FIRST_REPAYMENT_DATE | DATE |
LAST_PAYMENT_DATE | DATE |
LAST_PAYMENT_AMOUNT | MONEY |
EXPECTED_MATURITY_DATE | DATE |
RESCHEDULED_ACCOUNT_ID | STRING |
REFINANCED_ACCOUNT_ID | STRING |
ORIGINAL_ACCOUNT_ID | STRING |
TAX_RATE | BIG_DECIMAL |
TAX_PAID | MONEY |
TAX_DUE | MONEY |
HAS_SETTLEMENT_ACCOUNT | BOOLEAN |
INTEREST_COMMISSION | BIG_DECIMAL |
FUNDS_AMOUNT | MONEY |
FUNDING_PERCENTAGE | BIG_DECIMAL |
NUMBER_OF_FUNDS | NUMBER |
FUNDS_ENABLED | BOOLEAN |
AVAILABLE_AMOUNT | MONEY |
WAS_RESCHEDULED | BOOLEAN |
WAS_REFINANCED | BOOLEAN |
PREPAYMENTS_RECALCULATION | ENUM |
APPLY_INTEREST_ON_PREPAYMENT_METHOD | ENUM |
LATE_PAYMENT_RECALCULATION_METHOD | ENUM |
REDRAW_BALANCE | MONEY |
EXPECTED_PRINCIPAL_REDRAW | MONEY |
Tranches
Get all loan accounts where loan disbursement tranches have been defined but not yet disbursed
POST /api/loans/search
{
"filterConstraints":[
{
"filterSelection":"DISBURSEMENT_TRANSACTION_KEY",
"dataItemType":"TRANCHE",
"filterElement":"EMPTY"
}
]
}
Get all loan accounts with a loan disbursement tranche where the amount is
100
POST /api/loans/search
{
"filterConstraints":[
{
"filterSelection":"AMOUNT",
"dataItemType":"TRANCHE",
"filterElement":"EQUALS",
"value":"100"
}
]
}
Filter Selection Parameter | Data Type |
---|---|
ENCODED_KEY | KEY |
PARENT_ACCOUNT_KEY | KEY |
DISBURSEMENT_TRANSACTION_KEY | KEY |
AMOUNT | MONEY |
EXPECTED_DISRBUSEMENT_DATE | DATE |
Disbursement Details
Get all loans disbursed during March 2021
POST /api/loans/search
{
"filterConstraints":[
{
"filterSelection":"DISBURSEMENT_DATE",
"dataItemType":"DISBURSEMENT_DETAILS",
"filterElement":"BETWEEN",
"value":"2021-03-01",
"secondValue":"2021-03-30"
}
]
}
Filter Selection Parameter | Data Type |
---|---|
EXPECTED_DISBURSEMENT_DATE | DATE |
DISBURSEMENT_DATE | DATE |
Savings Accounts
Get all
APPROVED
andPENDING_APPROVAL
savings accounts
POST /api/savings/search
{
"filterConstraints":[
{
"filterSelection":"ACCOUNT_STATE",
"filterElement":"IN",
"values":[
"PENDING_APPROVAL",
"APPROVED"
]
}
]
}
Filter Selection Parameter | Data Type |
---|---|
ACCOUNT_HOLDER_KEY | KEY |
PRODUCT_KEY | KEY |
CURRENCY_CODE | KEY |
OVERDRAFT_RISK_LEVEL_KEY | KEY |
ENCODED_KEY | KEY |
ACCOUNT_ID | STRING |
ACCOUNT_HOLDER_ID | STRING |
RECIPIENT | STRING |
CREATION_DATE | DATE_UTC |
APPROVAL_DATE | DATE |
ACTIVATION_DATE | DATE |
LAST_MODIFIED_DATE | DATE_UTC |
MATURITY_DATE | DATE |
CLOSED_DATE | DATE |
ACCOUNT_STATE | ENUM |
ACCOUNT_NAME | STRING |
RECOMENDED_DEPOSIT_AMOUNT | MONEY |
DEPOSIT_AMOUNT | MONEY |
MAX_WITHDRAWAL_AMOUNT | MONEY |
TARGET_AMOUNT | MONEY |
BALANCE | MONEY |
MAX_BALANCE | MONEY |
ACCRUED_INTEREST | MONEY |
INTEREST_RATE | BIG_DECIMAL |
OVERDRAFT_INTEREST_ACCRUED | MONEY |
OVERDRAFT_AMOUNT | MONEY |
OVERDRAFT_EXPIRY_DATE | DATE |
LAST_SET_TO_ARREARS_DATE | DATE |
OVERDRAFT_INTEREST_RATE | BIG_DECIMAL |
OVERDRAFT_INTEREST_SPREAD | BIG_DECIMAL |
OVERDRAFT_LIMIT | MONEY |
OVERDRAFT_AVAILABLE_LIMIT | MONEY |
OVERDRAFT_IN_ARREARS | MONEY |
OVERDRAFT_DAYS_IN_ARREARS | NUMBER |
INTEREST_DUE | MONEY |
FEES_DUE | MONEY |
LENGTH_IN_DAYS | NUMBER |
ACCOUNT_TYPE | ENUM |
CURRENT_INTEREST_TIER_INDEX | NUMBER |
CURRENT_INTEREST_TIER_STARTING_BALANCE | MONEY |
CURRENT_INTEREST_TIER_ENDING_BALANCE | MONEY |
CURRENT_INTEREST_TIER_RATE | BIG_DECIMAL |
CURRENT_OVERDRAFT_INTEREST_TIER_INDEX | NUMBER |
CURRENT_OVERDRAFT_INTEREST_TIER_STARTING_BALANCE | MONEY |
CURRENT_OVERDRAFT_INTEREST_TIER_ENDING_BALANCE | MONEY |
CURRENT_OVERDRAFT_INTEREST_TIER_RATE | BIG_DECIMAL |
TAX_APPLIED | MONEY |
TAX_RATE | BIG_DECIMAL |
Transactions
Get the repayments transactions for loans that are more than 10 days in arrears
POST /api/loans/transactions/search
{
"filterConstraints":[
{
"filterSelection":"DAYS_IN_ARREARS",
"filterElement":"MORE_THAN",
"dataItemType":"LOANS",
"value":"10"
},
{
"filterSelection":"EVENT",
"filterElement":"EQUALS",
"dataItemType":"LOAN_TRANSACTION",
"value":"REPAYMENT"
}
]
}
Filter Selection Parameter | Data Type |
---|---|
PARENT_ACCOUNT_KEY | KEY |
PRODUCT_TYPE_KEY | KEY |
USER_KEY | KEY |
BRANCH_KEY | KEY |
CENTRE_KEY | KEY |
PARENT_ACCOUNT_HOLDER_KEY | KEY |
CURRENCY_CODE | KEY |
PRODUCT_ID | STRING |
WAS_REVERSED | BOOLEAN |
TYPE_IS_REVERSAL | BOOLEAN |
INTERNAL_TRANSFER | BOOLEAN |
TRANSACTION_CHANNEL_KEY | KEY |
ENCODED_KEY | KEY |
TRANSACTION_ID | LONG |
TILL_ID | STRING |
ENTRY_DATE | DATE |
TRANSACTION_DATE | DATE_UTC |
EVENT | ENUM |
AMOUNT | MONEY |
ADVANCE_POSITION | MONEY |
ARREARS_POSITION | MONEY |
EXPECTED_PRINCIPAL_REDRAW | MONEY |
ORIGINAL_AMOUNT | MONEY |
ORIGINAL_AMOUNT_CURRENCY_CODE | STRING |
BALANCE (Deprecated. Use TOTAL_BALANCE ) | MONEY |
TOTAL_BALANCE | MONEY |
PRINCIPAL_BALANCE | MONEY |
REDRAW_BALANCE | MONEY |
PRINCIPAL_PAID | MONEY |
INTEREST_PAID | MONEY |
DEFERRED_INTEREST | MONEY |
FEES_PAID | MONEY |
FEE_KEY | KEY |
FEE_TYPE | ENUM |
PENALTY_PAID | MONEY |
BRANCH | STRING |
CENTRE | STRING |
PARENT_ACCOUNT | STRING |
PARENT_ACCOUNT_ID | STRING |
PARENT_ACCOUNT_HOLDER | STRING |
PARENT_ACCOUNT_HOLDER_ID | STRING |
TAX_RATE | BIG_DECIMAL |
TAX_AMOUNT | MONEY |
INTEREST_RATE | BIG_DECIMAL |
PRINCIPAL_PAYMENT_FLAT_AMOUNT | MONEY |
PRINCIPAL_PAYMENT_PERCENTAGE | BIG_DECIMAL |
TOTAL_DUE_FLAT_AMOUNT | MONEY |
TOTAL_BALANCE_PERCENTAGE | BIG_DECIMAL |
OVERDRAFT_INTEREST_RATE | BIG_DECIMAL |
OVERDRAFT_LIMIT | MONEY |
Notifications
Get all notification messages for
LOAN_CREATED
notifications
POST /api/notifications/messages/search
{
"filterConstraints":[
{
"filterSelection":"EVENT",
"filterElement":"EQUALS",
"value":"LOAN_CREATED"
}
]
}
Filter Selection Parameter | Data Type |
---|---|
SENDER_KEY | KEY |
RECIPIENT_CLIENT_KEY | KEY |
RECIPIENT_GROUP_KEY | KEY |
RECIPIENT_USER_KEY | KEY |
ENCODED_KEY | KEY |
CREATION_DATE | DATE_UTC |
SENT_DATE | DATE_UTC |
STATE | ENUM |
FAILURE_REASON | ENUM |
DESTINATION | STRING |
TYPE | ENUM |
EVENT | ENUM |
General Ledger Journal Entries
Get the journal entry with entry id
1
, posted by the user with the encoded key8a8080a254a9659b0154a965a69a0004
POST /api/gljournalentries/search
{
"filterConstraints":[
{
"filterSelection":"USER_KEY",
"filterElement":"EQUALS",
"value":"8a8080a254a9659b0154a965a69a0004"
},
{
"filterSelection":"ENTRY_ID",
"filterElement":"EQUALS",
"value":"1"
}
]
}
Filter Selection Parameter | Data Type |
---|---|
PRODUCT_TYPE | ENUM |
GL_ACCOUNT_KEY | KEY |
USER_KEY | KEY |
ENCODED_KEY | STRING |
ENTRY_ID | NUMBER |
DATE | DATE |
CREATION_DATE | DATE |
TRANSACTION_ID | STRING |
GL_ACCOUNT_ID | STRING |
GL_ACCOUNT_TYPE | ENUM |
SOURCE | ENUM |
DEBIT | MONEY |
CREDIT | MONEY |
Lines of Credit
Get all lines of credit identified by state
CLOSED
POST /api/linesofcredit/search
{
"filterConstraints":[
{
"filterSelection":"STATE",
"filterElement":"IN",
"values":[
"CLOSED"
]
}
]
}
Get all lines of credit identified by exposure limit types
APPROVED_AMOUNT
andOUTSTANDING_AMOUNT
POST /api/linesofcredit/search
{
"filterConstraints":[
{
"filterSelection":"EXPOSURE_LIMIT_TYPE",
"filterElement":"IN",
"values":[
"APPROVED_AMOUNT","OUTSTANDING_AMOUNT"
]
}
]
}
Filter Selection Parameter | Data Type |
---|---|
ID | STRING |
START_DATE | DATE |
EXPIRY_DATE | DATE |
APPROVAL_DATE | DATE |
STATE | ENUM |
SUBSTATE | ENUM |
EXPOSURE_LIMIT_TYPE | ENUM |
Object Search
Search through all object types for the object that might contain
john
GET /api/search?query=john&type=[CLIENT,USER]&limit=10
{
"CLIENT": [
{
"selectionType": "CLIENT",
"displayString": "John Demo",
"resultID": "517706810",
"resultKey": "8a42711a4428c1f101442a1bbcbc0009"
},
{
"selectionType": "CLIENT",
"displayString": "John Master",
"resultID": "603117506",
"resultKey": "8a42711a4428c1f101442a1ee710001b"
}
],
"CREDIT_OFFICER": [
{
"selectionType": "CREDIT_OFFICER",
"displayString": "johnty billingsworth",
"resultID": "johntybilling",
"resultKey": "8a19dab474909bc8017490f2fb9006a8"
}
],
"USER": [
{
"selectionType": "USER",
"displayString": "John Doe",
"resultID": "61",
"resultKey": "8a54e5b44449337f01444b03efa3000e"
}
],
"SAVINGS_ACCOUNT": [],
"CUSTOM_FIELD_SELECTION": [],
"CENTRE": [],
"FILTER_CUSTOM_FIELD_SELECTION": [],
"BRANCH": [],
"LOAN_ACCOUNT": [],
"GROUP": [],
"LINE_OF_CREDIT": []
}
Object type | Keyword fields |
---|---|
CLIENT | first name, middle name, last name, id |
GROUP | group name, id |
LOAN_ACCOUNT | account id |
SAVINGS_ACCOUNT | account id |
USER | first name, last name, username |
BRANCH | branch name, branch id |
CENTRE | centre name, centre id |
Custom View Filtering
Custom views are used to define and display specific groups or subsets of clients, users, loan accounts, and other entities. Examples of custom views include:
- Listing all clients in an active state.
- Listing all loan accounts that are 90 days in arrears.
- Listing all the withdrawal transactions higher than USD700,000.
Custom views may be used to configure tabs and reports in the Mambu UI. Once they are defined, they may also be used to filter requests with the Mambu v1 API. Several GET
requests allow filtering the returned results with the criteria defined by an existing custom view. This can be a quick and convenient way to easily filter requests.
For more information on using custom views to filter requests, see Custom Views and API v1 in our User Guide. For general infromation, see Custom Views.
Timezone Offsets
Here is how we handle timezone offsets in API v1 calls:
- We use the following standard date format: ISO_8601_FORMAT_DATE_TIME = "YYYY-MM-DD'T'hh:mm:ss±hh:mm".
- We either save the date as it is or extract the offset value if it contains an offset.
- Unlike in API v2, in API v1 we don’t validate the timezone.
Example
Each Mambu tenant has one timezone. Let’s take for example tenants in the East European time zone (UTC+02:00).
Date and time of request | What is saved in the database |
---|---|
2021-03-09T13:37:50 | 2021-03-09 13:37:50 |
2021-03-09T13:37:50+02:00 | 2021-03-09 11:37:50 |
Activities
Allows you to retrieve the activity feed items.
Get all Activities
GET /activities
Get activities
Allows retrieving a list of activities entries within a date range that can be fitered by entity key.
Parameters
Name | Type | Description | In |
---|---|---|---|
from (required) | string | From (start) date to retreive activities from. | query |
to (required) | string | To (end) date to retreive the activities from. | query |
clientID | string | The client key to filter activities on. | query |
groupID | string | The group key to filter activities on. | query |
centreID | string | The centre key to filter activities on. | query |
branchID | string | The branch key to filter activities on. | query |
loanProductID | string | The loan product key to filter activities on. | query |
savingsProductID | string | The savings product key to filter activities on. | query |
loanAccountID | string | The loan account key to filter activities on. | query |
savingsAccountID | string | The savings account key to filter activities on. | query |
userID | string | The user key to filter activities on. | query |
offset | integer | Determines how many records will be skipped before being included in the returned results. The default offset value is 0. | query |
limit | integer | The maximum number of records to return. | query |
Example Responses
200 : OK
An array of activities
[
{
"activity": {
"encodedKey": "8a54e5b444441eba014445e18c640021",
"transactionID": 1656,
"timestamp": "2014-02-18T16:43:33+0000",
"type": "TASK_DELETED",
"branchKey": "8a33ae49441c4fe101441c713b36000e",
"userKey": "8a33ae49441c4fe101441c5fe42f0005",
"assignedUserKey": "8a33ae49441c4fe101441c5fe42f0005",
"notes": "Disburse your first loan",
"fieldChanges": []
},
"branchName": "Matola City",
"userName": "Max Power"
},
{
"activity": {
"encodedKey": "8a54e5b444441eba0144477140920028",
"transactionID": 1657,
"timestamp": "2014-02-19T00:00:08+0000",
"type": "LOAN_ACCOUNT_SET_TO_IN_ARREARS",
"clientKey": "8a33ae49441c4fe101441c7149e00102",
"loanProductKey": "8a33ae494420ac160144210c0be50152",
"loanAccountKey": "8a42711a4430587d0144307a352d0001",
"notes": "",
"fieldChanges": []
},
"clientName": "Kwemto Akobundu",
"loanProductName": "dynamic dbei horizontal",
"loanAccountName": "dynamic dbei horizontal"
},
{
"activity": {
"encodedKey": "8a54e5b44449337f014449337f130000",
"transactionID": 1661,
"timestamp": "2014-02-19T08:11:54+0000",
"type": "USER_LOGGED_IN",
"branchKey": "8a33ae49441c4fe101441c713b36000e",
"userKey": "8a33ae49441c4fe101441c5fe42f0005",
"assignedUserKey": "8a33ae49441c4fe101441c5fe42f0005",
"notes": "",
"fieldChanges": []
},
"branchName": "Matola City",
"userName": "Max Power"
},
{
"activity": {
"encodedKey": "8a54e5b44449337f0144498ce4430004",
"transactionID": 1665,
"timestamp": "2014-02-19T09:49:34+0000",
"type": "USER_LOGGED_IN",
"branchKey": "8a33ae49441c4fe101441c713b36000e",
"userKey": "8a33ae49441c4fe101441c5fe42f0005",
"assignedUserKey": "8a33ae49441c4fe101441c5fe42f0005",
"notes": "",
"fieldChanges": []
},
"branchName": "Matola City",
"userName": "Max Power"
},
{
"activity": {
"encodedKey": "8a54e5b44449337f014449a978650005",
"transactionID": 1666,
"timestamp": "2014-02-19T10:20:47+0000",
"type": "CLIENT_EDITED",
"clientKey": "8a33ae49441c4fe101441c71497200e3",
"userKey": "8a33ae49441c4fe101441c5fe42f0005",
"notes": "",
"fieldChanges": [
{
"id": 331,
"fieldChangeName": "NAME",
"originalValue": "Adaoha Samuel",
"newValue": "Adaoha z Samuel"
}
]
},
"clientName": "Adaoha z Samuel",
"userName": "Max Power"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [activity] | [an activity is an action that has taken place, either initiated by a user or the mambu system] | none |
» activity | activity | an activity is an action that has taken place, either initiated by a user or the mambu system | none |
»» activity | object | an object containing details about the activity | none |
»»» activityChanges | [any] | none | none |
»»» assignedCentreKey | string | the encoded key of the centre an account associated with this activity is assigned to | none |
»»» assignedUserKey | string | the encoded key of the user assigned to a task or account associated with this activity | none |
»»» branchKey | string | the encoded key fo the branch associated with this activity | none |
»»» centreKey | string | the encoded key of the centre associated with this activity | none |
»»» clientKey | string | the key for the client associated with this activity | none |
»»» encodedKey (required) | string | a unique key for this activity | none |
»»» fieldChanges | [object] | an array of field changes detailing any fields which were updated or created by this activity | none |
»»»» fieldChangeName | string | The name of the field which changed, note that if the field is a custom field definition this field will indicate CUSTOM_FIELD_VALUE , in this case the name of the custom field definition will be given on the fieldDetailName key. | none |
»»»» fieldDetailKey | string | the encoded key of the custom field definition which changed | none |
»»»» fieldDetailName | string | the name of the custom field definition that changed | none |
»»»» id | integer | an ID for this change | none |
»»»» newValue | string | the new value of the field | none |
»»»» originalValue | string | the previous value of the field | none |
»»» glAccountKey | string | the encoded key of the general ledger account associated with this activity | none |
»»» glAccountsClosureKey | string | the encoded key of the accounting closure associated with this activity | none |
»»» groupKey | string | the encoded key of the group associated with this activity | none |
»»» lineOfCreditKey | string | the encoded key of the line of credit associated with this activity | none |
»»» loanAccountKey | string | the encoded key of the loan account associated with this activity | none |
»»» loanProductKey | string | the encoded key of the loan product associated with this activity | none |
»»» notes | string | some notes about the activity | none |
»»» savingsAccountKey | string | the encoded key of the savings account assoicated with this activity | none |
»»» savingsProductKey | string | the encoded key of the savings product associated with this activity | none |
»»» taskKey | string | the encoded key of the task associated with this activity | none |
»»» timestamp (required) | string(timestamp) | the time at which the activity took place | none |
»»» transactionID | integer | an ID for this activity | none |
»»» type (required) | activityType | The types of activity which are recorded by the system | none |
»»» userKey | string | the encoded key of the Mambu user associated with this activity | none |
»» branchName | string | the name of the branch the activity concerns | none |
»» centreName | string | the name of the centre the activity concerns | none |
»» clientName | string | the name of the client the activity concerns | none |
»» groupName | string | the name of the group the activity concerns | none |
»» loanAccountName | string | the name of the loan account the activity concerns | none |
»» loanProductName | string | the name of the loan product the activity concerns | none |
»» savingsAccountName | string | the name of the savings account the activity concerns | none |
»» savingsProductName | string | the name of the savings product the activity concerns | none |
»» taskName | string | the name of the task the activity concerns | none |
»» userName | string | the name of the user the activity concerns | none |
Enumerated Values
Property | Value |
---|---|
type | BRANCH_CREATED |
type | BRANCH_COMMENT_ADDED |
type | BRANCH_COMMENT_EDITED |
type | BRANCH_COMMENT_DELETED |
type | BRANCH_EDITED |
type | BRANCH_DELETED |
type | CENTRE_CREATED |
type | CENTRE_COMMENT_ADDED |
type | CENTRE_COMMENT_EDITED |
type | CENTRE_COMMENT_DELETED |
type | CENTRE_EDITED |
type | CENTRE_DELETED |
type | CLIENT_CREATED |
type | CLIENT_COMMENT_ADDED |
type | CLIENT_COMMENT_EDITED |
type | CLIENT_COMMENT_DELETED |
type | CLIENT_EDITED |
type | CLIENT_DELETED |
type | CLIENT_BRANCH_ASSIGNMENT |
type | CLIENT_BRANCH_UNASSIGNMENT |
type | CLIENT_CENTRE_ASSIGNMENT |
type | CLIENT_CENTRE_UNASSIGNMENT |
type | CLIENT_CREDIT_OFFICER_ASSIGNMENT |
type | CLIENT_CREDIT_OFFICER_UNASSIGNMENT |
type | CLIENT_SET_TO_PENDING |
type | CLIENT_SET_TO_ACTIVE |
type | CLIENT_SET_TO_INACTIVE |
type | CLIENT_SET_TO_BLACKLISTED |
type | CLIENT_SET_TO_REJECTED |
type | CLIENT_SET_TO_EXITED |
type | DATA_IMPORTED |
type | DATA_IMPORT_APPROVED |
type | DATA_IMPORT_REVERTED |
type | DOCUMENT_CREATED |
type | DOCUMENT_EDITED |
type | DOCUMENT_DELETED |
type | PRODUCT_DOCUMENT_TEMPLATE_CREATED |
type | PRODUCT_DOCUMENT_TEMPLATE_DELETED |
type | PRODUCT_DOCUMENT_TEMPLATE_EDITED |
type | FEDERATED_AUTHENTICATION_SETTINGS_EDITED |
type | ENTITY_CREATED |
type | ENTITY_EDITED |
type | ENTITY_DELETED |
type | GLACCOUNT_CREATED |
type | GLACCOUNT_EDITED |
type | GLACCOUNT_DELETED |
type | GLACCOUNTSCLOSURE_EXECUTED |
type | GLACCOUNTSCLOSURE_UNDONE |
type | CLIENT_JOINED_GROUP |
type | CLIENT_LEFT_GROUP |
type | GROUP_CREATED |
type | GROUP_COMMENT_ADDED |
type | GROUP_COMMENT_EDITED |
type | GROUP_COMMENT_DELETED |
type | GROUP_EDITED |
type | GROUP_DELETED |
type | GROUP_BRANCH_ASSIGNMENT |
type | GROUP_BRANCH_UNASSIGNMENT |
type | GROUP_CENTRE_ASSIGNMENT |
type | GROUP_CENTRE_UNASSIGNMENT |
type | GROUP_CREDIT_OFFICER_ASSIGNMENT |
type | GROUP_CREDIT_OFFICER_UNASSIGNMENT |
type | GROUP_SMS_MESSAGE_SENT |
type | GROUP_EMAIL_MESSAGE_SENT |
type | HOLIDAY_SETTINGS_CHANGED |
type | LINE_OF_CREDIT_CREATED |
type | LINE_OF_CREDIT_EDITED |
type | LINE_OF_CREDIT_DELETED |
type | ACCOUNT_ADDED_TO_LINE_OF_CREDIT |
type | ACCOUNT_REMOVED_FROM_LINE_OF_CREDIT |
type | LINE_OF_CREDIT_CLOSED |
type | LINE_OF_CREDIT_REOPENED |
type | LINE_OF_CREDIT_APPROVED |
type | LINE_OF_CREDIT_SET_TO_PENDING_APPROVAL |
type | LINE_OF_CREDIT_WITHDRAW |
type | LINE_OF_CREDIT_REJECT |
type | LOAN_ACCOUNT_CREATED |
type | LOAN_ACCOUNT_COMMENT_ADDED |
type | LOAN_ACCOUNT_COMMENT_EDITED |
type | LOAN_ACCOUNT_COMMENT_DELETED |
type | LOAN_ACCOUNT_EDITED |
type | LOAN_ACCOUNT_SET_TO_PARTIAL |
type | LOAN_ACCOUNT_SET_TO_PENDING_APPROVAL |
type | LOAN_ACCOUNT_SET_TO_APPROVED |
type | LOAN_ACCOUNT_SET_TO_CLOSED_CANCELLED |
type | LOAN_ACCOUNT_SET_TO_CLOSED_REJECTED |
type | LOAN_ACCOUNT_SET_TO_CLOSED_REFINANCED |
type | LOAN_ACCOUNT_SET_TO_CLOSED_RESCHEDULED |
type | LOAN_ACCOUNT_SET_TO_CLOSED_WRITTEN_OFF |
type | LOAN_ACCOUNT_SET_TO_ACTIVE |
type | LOAN_ACCOUNT_DISBURSED |
type | TRANCHE_DISBURSED |
type | TRANCHE_REVERSED |
type | LOAN_ACCOUNT_SET_TO_IN_ARREARS |
type | LOAN_ACCOUNT_DELETED |
type | LOAN_GROUP_DELETED |
type | LINKED_LOAN_ACCOUNT |
type | UNLINKED_LOAN_ACCOUNT |
type | LOAN_ACCOUNT_PAYED_OFF |
type | LOAN_ACCOUNT_LOCKED |
type | LOAN_ACCOUNT_UNLOCKED |
type | LOAN_ACCOUNT_LOCKED_OPERATIONS_EDITED |
type | LOAN_ACCOUNT_LOCKED_CAPPING |
type | LOAN_ACCOUNT_BRANCH_ASSIGNMENT |
type | LOAN_ACCOUNT_BRANCH_UNASSIGNMENT |
type | LOAN_ACCOUNT_CENTRE_ASSIGNMENT |
type | LOAN_ACCOUNT_CENTRE_UNASSIGNMENT |
type | LOAN_ACCOUNT_CREDIT_OFFICER_ASSIGNMENT |
type | LOAN_ACCOUNT_CREDIT_OFFICER_UNASSIGNMENT |
type | LOAN_ACCOUNT_SET_TO_CLOSED_OBLIGATIONS_MET |
type | LOAN_SCHEDULE_EDITED |
type | LOAN_PRODUCT_CREATED |
type | LOAN_PRODUCT_COMMENT_ADDED |
type | LOAN_PRODUCT_COMMENT_EDITED |
type | LOAN_PRODUCT_COMMENT_DELETED |
type | LOAN_PRODUCT_EDITED |
type | LOAN_PRODUCT_DEACTIVATED |
type | LOAN_PRODUCT_ACTIVATED |
type | LOAN_PRODUCT_DELETED |
type | ORGANIZATION_SETTINGS_CHANGED |
type | PORTAL_ACTIVATED |
type | PORTAL_DEACTIVATED |
type | PORTAL_EDITED |
type | SAVINGS_PRODUCT_CREATED |
type | SAVINGS_PRODUCT_COMMENT_ADDED |
type | SAVINGS_PRODUCT_COMMENT_EDITED |
type | SAVINGS_PRODUCT_COMMENT_DELETED |
type | SAVINGS_PRODUCT_EDITED |
type | SAVINGS_PRODUCT_ACTIVATED |
type | SAVINGS_PRODUCT_DEACTIVATED |
type | SAVINGS_PRODUCT_DELETED |
type | SAVING_ACCOUNT_CREATED |
type | SAVINGS_ACCOUNT_COMMENT_ADDED |
type | SAVINGS_ACCOUNT_COMMENT_EDITED |
type | SAVINGS_ACCOUNT_COMMENT_DELETED |
type | SAVING_ACCOUNT_EDITED |
type | SAVINGS_ACCOUNT_APPROVED |
type | SAVINGS_ACCOUNT_ACTIVATED |
type | SAVINGS_ACCOUNT_CLOSED_WITHDRAWN |
type | SAVINGS_ACCOUNT_CLOSED_REJECTED |
type | SAVINGS_ACCOUNT_CLOSED |
type | SAVINGS_ACCOUNT_MATURED |
type | SAVINGS_ACCOUNT_SET_TO_PENDING |
type | SAVINGS_ACCOUNT_MATURITY_SET |
type | SAVINGS_ACCOUNT_MATURITY_UNSET |
type | SAVINGS_ACCOUNT_SET_TO_ARREARS |
type | SAVINGS_ACCOUNT_WRITEN_OFF |
type | SAVINGS_ACCOUNT_SET_TO_LOCKED |
type | SAVINGS_ACCOUNT_DELETED |
type | SAVINGS_ACCOUNT_SET_TO_DORMANT |
type | SAVINGS_ACCOUNT_UNDO_DORMANT |
type | SMS_MESSAGE_SENT |
type | CLIENT_EMAIL_MESSAGE_SENT |
type | TASK_CREATED |
type | TASK_EDITED |
type | TASK_DELETED |
type | TASK_COMPLETED |
type | TASK_UNCOMPLETED |
type | LOAN_TRANSACTION_EDITED |
type | SAVINGS_TRANSACTION_EDITED |
type | USER_CREATED |
type | USER_EDITED |
type | USER_DELETED |
type | USER_COMMENT_ADDED |
type | USER_COMMENT_EDITED |
type | USER_COMMENT_DELETED |
type | USER_LOGGED_IN |
type | USER_BRANCH_ASSIGNMENT |
type | USER_BRANCH_UNASSIGNMENT |
type | USER_LOCKED |
Branches
Allows you to retrieve branches which are being used by an organization. For information about custom field definitions and custom fields sets in branches see Custom Fields API documentation.
Get all Branches
GET /branches
Get all branches
Allows retrieving branches via a paginated list or by using the branch id/key. While using the branch id/key the full details of the branch can be retreived(address, custom field values, holidays). The custom field values can be changed using patch or delete methods.
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer | Start at index x, for example, if limit is set to 10 and offset is set to 10, you will essentially get page 2 of all records. | query |
limit | integer | Max number of records to return. | query |
fullDetails | boolean | Whether to load all the nested fields for the branch as well. | query |
Example Responses
200 : ok
an array of branches with full details
[
{
"encodedKey": "8a193c26722b51b701722d779e7122de",
"id": "demoBranchId",
"creationDate": "2020-05-19T15:05:23+0000",
"lastModifiedDate": "2020-09-07T10:44:32+0000",
"name": "Maputo Downtown",
"state": "ACTIVE",
"phoneNumber": "",
"emailAddress": "",
"notes": "Is located in the surroundings of the local market with a <i>lot of potential</i> to reach new clients.",
"branchHolidays": [
{
"encodedKey": "8a19df6972b787fc0172b8c473c00b9c",
"keyId": 12,
"name": "only maputo holiday day",
"dayOfMonth": 30,
"monthOfYear": 7,
"year": 2020,
"isAnnualyRecurring": true,
"creationDate": "2020-06-15T16:17:01+0000"
}
],
"customFieldValues": [
{
"encodedKey": "8a19cd6f74674df9017467f25aab02c6",
"parentKey": "8a193c26722b51b701722d779e7122de",
"customFieldKey": "8a19cd6f74674df9017467ef8e6802af",
"customField": {
"encodedKey": "8a19cd6f74674df9017467ef8e6802af",
"id": "cf_branch",
"creationDate": "2020-09-07T09:42:33+0000",
"lastModifiedDate": "2020-09-07T09:42:33+0000",
"name": "Example Custom Field Definition",
"type": "BRANCH_INFO",
"dataType": "CHECKBOX",
"valueLength": "SHORT",
"isDefault": false,
"isRequired": false,
"description": "an example of a checkbox custom field definition",
"customFieldSet": {
"encodedKey": "8a19cd6f74674df9017467ef8e6802ae",
"id": "_example_branch_custom_field_set",
"name": "example branch custom field set",
"notes": "example custom field set",
"createdDate": "2020-09-07T09:41:50+0000",
"lastModifiedDate": "2020-09-07T09:41:50+0000",
"indexInList": 2,
"type": "BRANCH_INFO",
"usage": "SINGLE"
},
"indexInList": 0,
"state": "NORMAL",
"customFieldSelectionOptions": [],
"viewRights": {
"encodedKey": "8a19cd6f74674df9017467ef8e6802b0",
"isAccessibleByAllUsers": false,
"roles": []
},
"editRights": {
"encodedKey": "8a19cd6f74674df9017467ef8e6802b1",
"isAccessibleByAllUsers": false,
"roles": []
},
"unique": false,
"values": [],
"amounts": {}
},
"value": "TRUE",
"indexInList": -1,
"customFieldID": "cf_branch",
"customFieldSetGroupIndex": -1
},
{
"encodedKey": "8a19cd6f74674df9017468019ac00310",
"parentKey": "8a193c26722b51b701722d779e7122de",
"customFieldKey": "8a19cd6f74674df9017467f25aab02c9",
"customField": {
"encodedKey": "8a19cd6f74674df9017467f25aab02c9",
"id": "cf_group_field_1",
"creationDate": "2020-09-07T09:58:33+0000",
"lastModifiedDate": "2020-09-07T09:58:33+0000",
"name": "cf group field 1",
"type": "BRANCH_INFO",
"dataType": "STRING",
"valueLength": "SHORT",
"isDefault": false,
"isRequired": false,
"description": "",
"customFieldSet": {
"encodedKey": "8a19cd6f74674df9017467f25aab02c8",
"id": "_branches_grouped_cf_set",
"name": "Custom Field Group for Branch",
"notes": "",
"createdDate": "2020-09-07T09:47:03+0000",
"lastModifiedDate": "2020-09-07T09:47:03+0000",
"indexInList": 3,
"type": "BRANCH_INFO",
"usage": "GROUPED"
},
"indexInList": 0,
"state": "NORMAL",
"customFieldSelectionOptions": [],
"viewRights": {
"encodedKey": "8a19cd6f74674df9017467f25aab02ca",
"isAccessibleByAllUsers": true,
"roles": []
},
"editRights": {
"encodedKey": "8a19cd6f74674df901746800bdb10307",
"isAccessibleByAllUsers": true,
"roles": []
},
"unique": false,
"values": [],
"amounts": {}
},
"value": "group field 1",
"indexInList": -1,
"customFieldID": "cf_group_field_1",
"customFieldSetGroupIndex": 0
},
{
"encodedKey": "8a19cd6f74674df90174681f214103cf",
"parentKey": "8a193c26722b51b701722d779e7122de",
"customFieldKey": "8a19cd6f74674df901746800bdb10308",
"customField": {
"encodedKey": "8a19cd6f74674df901746800bdb10308",
"id": "cf_group_field_2",
"creationDate": "2020-09-07T09:59:02+0000",
"lastModifiedDate": "2020-09-07T09:59:02+0000",
"name": "cf group field 2",
"type": "BRANCH_INFO",
"dataType": "NUMBER",
"valueLength": "SHORT",
"isDefault": false,
"isRequired": false,
"description": "",
"customFieldSet": {
"encodedKey": "8a19cd6f74674df9017467f25aab02c8",
"id": "_branches_grouped_cf_set",
"name": "Custom Field Group for Branch",
"notes": "",
"createdDate": "2020-09-07T09:47:03+0000",
"lastModifiedDate": "2020-09-07T09:47:03+0000",
"indexInList": 3,
"type": "BRANCH_INFO",
"usage": "GROUPED"
},
"indexInList": 1,
"state": "NORMAL",
"customFieldSelectionOptions": [],
"viewRights": {
"encodedKey": "8a19cd6f74674df901746800bdb10309",
"isAccessibleByAllUsers": true,
"roles": []
},
"editRights": {
"encodedKey": "8a19cd6f74674df901746800bdb1030a",
"isAccessibleByAllUsers": true,
"roles": []
},
"unique": false,
"values": [],
"amounts": {}
},
"value": "2",
"indexInList": -1,
"customFieldID": "cf_group_field_2",
"customFieldSetGroupIndex": 0
},
{
"encodedKey": "8a19cd6f74674df90174681f214103d1",
"parentKey": "8a193c26722b51b701722d779e7122de",
"customFieldKey": "8a19cd6f74674df901746800bdb10308",
"customField": {
"encodedKey": "8a19cd6f74674df901746800bdb10308",
"id": "cf_group_field_2",
"creationDate": "2020-09-07T09:59:02+0000",
"lastModifiedDate": "2020-09-07T09:59:02+0000",
"name": "cf group field 2",
"type": "BRANCH_INFO",
"dataType": "NUMBER",
"valueLength": "SHORT",
"isDefault": false,
"isRequired": false,
"description": "",
"customFieldSet": {
"encodedKey": "8a19cd6f74674df9017467f25aab02c8",
"id": "_branches_grouped_cf_set",
"name": "Custom Field Group for Branch",
"notes": "",
"createdDate": "2020-09-07T09:47:03+0000",
"lastModifiedDate": "2020-09-07T09:47:03+0000",
"indexInList": 3,
"type": "BRANCH_INFO",
"usage": "GROUPED"
},
"indexInList": 1,
"state": "NORMAL",
"customFieldSelectionOptions": [],
"viewRights": {
"encodedKey": "8a19cd6f74674df901746800bdb10309",
"isAccessibleByAllUsers": true,
"roles": []
},
"editRights": {
"encodedKey": "8a19cd6f74674df901746800bdb1030a",
"isAccessibleByAllUsers": true,
"roles": []
},
"unique": false,
"values": [],
"amounts": {}
},
"value": "500",
"indexInList": -1,
"customFieldID": "cf_group_field_2",
"customFieldSetGroupIndex": 1
}
]
},
{
"encodedKey": "8a193c26722b51b701722d779e7122df",
"id": "2",
"creationDate": "2020-05-19T15:05:23+0000",
"lastModifiedDate": "2020-10-08T09:21:51+0000",
"name": "Matola City",
"state": "ACTIVE",
"phoneNumber": "+7534987676",
"emailAddress": "matola@BofAlg.es",
"notes": "Is currently under construction to add an extra room that can be used for the meetings.<p></p>Have <b>six new computers</b> for their staff.",
"branchHolidays": [
{
"encodedKey": "8a19df6972b787fc0172b8c50bdb0ba1",
"keyId": 13,
"name": "joe matola only day",
"dayOfMonth": 26,
"monthOfYear": 8,
"year": 2020,
"isAnnualyRecurring": true,
"creationDate": "2020-06-15T16:17:19+0000"
}
],
"address": {
"encodedKey": "8a19aa09750726e001750782ef6f017d",
"parentKey": "8a193c26722b51b701722d779e7122df",
"line1": "1 Bank Street",
"line2": "Old Town",
"city": "Matola City",
"region": "Matola",
"postcode": "10775",
"country": "Bankistan",
"indexInList": -1
},
"customFieldValues": []
}
]
200 : ok
an array of branches with basic details
[
{
"encodedKey": "402832b43809601c01380963908b0009",
"id": "2",
"creationDate": "2012-06-20T12:15:16+0200",
"lastModifiedDate": "2012-06-20T12:15:16+0200",
"name": "Matola City"
},
{
"encodedKey": "402832b43809601c01380963907c0008",
"id": "demoBranchId",
"creationDate": "2012-06-20T12:15:16+0200",
"lastModifiedDate": "2012-06-20T12:15:16+0200",
"name": "Maputo Downtown"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [BranchFullDetailsApiV1] | none | none |
» address | AddressApiV1 | none | none |
»» addressType | string | the type of the address, eg. home, office. Deprecated. | none |
»» city | string | the city | none |
»» country | string | the country | none |
»» encodedKey | string | the automatically generated encoded ID for this item | none |
»» indexInList | integer | the index of this address when there are multiple addresses assigned for a single entity | none |
»» latitude | number | the latitude of the address point | none |
»» line1 | string | the first line of the address | none |
»» line2 | string | the second line of the address | none |
»» longitude | number | the longitude of the address point | none |
»» parentKey | string | the encoded key of the entity to whom this address belongs, for example, the client of group | none |
»» postcode | string | the postal (zip) code of the address | none |
»» region | string | the region of the address | none |
»» toBeDeleted | boolean | whether this address is marked to be deleted | none |
» branchHolidays | [HolidayApiV1] | a list of holidays specific to this branch | none |
»» creationDate | string | the date and time when this holdiay was created | none |
»» dayOfMonth | number | the day of the month on which this holiday falls | none |
»» encodedKey | string | the automatically generated encoded ID for this item | none |
»» isAnnualyRecurring | boolean | whether this holiday takes place every year | none |
»» keyId | number | none | none |
»» monthOfYear | number | the month of the year in which this holiday takes place | none |
»» name | string | the name of this holiday | none |
»» year | number | the year in which this holiday takes place | none |
» creationDate | string | the date on which this branch was created | none |
» customFieldValues | [CustomFieldValueApiV1] | none | none |
»» amount | number | none | none |
»» customField | CustomFieldApiV1 | none | none |
»»» amounts | object | used when options available for a custom field definition translate to predefined amounts, for example, when the custom field value is used to generate a score | none |
»»»» additionalProperties | number | none | none |
»»» builtInCustomFieldId | string | if this field is one of the built in custom fiel definitions, this will have a value. These names are reserved and you can not use them for your own custom field definitions | none |
»»» creationDate | string | the date on which this custom field definition was created | none |
»»» customFieldProductSettings | [CustomFieldLinkApiV1] | none | none |
»»»» customFieldEncodedKey | string | the key to the parent custom field definition | none |
»»»» encodedKey | string | the automatically generated encoded ID for this item | none |
»»»» isDefault | boolean | whether this field is displayed by default when creating a new record | none |
»»»» isRequired | boolean | whether this field is required when creating a new record | none |
»»»» linkType | string | the type of entity this field represents a link to | none |
»»»» productKey | string | when the link type is product, this field should contain the encoded key of the linekd product | none |
»»» customFieldSelectionOptions | [CustomFieldSelectionApiV1] | [represents a possible selection for select type custom field definitions] | none |
»»»» constraint | CustomFilterConstraintApiV1 | none | none |
»»»»» customFieldKey | string | none | none |
»»»»» dataFieldType | string | none | none |
»»»»» dataFieldValue | string | none | none |
»»»»» dataItemType | string | none | none |
»»»»» dataType | string | none | none |
»»»»» encodedKey | string | none | none |
»»»»» filterElement | string | none | none |
»»»»» groupNumber | number | none | none |
»»»»» index | number | none | none |
»»»»» linkingOperator | string | none | none |
»»»»» secondValue | string | none | none |
»»»»» value | string | none | none |
»»»» encodedKey | string | the automatically generated encoded ID for this item | none |
»»»» id | string | the ID of this selectable item | none |
»»»» score | number | the score assigned to this selection | none |
»»»» value | string | display name of this option | none |
»»» customFieldSet | CustomFieldSetApiV1 | none | none |
»»»» builtInType | string | if this set is part of the set of built-in custom field sets, its type will be shown here | none |
»»»» createdDate | string | the date and time when this custom field set was created | none |
»»»» customFields | [CustomFieldApiV1] | an array of custom field definitions included in this custom field set | none |
»»»» encodedKey | string | the automatically generated encoded ID for this item | none |
»»»» id | string | the ID of this custom field set | none |
»»»» indexInList | number | for field sets that can be added to an entity more than once, this number represents the index in the list and is used when changing values | none |
»»»» lastModifiedDate | string | the date on which this custom field set was last modified | none |
»»»» name | string | the name of this custom field set | none |
»»»» notes | string | any notes regarding this custom field set | none |
»»»» type | string | the entity type that this custom field definition is attached to | none |
»»»» usage | string | whether this custom field set can only be used once, or added multiple times to the same entity | none |
»»» dataType | string | the type of custom field definition | none |
»»» description | string | a brief description of this custom field definition | none |
»»» editRights | UsageRightsApiV1 | none | none |
»»»» encodedKey | string | the automatically generated encoded ID for this item | none |
»»»» isAccessibleByAllUsers | boolean | none | none |
»»»» roles | [string] | none | none |
»»» encodedKey | string | the automatically generated encoded ID for this item | none |
»»» id | string | the ID for this custom field definition | none |
»»» indexInList | number | none | none |
»»» isDefault | boolean | whether this field will be included by default on new records | none |
»»» isRequired | boolean | whether this field is required when creating a new record | none |
»»» lastModifiedDate | string | the date on which this custom field definition was last modified | none |
»»» name | string | the name of this custom field definition | none |
»»» state | string | whether this field is available for use or has been deactivated | none |
»»» type | string | the type of data this custom field definition will contain | none |
»»» unique | boolean | whether the data in this custom field definition needs to be a unique value | none |
»»» validationPattern | string | a user-provided pattern to which data in this custom field definition must conform where @ represents numbers, # represents letters and $ is either a number or letter. Other special characters used as separators are allowed, for example @@-##-$$$ | none |
»»» valueLength | string | whether this field needs to support a large number of characters | none |
»»» values | [string] | a list of possible values when the field is a selection field | none |
»»» viewRights | UsageRightsApiV1 | none | none |
»» customFieldID | string | none | none |
»» customFieldKey | string | none | none |
»» customFieldSetGroupIndex | number | none | none |
»» encodedKey | string | the automatically generated encoded ID for this item | none |
»» indexInList | number | none | none |
»» linkedEntityKeyValue | string | none | none |
»» parentKey | string | none | none |
»» selectionKey | string | none | none |
»» value | string | none | none |
» emailAddress | string | the email address for this branch | none |
» encodedKey | string | the automatically generated encoded ID for this item | none |
» id | string | the user provided ID for this branch | none |
» lastModifiedDate | string | the date on which the details for this branch were last modified | none |
» name | string | the name of this branch | none |
» notes | string | notes associated with this branch | none |
» phoneNumber | string | the contact telephone number for this branch | none |
» state | string | wether this branch is active or not | none |
Enumerated Values
Property | Value |
---|---|
builtInCustomFieldId | MOBILE_PHONE |
builtInCustomFieldId | EMAIL_ADDRESS |
builtInCustomFieldId | GENDER |
builtInCustomFieldId | MIDDLE_NAME |
builtInCustomFieldId | HOME_PHONE |
builtInCustomFieldId | BIRTHDATE |
builtInCustomFieldId | LAST_NAME |
builtInCustomFieldId | FIRST_NAME |
linkType | CLIENT_ROLE |
linkType | CHANNEL |
linkType | PRODUCT |
dataFieldType | NATIVE |
dataFieldType | CUSTOM |
dataItemType | WRITTEN_OFF_LOANS |
dataItemType | LINE_OF_CREDIT |
dataItemType | INVESTOR_FUND |
dataItemType | TRANSACTION_DETAILS |
dataItemType | DOCUMENT_TEMPLATE |
dataItemType | PRODUCT |
dataItemType | MCC_EXPIRATION |
dataItemType | CENTRE |
dataItemType | REPAYMENT_COLLECTION |
dataItemType | TASK |
dataItemType | OUTSTANDING_PORTFOLIO_AMOUNTS |
dataItemType | REVENUE |
dataItemType | COMPOSED_TRANSACTIONS |
dataItemType | UNION_TRANSACTIONS |
dataItemType | PRINCIPAL_PAYMENT_SETTINGS |
dataItemType | LOANS |
dataItemType | DISBURSEMENT_DETAILS |
dataItemType | SAVINGS_TRANSACTION |
dataItemType | IDENTIFICATION_DOCUMENT |
dataItemType | LOAN_PRODUCT |
dataItemType | DISBURSED_LOANS |
dataItemType | LOAN_GROUP |
dataItemType | TRANSACTION_CHANNEL |
dataItemType | CUSTOM_PREDEFINED_FEE |
dataItemType | JOURNAL_ENTRY |
dataItemType | ATTACHMENT |
dataItemType | PREDEFINED_FEE |
dataItemType | TRANCHE |
dataItemType | TRANSACTION |
dataItemType | INDEX_RATE_SOURCE |
dataItemType | GROUP_ROLE |
dataItemType | LOAN_TRANSACTION |
dataItemType | CLIENT_ROLE |
dataItemType | GROUP |
dataItemType | NOTIFICATION_MESSAGE |
dataItemType | OUTSTANDING_PORTFOLIO_ACCOUNTS |
dataItemType | REPAYMENT |
dataItemType | LOAN_ACCOUNT_GUARANTY |
dataItemType | BRANCH |
dataItemType | CURRENCY |
dataItemType | CARD_TRANSACTION_REVERSAL |
dataItemType | INTEREST_PRODUCT_SETTINGS |
dataItemType | CREATED_ACCOUNTS |
dataItemType | USER |
dataItemType | SAVINGS_PRODUCT |
dataItemType | CLIENT |
dataItemType | PRODUCT_ARREARS_SETTINGS |
dataItemType | SAVINGS |
dataItemType | EXPENSE |
dataItemType | INDEX_RATE |
dataItemType | NOTIFICATION_TEMPLATE |
dataItemType | CUSTOM_FIELD_SELECTION |
dataItemType | ACTIVITY |
dataType | ENUM |
dataType | MONEY |
dataType | NUMBER |
dataType | DATE_UTC |
dataType | JAVA_BLOB |
dataType | OBJECT |
dataType | BOOLEAN |
dataType | DATE |
dataType | PERCENT |
dataType | BIG_DECIMAL |
dataType | STRING |
dataType | KEY |
dataType | LONG |
filterElement | STARTS_WITH_CASE_SENSITIVE |
filterElement | THIS_WEEK |
filterElement | EQUALS |
filterElement | STARTS_WITH |
filterElement | IN |
filterElement | TODAY |
filterElement | THIS_YEAR |
filterElement | BETWEEN |
filterElement | AFTER |
filterElement | LESS_THAN |
filterElement | DIFFERENT_THAN |
filterElement | THIS_MONTH |
filterElement | NOT_EMPTY |
filterElement | BEFORE |
filterElement | EQUALS_CASE_SENSITIVE |
filterElement | LAST_DAYS |
filterElement | MORE_THAN |
filterElement | EMPTY |
filterElement | ON |
linkingOperator | OR |
linkingOperator | AND |
builtInType | DETAILS |
builtInType | GENERAL |
type | USER_INFO |
type | ASSET_INFO |
type | CLIENT_INFO |
type | LINE_OF_CREDIT |
type | GROUP_INFO |
type | TRANSACTION_CHANNEL_INFO |
type | BRANCH_INFO |
type | SAVINGS_ACCOUNT_INFO |
type | LOAN_ACCOUNT_INFO |
type | GUARANTOR_INFO |
type | CENTRE_INFO |
usage | SINGLE |
usage | GROUPED |
dataType | GROUP_LINK |
dataType | DATE |
dataType | NUMBER |
dataType | CHECKBOX |
dataType | CLIENT_LINK |
dataType | STRING |
dataType | USER_LINK |
dataType | SELECTION |
state | DEACTIVATED |
state | NORMAL |
type | USER_INFO |
type | ASSET_INFO |
type | CLIENT_INFO |
type | LINE_OF_CREDIT |
type | GROUP_INFO |
type | TRANSACTION_CHANNEL_INFO |
type | BRANCH_INFO |
type | SAVINGS_ACCOUNT_INFO |
type | LOAN_ACCOUNT_INFO |
type | GUARANTOR_INFO |
type | CENTRE_INFO |
valueLength | SHORT |
valueLength | LONG |
state | ACTIVE |
state | INACTIVE |
Get Branch by ID
GET /branches/{branchId}
Get a branch by ID
Get a specifc branch by its encoded key or ID.
Parameters
Name | Type | Description | In |
---|---|---|---|
branchId (required) | string | none | path |
fullDetails | boolean | none | query |
Example Responses
200 : ok
Full Details for a single branch
{
"encodedKey": "8a33ae49441c4fe101441c713b36000e",
"id": "2",
"creationDate": "2014-02-10T15:36:26+0000",
"lastModifiedDate": "2014-02-17T11:18:42+0000",
"name": "Matola City",
"phoneNumber": "",
"emailAddress": "",
"branchHolidays": [
{
"encodedKey": "8a54e5b4443e9c9401443fae924b0008",
"keyId": 31,
"name": "branch_holiday",
"dayOfMonth": 17,
"monthOfYear": 2,
"year": 2014,
"isAnnualyRecurring": true
}
],
"address": {
"encodedKey": "8a19aa09750726e001750782ef6f017d",
"parentKey": "8a193c26722b51b701722d779e7122df",
"line1": "1 Bank Street",
"line2": "Old Town",
"city": "Matola City",
"region": "Matola",
"postcode": "10775",
"country": "Bankistan",
"indexInList": -1
},
"customFieldValues": [
{
"encodedKey": "8a42711a4428c1f101442be406d20c24",
"parentKey": "8a33ae49441c4fe101441c713b36000e",
"customFieldKey": "8a33ae49441c4fe101441c7156c20358",
"customField": {
"encodedKey": "8a33ae49441c4fe101441c7156c20358",
"id": "Clients_Branches",
"name": "Clients",
"type": "BRANCH_INFO",
"dataType": "STRING",
"valueLength": "SHORT",
"isDefault": false,
"isRequired": false,
"customFieldSet": {
"encodedKey": "8a33ae49441c4fe101441c71568f034c",
"name": "Branch Organization",
"createdDate": "2014-02-10T15:36:33+0000",
"indexInList": 0,
"type": "BRANCH_INFO"
},
"indexInList": -1,
"state": "NORMAL"
},
"value": "dadsds",
"indexInList": -1
},
{
"encodedKey": "8a54e5b4443e9c9401443f91c7a20003",
"parentKey": "8a33ae49441c4fe101441c713b36000e",
"customFieldKey": "8a33ae49441c4fe101441c7156c5035a",
"customField": {
"encodedKey": "8a33ae49441c4fe101441c7156c5035a",
"id": "Organization_Staff_Branches",
"name": "Organization Staff",
"type": "BRANCH_INFO",
"dataType": "NUMBER",
"valueLength": "SHORT",
"isDefault": false,
"isRequired": false,
"customFieldSet": {
"encodedKey": "8a33ae49441c4fe101441c71568f034c",
"name": "Branch Organization",
"createdDate": "2014-02-10T15:36:33+0000",
"indexInList": 0,
"type": "BRANCH_INFO"
},
"indexInList": -1,
"state": "NORMAL"
},
"value": "4",
"indexInList": -1
},
{
"encodedKey": "8a54e5b4443e9c9401443f91c7b90004",
"parentKey": "8a33ae49441c4fe101441c713b36000e",
"customFieldKey": "8a33ae49441c4fe101441c7156c30359",
"customField": {
"encodedKey": "8a33ae49441c4fe101441c7156c30359",
"id": "Province_Branches",
"name": "Province",
"type": "BRANCH_INFO",
"dataType": "SELECTION",
"valueLength": "SHORT",
"isDefault": false,
"isRequired": false,
"values": [
"Catamarca",
"Chaco",
"Jujuy"
],
"amounts": {
"Jujuy": "10",
"Chaco": "1",
"Catamarca": "0"
},
"customFieldSet": {
"encodedKey": "8a33ae49441c4fe101441c71569a034d",
"name": "Province",
"createdDate": "2014-02-10T15:36:33+0000",
"indexInList": 1,
"type": "BRANCH_INFO"
},
"indexInList": -1,
"state": "NORMAL"
},
"value": "Catamarca",
"amount": "0",
"indexInList": -1
},
{
"encodedKey": "8a54e5b4443e9c9401443f91c7b90005",
"parentKey": "8a33ae49441c4fe101441c713b36000e",
"customFieldKey": "8a33ae49441c4fe101441c7156c7035b",
"customField": {
"encodedKey": "8a33ae49441c4fe101441c7156c7035b",
"id": "Outside_of_province_Branches",
"name": "Outside of province",
"type": "BRANCH_INFO",
"dataType": "CHECKBOX",
"valueLength": "SHORT",
"isDefault": false,
"isRequired": false,
"customFieldSet": {
"encodedKey": "8a33ae49441c4fe101441c71569a034d",
"name": "Province",
"createdDate": "2014-02-10T15:36:33+0000",
"indexInList": 1,
"type": "BRANCH_INFO"
},
"indexInList": -1,
"state": "NORMAL"
},
"value": "FALSE",
"indexInList": -1
}
]
}
200 : ok
A single branch
{
"encodedKey": "402832b43809601c01380963908b0009",
"id": "2",
"creationDate": "2012-06-20T12:15:16+0200",
"lastModifiedDate": "2012-06-20T12:15:16+0200",
"name": "Matola City"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | BranchFullDetailsApiV1 |
Update Custom Info for Branch
PATCH /branches/{branchId}/custominformation
Update custom field values
Example Requests
Update a single custom field value
{
"customInformation": [
{
"customFieldID": "custom_field_2",
"value": "3"
}
]
}
Update field in a group
{
"customInformation": [
{
"customFieldID": "cf_grouped_field",
"value": "new value",
"customFieldSetGroupIndex": "0"
}
]
}
Update multiple custom field values
{
"customInformation": [
{
"customFieldID": "cf_grouped_field_2",
"value": "3",
"customFieldSetGroupIndex": "0"
},
{
"customFieldID": "field_3",
"value": "divorced"
}
]
}
Parameters
Name | Type | Description | In |
---|---|---|---|
customInformation | [object] | none | body |
» customFieldID (required) | string | none | body |
» value (required) | string | none | body |
» customFieldSetGroupIndex | string | Required if field to update is part of a group, if the Field Set Group Index is not set, a new group will be created with the value provided. | body |
branchId (required) | string | The ID of the branch | path |
Example Responses
200 : OK
success response
{
"returnCode": 0,
"returnStatus": "SUCCESS"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Get Custom Info for Branch
GET /branches/{branchId}/custominformation/{customFieldId}
Get a custom field definition for a branch
Allows retrieving a custom field definition for a given branch directly by the ID/key of the branch and the ID/key of the custom field definition.
Parameters
Name | Type | Description | In |
---|---|---|---|
branchId (required) | string | The ID of the branch. | path |
customFieldId (required) | string | The ID of the custom field definition. | path |
Example Responses
200 : OK
A custom field definition
[
{
"encodedKey": "8a19cd6f74674df9017467f25aab02c6",
"parentKey": "8a193c26722b51b701722d779e7122de",
"customFieldKey": "8a19cd6f74674df9017467ef8e6802af",
"customField": {
"encodedKey": "8a19cd6f74674df9017467ef8e6802af",
"id": "cf_branch",
"creationDate": "2020-09-07T09:42:33+0000",
"lastModifiedDate": "2020-09-07T09:42:33+0000",
"name": "Example Custom Field Definition",
"type": "BRANCH_INFO",
"dataType": "CHECKBOX",
"valueLength": "SHORT",
"isDefault": false,
"isRequired": false,
"description": "an example of a checkbox custom field definition",
"customFieldSet": {
"encodedKey": "8a19cd6f74674df9017467ef8e6802ae",
"id": "_example_branch_custom_field_set",
"name": "example branch custom field set",
"notes": "example custom field set",
"createdDate": "2020-09-07T09:41:50+0000",
"lastModifiedDate": "2020-09-07T09:41:50+0000",
"indexInList": 2,
"type": "BRANCH_INFO",
"usage": "SINGLE"
},
"indexInList": 0,
"state": "NORMAL",
"customFieldSelectionOptions": [],
"viewRights": {
"encodedKey": "8a19cd6f74674df9017467ef8e6802b0",
"isAccessibleByAllUsers": false,
"roles": []
},
"editRights": {
"encodedKey": "8a19cd6f74674df9017467ef8e6802b1",
"isAccessibleByAllUsers": false,
"roles": []
},
"unique": false,
"values": [],
"amounts": {}
},
"value": "TRUE",
"indexInList": -1,
"customFieldID": "cf_branch",
"customFieldSetGroupIndex": -1
}
]
404 : Not Found
not found
{
"returnCode": 903,
"returnStatus": "INVALID_CUSTOM_FIELD_ID"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | CustomFieldApiV1 |
404 | Not Found | Not Found | Inline |
Response Schema
Status Code 404
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Update Custom Field Value for Branch
PATCH /branches/{branchId}/custominformation/{customFieldId}
Update a custom field value for a branch
Update a custom field value for a branch custom field definition
Example Requests
A new custom field value
{
"value": "New custom field value"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
value | string | none | body |
branchId (required) | string | The ID of the branch. | path |
customFieldId (required) | string | The ID of the custom field definition. | path |
Example Responses
200 : OK
Success Response
{
"returnCode": 0,
"returnStatus": "string"
}
400 : Bad Request
field is part of a group
{
"returnCode": 916,
"returnStatus": "INVALID_CUSTOM_FIELD_GROUP_INDEX",
"errorSource": "cf_group_field_2"
}
404 : Not Found
not found
{
"returnCode": 903,
"returnStatus": "INVALID_CUSTOM_FIELD_ID"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad Request | Inline |
404 | Not Found | Not Found | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Status Code 400
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
» errorSource | string | none | none |
Status Code 404
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Delete Custom Info for Branch
DELETE /branches/{branchId}/custominformation/{customFieldId}
Delete a single custom field value
Parameters
Name | Type | Description | In |
---|---|---|---|
branchId (required) | string | The ID of the branch. | path |
customFieldId (required) | string | The ID of the custom field definition. | path |
Example Responses
200 : OK
success response
{
"returnCode": 0,
"returnStatus": "SUCCESS"
}
400 : Bad Request
field is part of a group
{
"returnCode": 916,
"returnStatus": "INVALID_CUSTOM_FIELD_GROUP_INDEX",
"errorSource": "cf_group_field_2"
}
404 : Not Found
not found
{
"returnCode": 903,
"returnStatus": "INVALID_CUSTOM_FIELD_ID"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad Request | Inline |
404 | Not Found | Not Found | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Status Code 400
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
» errorSource | string | none | none |
Status Code 404
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Update Custom Info (grouped) for Branch
PATCH /branches/{branchId}/custominformation/{customFieldId}/{customFieldGroupSetIndex}
Update grouped custom field value
Update custom field value, which is part of a group
Example requests
Provide a new custom field value
{
"value": "Some updated information"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
value | string | none | body |
branchId (required) | string | The ID of the branch | path |
customFieldId (required) | string | The ID of the custom field definition. | path |
customFieldGroupSetIndex (required) | string | none | path |
Example Responses
200 : OK
success response
{
"returnCode": 0,
"returnStatus": "SUCCESS"
}
400 : Bad Request
wrong group index provided
{
"returnCode": 916,
"returnStatus": "INVALID_CUSTOM_FIELD_GROUP_INDEX",
"errorSource": "cf_group_field_2"
}
404 : Not Found
field not found
{
"returnCode": 903,
"returnStatus": "INVALID_CUSTOM_FIELD_ID"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad Request | Inline |
404 | Not Found | Not Found | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Status Code 400
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
» errorSource | string | none | none |
Status Code 404
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Delete Custom Info (grouped) for Branch
DELETE /branches/{branchId}/custominformation/{customFieldId}/{customFieldGroupSetIndex}
Delete grouped custom field value
Delete a custom field value, which is part of a group
Parameters
Name | Type | Description | In |
---|---|---|---|
branchId (required) | string | The ID of the branch | path |
customFieldId (required) | string | The ID of the custom field definition. | path |
customFieldGroupSetIndex (required) | string | none | path |
Example Responses
200 : OK
Success Response
{
"returnCode": 0,
"returnStatus": "SUCCESS"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Get Branch Comments
GET /branches/{branchId}/comments
Get all branch comments
get all comments for a branch
Parameters
Name | Type | Description | In |
---|---|---|---|
limit | string | none | query |
offset | string | none | query |
branchId (required) | string | the ID of the branch | path |
Example Responses
200 : OK
an array of comments
[
{
"encodedKey": "8a19b7057471f4af017472dc0fd80470",
"parentKey": "8a193c26722b51b701722d77c5e423b7",
"userKey": "8a194075720ece2c017226fced6f005e",
"creationDate": "2020-09-09T14:24:42+0000",
"lastModifiedDate": "2020-09-09T14:24:42+0000",
"text": "aanother afmaefomaef<div><br /></div><div><u>aefaefaf</u></div><div><u><br /></u></div><div><u>afaef</u></div>"
},
{
"encodedKey": "8a193c26722b51b701722d77c8bf25ab",
"parentKey": "8a193c26722b51b701722d77c5e423b7",
"creationDate": "2020-05-19T15:05:24+0000",
"lastModifiedDate": "2020-05-19T15:05:24+0000",
"text": "Should suggest she apply for the agriculture loan given the nature of their business"
}
]
400 : Bad Request
bad branch ID
{
"returnCode": 149,
"returnStatus": "INVALID_ID"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad Request | ExecutionStatusApiV1 |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [CommentApiV1] | none | none |
» creationDate | string(date-time) | the date and time at which this comment was added | none |
» encodedKey | string | a unique key for this comment | none |
» lastModifiedDate | string(date-time) | the date and time at which this comment was last modified | none |
» parentKey | string | the unique key of the parent object for this comment, for example, the client or loan account to which it relates | none |
» text | string | the text of the comment as a string, must be properly JSON escpaped if it contains special characters | none |
» userKey | string | the unique key of the user who created the comment | none |
Create Branch Comment
POST /branches/{branchId}/comments
Create a branch Comment
create new comment for a branch
Example Requests
A comment
{
"comment": "A long text field containing the comment to post. this is a comment with \" \" all kinds of : \\ / non compliant characters & = which have \n been JSON escaped"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
comment | string | the comment to be added. if adding complex content make sure it is properly JSON encoded before making your request | body |
branchId (required) | string | the ID of the branch | path |
Example Responses
200 : OK
a comment
{
"encodedKey": "8a19c34574720f9e0174734a039f06e2",
"parentKey": "8a193c26722b51b701722d77c5e423b7",
"userKey": "8a194075720ece2c017226fced6f005e",
"creationDate": "2020-09-09T14:39:36+0000",
"lastModifiedDate": "2020-09-09T14:39:36+0000",
"text": "this is a comment with \" \" all kinds of : \\ / non compliant stuff & = which has been JSON escaped"
}
400 : Bad Request
extra parameters in the request
{
"returnCode": 27,
"returnStatus": "PARAMETER_NOT_ALLOWED"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | CommentApiV1 |
400 | Bad Request | Bad Request | Inline |
Response Schema
Status Code 400
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Get Branch Documents
GET /branches/{branchId}/documents
Get documents for Branch
Get all documents for a given branch
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer | offset results. use with limit parameter to achieve paging | query |
limit | integer | max number of records to return | query |
branchId (required) | string | the ID of the branch | path |
Example Responses
200 : ok
an array of documents
[
{
"encodedKey": "8a19c035747bf5b901747c5bfb04014b",
"id": 51,
"creationDate": "2020-09-11T08:52:48+0000",
"lastModifiedDate": "2020-09-11T08:52:48+0000",
"documentHolderKey": "8a193c26722b51b701722d779e7122df",
"documentHolderType": "BRANCH",
"name": "covid rules",
"type": "png",
"fileSize": 8258,
"originalFilename": "Screenshot_2020-04-22_at_14.31.29.png",
"location": "BRSIDSLFBOGAYZKUUKCOGGQEDOSEOD",
"description": "some guidelines for bank employees regarding covid",
"createdByUserKey": "8a194075720ece2c017226fced6f005e",
"userName": "Adrian Doonan"
},
{
"encodedKey": "8a19a3337476f2d00174775b6a3001ae",
"id": 43,
"creationDate": "2020-09-10T09:31:54+0000",
"lastModifiedDate": "2020-09-10T09:31:54+0000",
"documentHolderKey": "8a193c26722b51b701722d779e7122df",
"documentHolderType": "BRANCH",
"name": "bnranch doc",
"type": "png",
"fileSize": 32109,
"originalFilename": "clients_duplicate_id.png",
"location": "JRTBQGGVXFQRQRBDGBRWQCTXJNRWXP",
"description": "branch doc desc",
"createdByUserKey": "8a194075720ece2c017226fced6f005e",
"userName": "Adrian Doonan"
}
]
400 : Bad Request
bad branch ID
{
"returnCode": 4,
"returnStatus": "INVALID_PARAMETERS",
"errorSource": "wrong owner id"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | Inline |
400 | Bad Request | Bad Request | ExecutionStatusApiV1 |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [DocumentApiV1] | none | none |
» createdByUserKey | string | the encoded key of the user who added this document | none |
» creationDate | string | the date and time when this document was created | none |
» description | string | a description of this document | none |
» documentHolderKey | string | the encoded key of the entity to which this document is attached | none |
» documentHolderType | string | the type of entity, eg. client, loan product, to which this document is attached | none |
» encodedKey | string | the automatically generated encoded ID for this item | none |
» fileSize | number | the size, in bytes, of the attached document | none |
» id | number | an ID for this document | none |
» lastModifiedDate | string | the date on which this document was last modified | none |
» location | string | indicates where the document is saved | none |
» name | string | the display name of this document | none |
» originalFilename | string | the name of the originally uploaded file | none |
» type | string | the file type of the document, eg. png, jpeg, pdf | none |
» userName | string | the name of the user who uploaded the document | none |
Enumerated Values
Property | Value |
---|---|
documentHolderType | BRANCH |
documentHolderType | LOAN_ACCOUNT |
documentHolderType | GROUP |
documentHolderType | DEPOSIT_ACCOUNT |
documentHolderType | LINE_OF_CREDIT |
documentHolderType | LOAN_PRODUCT |
documentHolderType | GL_JOURNAL_ENTRY |
documentHolderType | SAVINGS_PRODUCT |
documentHolderType | USER |
documentHolderType | CLIENT |
documentHolderType | CENTRE |
documentHolderType | ID_DOCUMENT |
Create Branch Document
POST /branches/{branchId}/documents
Attach new Document to a Branch
Attach a new document to a branch
Example Requests
a document to uplaod
{
"document": {
"documentHolderKey": "8a193c26722b51b701722d779e7122df",
"documentHolderType": "BRANCH",
"name": "some image",
"type": "PNG",
"description": "this is an image file"
},
"documentContent": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAF0CAYAAACudHRvAAABQGlDQ1BJQ0MgUHJvZmlsZQAAKJFjYGASS=="
}
Parameters
Name | Type | Description | In |
---|---|---|---|
body | CreateDocumentApiV1 | a new document to be attached to an entity | body |
branchId (required) | string | the ID of the branch | path |
Example Responses
201 : Created
uploaded document details
{
"encodedKey": "8a19c035747bf5b901747c5bfb04014d",
"id": 52,
"creationDate": "2020-09-11T08:54:53+0000",
"lastModifiedDate": "2020-09-11T08:54:53+0000",
"documentHolderKey": "8a193c26722b51b701722d779e7122df",
"documentHolderType": "BRANCH",
"name": "some image",
"type": "png",
"fileSize": 32109,
"originalFilename": "some_image.png",
"location": "RCPOUIUHJFBYDRURQNNHMOGBEFIOQF",
"description": "this is an image file",
"createdByUserKey": "8a194075720ece2c017226fced6f005e"
}
400 : Bad Request
filetype provided does not match actual file type
{
"returnCode": 973,
"returnStatus": "INCONSISTENT_EXTENSION_WITH_FILE_CONTENT",
"errorSource": "Invalid extension with file content"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Created | DocumentApiV1 |
400 | Bad Request | Bad Request | ExecutionStatusApiV1 |
Get Branch Document by ID
GET /branches/{branchId}/documents/{documentId}
Get a Branch Document
Get a specific document attached to a branch
Parameters
Name | Type | Description | In |
---|---|---|---|
branchId (required) | string | the ID of the branch | path |
documentId (required) | string | the ID of the document | path |
Example Responses
200 : OK
base64 encoded document
"iVBORw0KGgoAAAANSUhEUgAAAEAAAAA9CAYAAAAd1W/BAAAMY2lDQ1BJQ0MgUHJvZmlsZQAASImVVwdck0cbv3dkkrACEZAR9hJFZgAZIawIAjIFUQlJIGHEmBBE3NRSBesWUZxoVUTRagWkDkSssyhu6yiKqFRqsYoLle8yoNZ+4/c9v9+993+fe+7/jNzlvQNAr5Mvk+Wj+gAUSAvlCZGhrElp6SzSI4ABU0ADtsCTL1DIOPHxMQDKUP93eX0DIKr+qpuK65/j/1UMhSKFAAAkA=="
400 : Bad Request
bad Document ID
{
"returnCode": 970,
"returnStatus": "INVALID_DOCUMENT_ID"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | string |
400 | Bad Request | Bad Request | ExecutionStatusApiV1 |
Delete Branch Document
DELETE /branches/{branchId}/documents/{documentId}
Delete a Branch Document
Delete a document attached to a branch
Parameters
Name | Type | Description | In |
---|---|---|---|
branchId (required) | string | the ID of the branch | path |
documentId (required) | string | the ID of the document | path |
Example Responses
200 : OK
success response
{
"returnCode": 0,
"returnStatus": "SUCCESS"
}
400 : Bad Request
bad Document ID
{
"returnCode": 970,
"returnStatus": "INVALID_DOCUMENT_ID"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ExecutionStatusApiV1 |
400 | Bad Request | Bad Request | ExecutionStatusApiV1 |
Centres
Allows the retrieval of centres which are being used by an organisation. For information about custom field definitions and custom field sets, see Custom Fields API documentation.
Get all Centres
GET /centres
Get all centres
Allows retrieving centres via a paginated list.
Parameters
Name | Type | Description | In |
---|---|---|---|
branchID | string | none | query |
offset | integer | none | query |
limit | integer | none | query |
fullDetails | boolean | none | query |
Example Responses
200 : ok
an array of centres with basic details
[
{
"encodedKey": "8a193c26722b51b701722d779e7122e0",
"id": "DT1",
"creationDate": "2020-05-19T15:05:23+0000",
"lastModifiedDate": "2020-09-23T14:38:14+0000",
"name": "Down Town",
"state": "ACTIVE",
"meetingDay": "FRIDAY",
"assignedBranchKey": "8a193c26722b51b701722d779e7122de"
},
{
"encodedKey": "8a193c26722b51b701722d779e7122e1",
"id": "MP1",
"creationDate": "2020-05-19T15:05:23+0000",
"lastModifiedDate": "2020-05-19T15:05:23+0000",
"name": "Market Place",
"state": "ACTIVE",
"assignedBranchKey": "8a193c26722b51b701722d779e7122df"
}
]
200 : ok
an array of centres with full details
[
{
"encodedKey": "8a193c26722b51b701722d779e7122e0",
"id": "DT1",
"creationDate": "2020-05-19T15:05:23+0000",
"lastModifiedDate": "2020-09-23T14:38:14+0000",
"name": "Down Town",
"state": "ACTIVE",
"notes": "some rich text notes about this centre",
"meetingDay": "FRIDAY",
"assignedBranchKey": "8a193c26722b51b701722d779e7122de",
"address": {
"encodedKey": "8a19b63f74b9d6b10174bb3fea5b09b3",
"parentKey": "8a193c26722b51b701722d779e7122e0",
"line1": "Chuffington House",
"line2": "123 Main High Road",
"city": "Big Town",
"region": "Big Conglomeration",
"postcode": "123 456",
"country": "Countrystan",
"indexInList": -1
},
"customFieldValues": [
{
"encodedKey": "8a19b63f74b9d6b10174bb3f856b09a6",
"parentKey": "8a193c26722b51b701722d779e7122e0",
"customFieldKey": "8a19b63f74b9d6b10174bb3d56f20974",
"customField": {
"encodedKey": "8a19b63f74b9d6b10174bb3d56f20974",
"id": "centre_cf_1",
"creationDate": "2020-09-23T13:53:13+0000",
"lastModifiedDate": "2020-09-23T14:27:10+0000",
"name": "cf 1",
"type": "CENTRE_INFO",
"dataType": "STRING",
"valueLength": "LONG",
"isDefault": false,
"isRequired": false,
"description": "A text custom field definition for a centre",
"customFieldSet": {
"encodedKey": "8a19b63f74b9d6b10174bad54f21066c",
"id": "_centres_custom_field_set",
"name": "custom field set",
"notes": "Custom field definitions for centre",
"createdDate": "2020-09-23T13:52:45+0000",
"lastModifiedDate": "2020-09-23T13:52:45+0000",
"indexInList": 0,
"type": "CENTRE_INFO",
"usage": "SINGLE"
},
"indexInList": 0,
"state": "NORMAL",
"customFieldSelectionOptions": [],
"validationPattern": "@#$",
"viewRights": {
"encodedKey": "8a19b63f74b9d6b10174bb3d56f20975",
"isAccessibleByAllUsers": true,
"roles": []
},
"editRights": {
"encodedKey": "8a19b63f74b9d6b10174bb3d56f20976",
"isAccessibleByAllUsers": false,
"roles": []
},
"unique": true,
"values": [],
"amounts": {}
},
"value": "custom field value for cf 1",
"indexInList": -1,
"customFieldID": "centre_cf_1",
"customFieldSetGroupIndex": -1
},
{
"encodedKey": "8a19b63f74b9d6b10174bb3f856b09a8",
"parentKey": "8a193c26722b51b701722d779e7122e0",
"customFieldKey": "8a19b63f74b9d6b10174bb3d56f20977",
"customField": {
"encodedKey": "8a19b63f74b9d6b10174bb3d56f20977",
"id": "cntr_cf_2",
"creationDate": "2020-09-23T13:53:41+0000",
"lastModifiedDate": "2020-09-23T13:53:41+0000",
"name": "centre cf 2",
"type": "CENTRE_INFO",
"dataType": "CHECKBOX",
"valueLength": "SHORT",
"isDefault": false,
"isRequired": false,
"description": "a checkbox custom field definition for a centre",
"customFieldSet": {
"encodedKey": "8a19b63f74b9d6b10174bad54f21066c",
"id": "_centres_custom_field_set",
"name": "custom field set",
"notes": "Custom field definitions for centre",
"createdDate": "2020-09-23T13:52:45+0000",
"lastModifiedDate": "2020-09-23T13:52:45+0000",
"indexInList": 0,
"type": "CENTRE_INFO",
"usage": "SINGLE"
},
"indexInList": 1,
"state": "NORMAL",
"customFieldSelectionOptions": [],
"viewRights": {
"encodedKey": "8a19b63f74b9d6b10174bb3d56f20978",
"isAccessibleByAllUsers": false,
"roles": []
},
"editRights": {
"encodedKey": "8a19b63f74b9d6b10174bb3dc2b70979",
"isAccessibleByAllUsers": false,
"roles": []
},
"unique": false,
"values": [],
"amounts": {}
},
"value": "FALSE",
"indexInList": -1,
"customFieldID": "cntr_cf_2",
"customFieldSetGroupIndex": -1
},
{
"encodedKey": "8a19b63f74b9d6b10174bb3f856b09aa",
"parentKey": "8a193c26722b51b701722d779e7122e0",
"customFieldKey": "8a19b63f74b9d6b10174bb3dc2b7097b",
"customField": {
"encodedKey": "8a19b63f74b9d6b10174bb3dc2b7097b",
"id": "cntr_cf_Grp_1",
"creationDate": "2020-09-23T13:54:31+0000",
"lastModifiedDate": "2020-09-23T13:54:31+0000",
"name": "cf grp 1",
"type": "CENTRE_INFO",
"dataType": "NUMBER",
"valueLength": "SHORT",
"isDefault": false,
"isRequired": false,
"description": "a number custom field definition",
"customFieldSet": {
"encodedKey": "8a19b63f74b9d6b10174bb3dc2b7097a",
"id": "_cntr_cf_grp",
"name": "cf grouped",
"notes": "grouped centre custom field definitions",
"createdDate": "2020-09-23T13:54:05+0000",
"lastModifiedDate": "2020-09-23T13:54:05+0000",
"indexInList": 1,
"type": "CENTRE_INFO",
"usage": "GROUPED"
},
"indexInList": 0,
"state": "NORMAL",
"customFieldSelectionOptions": [],
"viewRights": {
"encodedKey": "8a19b63f74b9d6b10174bb3dc2b7097c",
"isAccessibleByAllUsers": false,
"roles": []
},
"editRights": {
"encodedKey": "8a19b63f74b9d6b10174bb3dc2b7097d",
"isAccessibleByAllUsers": false,
"roles": []
},
"unique": false,
"values": [],
"amounts": {}
},
"value": "12",
"indexInList": -1,
"customFieldID": "cntr_cf_Grp_1",
"customFieldSetGroupIndex": 0
},
{
"encodedKey": "8a19b63f74b9d6b10174bb3fea5b09b1",
"parentKey": "8a193c26722b51b701722d779e7122e0",
"customFieldKey": "8a19b63f74b9d6b10174bb3f17d10992",
"customField": {
"encodedKey": "8a19b63f74b9d6b10174bb3f17d10992",
"id": "cntr_cf_grp_2",
"creationDate": "2020-09-23T13:55:08+0000",
"lastModifiedDate": "2020-09-23T13:57:45+0000",
"name": "centre cf grp 2",
"type": "CENTRE_INFO",
"dataType": "SELECTION",
"valueLength": "SHORT",
"isDefault": false,
"isRequired": false,
"description": "a selection custom field definition for centres",
"customFieldSet": {
"encodedKey": "8a19b63f74b9d6b10174bb3dc2b7097a",
"id": "_cntr_cf_grp",
"name": "cf grouped",
"notes": "grouped centre custom field definitions",
"createdDate": "2020-09-23T13:54:05+0000",
"lastModifiedDate": "2020-09-23T13:54:05+0000",
"indexInList": 1,
"type": "CENTRE_INFO",
"usage": "GROUPED"
},
"indexInList": 1,
"state": "NORMAL",
"customFieldSelectionOptions": [
{
"encodedKey": "8a19b63f74b9d6b10174bb3f17d10995",
"id": "1341939373",
"value": "option 1",
"score": "10"
},
{
"encodedKey": "8a19b63f74b9d6b10174bb3f17d10996",
"id": "414828471",
"value": "option 2",
"score": "-15"
}
],
"viewRights": {
"encodedKey": "8a19b63f74b9d6b10174bb3f17d10993",
"isAccessibleByAllUsers": true,
"roles": []
},
"editRights": {
"encodedKey": "8a19b63f74b9d6b10174bb3f17d10994",
"isAccessibleByAllUsers": true,
"roles": []
},
"unique": false,
"values": [
"option 1",
"option 2"
],
"amounts": {
"option 1": "10",
"option 2": "-15"
}
},
"value": "option 2",
"amount": "-15",
"indexInList": -1,
"customFieldID": "cntr_cf_grp_2",
"customFieldSetGroupIndex": 0
},
{
"encodedKey": "8a19b63f74b9d6b10174bb5405830a67",
"parentKey": "8a193c26722b51b701722d779e7122e0",
"customFieldKey": "8a19b63f74b9d6b10174bb5405830a64",
"customField": {
"encodedKey": "8a19b63f74b9d6b10174bb5405830a64",
"id": "cntr_cf_usr_lnk",
"creationDate": "2020-09-23T14:18:00+0000",
"lastModifiedDate": "2020-09-23T14:18:00+0000",
"name": "user link for centre",
"type": "CENTRE_INFO",
"dataType": "USER_LINK",
"valueLength": "SHORT",
"isDefault": false,
"isRequired": false,
"description": "a custom field definition linking to a specific user",
"customFieldSet": {
"encodedKey": "8a19b63f74b9d6b10174bad54f21066c",
"id": "_centres_custom_field_set",
"name": "custom field set",
"notes": "Custom field definitions for centre",
"createdDate": "2020-09-23T13:52:45+0000",
"lastModifiedDate": "2020-09-23T13:52:45+0000",
"indexInList": 0,
"type": "CENTRE_INFO",
"usage": "SINGLE"
},
"indexInList": 2,
"state": "NORMAL",
"customFieldSelectionOptions": [],
"viewRights": {
"encodedKey": "8a19b63f74b9d6b10174bb5405830a65",
"isAccessibleByAllUsers": true,
"roles": []
},
"editRights": {
"encodedKey": "8a19b63f74b9d6b10174bb5405830a66",
"isAccessibleByAllUsers": false,
"roles": []
},
"unique": false,
"values": [],
"amounts": {}
},
"linkedEntityKeyValue": "8a19df0e730ee86f01730f4c3cf2074a",
"indexInList": -1,
"customFieldID": "cntr_cf_usr_lnk",
"customFieldSetGroupIndex": -1
},
{
"encodedKey": "8a19b63f74b9d6b10174bb66462a0a7e",
"parentKey": "8a193c26722b51b701722d779e7122e0",
"customFieldKey": "8a19b63f74b9d6b10174bb6646250a73",
"customField": {
"encodedKey": "8a19b63f74b9d6b10174bb6646250a73",
"id": "cntr_cf_slct_2",
"creationDate": "2020-09-23T14:37:56+0000",
"lastModifiedDate": "2020-09-23T14:37:56+0000",
"name": "centre cf select 2",
"type": "CENTRE_INFO",
"dataType": "SELECTION",
"valueLength": "LONG",
"isDefault": false,
"isRequired": false,
"description": "a custom field definition in which the options available are dependent on another field",
"customFieldSet": {
"encodedKey": "8a19b63f74b9d6b10174bb3dc2b7097a",
"id": "_cntr_cf_grp",
"name": "cf grouped",
"notes": "grouped centre custom field definitions",
"createdDate": "2020-09-23T13:54:05+0000",
"lastModifiedDate": "2020-09-23T13:54:05+0000",
"indexInList": 1,
"type": "CENTRE_INFO",
"usage": "GROUPED"
},
"indexInList": 2,
"state": "NORMAL",
"customFieldSelectionOptions": [
{
"encodedKey": "8a19b63f74b9d6b10174bb6646250a76",
"id": "996554077",
"value": "dep 1 a",
"score": "12",
"constraint": {
"encodedKey": "8a19b63f74b9d6b10174bb6646250a77",
"dataFieldType": "CUSTOM",
"dataItemType": "CENTRE",
"dataType": "STRING",
"customFieldKey": "8a19b63f74b9d6b10174bb3f17d10992",
"filterElement": "EQUALS",
"value": "8a19b63f74b9d6b10174bb3f17d10995",
"linkingOperator": "AND",
"groupNumber": 0
}
},
{
"encodedKey": "8a19b63f74b9d6b10174bb6646280a78",
"id": "656383934",
"value": "dep 1 b",
"score": "-3",
"constraint": {
"encodedKey": "8a19b63f74b9d6b10174bb6646280a79",
"dataFieldType": "CUSTOM",
"dataItemType": "CENTRE",
"dataType": "STRING",
"customFieldKey": "8a19b63f74b9d6b10174bb3f17d10992",
"filterElement": "EQUALS",
"value": "8a19b63f74b9d6b10174bb3f17d10995",
"linkingOperator": "AND",
"groupNumber": 0
}
},
{
"encodedKey": "8a19b63f74b9d6b10174bb6646280a7a",
"id": "745255722",
"value": "dep 2 a",
"score": "10",
"constraint": {
"encodedKey": "8a19b63f74b9d6b10174bb6646280a7b",
"dataFieldType": "CUSTOM",
"dataItemType": "CENTRE",
"dataType": "STRING",
"customFieldKey": "8a19b63f74b9d6b10174bb3f17d10992",
"filterElement": "EQUALS",
"value": "8a19b63f74b9d6b10174bb3f17d10996",
"linkingOperator": "AND",
"groupNumber": 0
}
},
{
"encodedKey": "8a19b63f74b9d6b10174bb6646280a7c",
"id": "2093285980",
"value": "dep 2 b",
"score": "-5",
"constraint": {
"encodedKey": "8a19b63f74b9d6b10174bb66462a0a7d",
"dataFieldType": "CUSTOM",
"dataItemType": "CENTRE",
"dataType": "STRING",
"customFieldKey": "8a19b63f74b9d6b10174bb3f17d10992",
"filterElement": "EQUALS",
"value": "8a19b63f74b9d6b10174bb3f17d10996",
"linkingOperator": "AND",
"groupNumber": 0
}
}
],
"viewRights": {
"encodedKey": "8a19b63f74b9d6b10174bb6646250a74",
"isAccessibleByAllUsers": true,
"roles": []
},
"editRights": {
"encodedKey": "8a19b63f74b9d6b10174bb6646250a75",
"isAccessibleByAllUsers": false,
"roles": []
},
"unique": false
},
"value": "dep 2 a",
"amount": "10",
"indexInList": -1,
"customFieldID": "cntr_cf_slct_2",
"customFieldSetGroupIndex": 0
}
]
},
{
"encodedKey": "8a193c26722b51b701722d779e7122e1",
"id": "MP1",
"creationDate": "2020-05-19T15:05:23+0000",
"lastModifiedDate": "2020-05-19T15:05:23+0000",
"name": "Market Place",
"state": "ACTIVE",
"notes": "All clients and officers gather in the market to discuss loans and savings situation.",
"assignedBranchKey": "8a193c26722b51b701722d779e7122df",
"address": {
"encodedKey": "8a193c26722b51b701722d77c25e22e3",
"parentKey": "8a193c26722b51b701722d779e7122e1",
"line1": "Hegyalja út 95.",
"city": "Debrecen",
"postcode": "4032",
"indexInList": -1
},
"customFieldValues": []
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [CentreApiV1] | none | none |
» address | AddressApiV1 | none | none |
»» addressType | string | the type of the address, eg. home, office. Deprecated. | none |
»» city | string | the city | none |
»» country | string | the country | none |
»» encodedKey | string | the automatically generated encoded ID for this item | none |
»» indexInList | integer | the index of this address when there are multiple addresses assigned for a single entity | none |
»» latitude | number | the latitude of the address point | none |
»» line1 | string | the first line of the address | none |
»» line2 | string | the second line of the address | none |
»» longitude | number | the longitude of the address point | none |
»» parentKey | string | the encoded key of the entity to whom this address belongs, for example, the client of group | none |
»» postcode | string | the postal (zip) code of the address | none |
»» region | string | the region of the address | none |
»» toBeDeleted | boolean | whether this address is marked to be deleted | none |
» assignedBranchKey | string | the encoded key of the branch associated with this centre | none |
» creationDate | string | the date on which this centre was created | none |
» customFieldValues | [CustomFieldValueApiV1] | none | none |
»» amount | number | none | none |
»» customField | CustomFieldApiV1 | none | none |
»»» amounts | object | used when options available for a custom field definition translate to predefined amounts, for example, when the custom field value is used to generate a score | none |
»»»» additionalProperties | number | none | none |
»»» builtInCustomFieldId | string | if this field is one of the built in custom fiel definitions, this will have a value. These names are reserved and you can not use them for your own custom field definitions | none |
»»» creationDate | string | the date on which this custom field definition was created | none |
»»» customFieldProductSettings | [CustomFieldLinkApiV1] | none | none |
»»»» customFieldEncodedKey | string | the key to the parent custom field definition | none |
»»»» encodedKey | string | the automatically generated encoded ID for this item | none |
»»»» isDefault | boolean | whether this field is displayed by default when creating a new record | none |
»»»» isRequired | boolean | whether this field is required when creating a new record | none |
»»»» linkType | string | the type of entity this field represents a link to | none |
»»»» productKey | string | when the link type is product, this field should contain the encoded key of the linekd product | none |
»»» customFieldSelectionOptions | [CustomFieldSelectionApiV1] | [represents a possible selection for select type custom field definitions] | none |
»»»» constraint | CustomFilterConstraintApiV1 | none | none |
»»»»» customFieldKey | string | none | none |
»»»»» dataFieldType | string | none | none |
»»»»» dataFieldValue | string | none | none |
»»»»» dataItemType | string | none | none |
»»»»» dataType | string | none | none |
»»»»» encodedKey | string | none | none |
»»»»» filterElement | string | none | none |
»»»»» groupNumber | number | none | none |
»»»»» index | number | none | none |
»»»»» linkingOperator | string | none | none |
»»»»» secondValue | string | none | none |
»»»»» value | string | none | none |
»»»» encodedKey | string | the automatically generated encoded ID for this item | none |
»»»» id | string | the ID of this selectable item | none |
»»»» score | number | the score assigned to this selection | none |
»»»» value | string | display name of this option | none |
»»» customFieldSet | CustomFieldSetApiV1 | none | none |
»»»» builtInType | string | if this set is part of the set of built-in custom field sets, its type will be shown here | none |
»»»» createdDate | string | the date and time when this custom field set was created | none |
»»»» customFields | [CustomFieldApiV1] | an array of custom field definitions included in this custom field set | none |
»»»» encodedKey | string | the automatically generated encoded ID for this item | none |
»»»» id | string | the ID of this custom field set | none |
»»»» indexInList | number | for field sets that can be added to an entity more than once, this number represents the index in the list and is used when changing values | none |
»»»» lastModifiedDate | string | the date on which this custom field set was last modified | none |
»»»» name | string | the name of this custom field set | none |
»»»» notes | string | any notes regarding this custom field set | none |
»»»» type | string | the entity type that this custom field definition is attached to | none |
»»»» usage | string | whether this custom field set can only be used once, or added multiple times to the same entity | none |
»»» dataType | string | the type of custom field definition | none |
»»» description | string | a brief description of this custom field definition | none |
»»» editRights | UsageRightsApiV1 | none | none |
»»»» encodedKey | string | the automatically generated encoded ID for this item | none |
»»»» isAccessibleByAllUsers | boolean | none | none |
»»»» roles | [string] | none | none |
»»» encodedKey | string | the automatically generated encoded ID for this item | none |
»»» id | string | the ID for this custom field definition | none |
»»» indexInList | number | none | none |
»»» isDefault | boolean | whether this field will be included by default on new records | none |
»»» isRequired | boolean | whether this field is required when creating a new record | none |
»»» lastModifiedDate | string | the date on which this custom field definition was last modified | none |
»»» name | string | the name of this custom field definition | none |
»»» state | string | whether this field is available for use or has been deactivated | none |
»»» type | string | the type of data this custom field definition will contain | none |
»»» unique | boolean | whether the data in this custom field definition needs to be a unique value | none |
»»» validationPattern | string | a user-provided pattern to which data in this custom field definition must conform where @ represents numbers, # represents letters and $ is either a number or letter. Other special characters used as separators are allowed, for example @@-##-$$$ | none |
»»» valueLength | string | whether this field needs to support a large number of characters | none |
»»» values | [string] | a list of possible values when the field is a selection field | none |
»»» viewRights | UsageRightsApiV1 | none | none |
»» customFieldID | string | none | none |
»» customFieldKey | string | none | none |
»» customFieldSetGroupIndex | number | none | none |
»» encodedKey | string | the automatically generated encoded ID for this item | none |
»» indexInList | number | none | none |
»» linkedEntityKeyValue | string | none | none |
»» parentKey | string | none | none |
»» selectionKey | string | none | none |
»» value | string | none | none |
» encodedKey | string | the automatically generated encoded ID for this item | none |
» id | string | the user provided ID for this centre | none |
» lastModifiedDate | string | the date on which this branch was last modified | none |
» meetingDay | string | the day of the week that this centre meets. This may have an impact when calculating repayment days or arrears periods for loans associated with this centre | none |
» name | string | the name of the centre | none |
» notes | string | notes associated with this centre | none |
» state | string | whether this centre is active | none |
Enumerated Values
Property | Value |
---|---|
builtInCustomFieldId | MOBILE_PHONE |
builtInCustomFieldId | EMAIL_ADDRESS |
builtInCustomFieldId | GENDER |
builtInCustomFieldId | MIDDLE_NAME |
builtInCustomFieldId | HOME_PHONE |
builtInCustomFieldId | BIRTHDATE |
builtInCustomFieldId | LAST_NAME |
builtInCustomFieldId | FIRST_NAME |
linkType | CLIENT_ROLE |
linkType | CHANNEL |
linkType | PRODUCT |
dataFieldType | NATIVE |
dataFieldType | CUSTOM |
dataItemType | WRITTEN_OFF_LOANS |
dataItemType | LINE_OF_CREDIT |
dataItemType | INVESTOR_FUND |
dataItemType | TRANSACTION_DETAILS |
dataItemType | DOCUMENT_TEMPLATE |
dataItemType | PRODUCT |
dataItemType | MCC_EXPIRATION |
dataItemType | CENTRE |
dataItemType | REPAYMENT_COLLECTION |
dataItemType | TASK |
dataItemType | OUTSTANDING_PORTFOLIO_AMOUNTS |
dataItemType | REVENUE |
dataItemType | COMPOSED_TRANSACTIONS |
dataItemType | UNION_TRANSACTIONS |
dataItemType | PRINCIPAL_PAYMENT_SETTINGS |
dataItemType | LOANS |
dataItemType | DISBURSEMENT_DETAILS |
dataItemType | SAVINGS_TRANSACTION |
dataItemType | IDENTIFICATION_DOCUMENT |
dataItemType | LOAN_PRODUCT |
dataItemType | DISBURSED_LOANS |
dataItemType | LOAN_GROUP |
dataItemType | TRANSACTION_CHANNEL |
dataItemType | CUSTOM_PREDEFINED_FEE |
dataItemType | JOURNAL_ENTRY |
dataItemType | ATTACHMENT |
dataItemType | PREDEFINED_FEE |
dataItemType | TRANCHE |
dataItemType | TRANSACTION |
dataItemType | INDEX_RATE_SOURCE |
dataItemType | GROUP_ROLE |
dataItemType | LOAN_TRANSACTION |
dataItemType | CLIENT_ROLE |
dataItemType | GROUP |
dataItemType | NOTIFICATION_MESSAGE |
dataItemType | OUTSTANDING_PORTFOLIO_ACCOUNTS |
dataItemType | REPAYMENT |
dataItemType | LOAN_ACCOUNT_GUARANTY |
dataItemType | BRANCH |
dataItemType | CURRENCY |
dataItemType | CARD_TRANSACTION_REVERSAL |
dataItemType | INTEREST_PRODUCT_SETTINGS |
dataItemType | CREATED_ACCOUNTS |
dataItemType | USER |
dataItemType | SAVINGS_PRODUCT |
dataItemType | CLIENT |
dataItemType | PRODUCT_ARREARS_SETTINGS |
dataItemType | SAVINGS |
dataItemType | EXPENSE |
dataItemType | INDEX_RATE |
dataItemType | NOTIFICATION_TEMPLATE |
dataItemType | CUSTOM_FIELD_SELECTION |
dataItemType | ACTIVITY |
dataType | ENUM |
dataType | MONEY |
dataType | NUMBER |
dataType | DATE_UTC |
dataType | JAVA_BLOB |
dataType | OBJECT |
dataType | BOOLEAN |
dataType | DATE |
dataType | PERCENT |
dataType | BIG_DECIMAL |
dataType | STRING |
dataType | KEY |
dataType | LONG |
filterElement | STARTS_WITH_CASE_SENSITIVE |
filterElement | THIS_WEEK |
filterElement | EQUALS |
filterElement | STARTS_WITH |
filterElement | IN |
filterElement | TODAY |
filterElement | THIS_YEAR |
filterElement | BETWEEN |
filterElement | AFTER |
filterElement | LESS_THAN |
filterElement | DIFFERENT_THAN |
filterElement | THIS_MONTH |
filterElement | NOT_EMPTY |
filterElement | BEFORE |
filterElement | EQUALS_CASE_SENSITIVE |
filterElement | LAST_DAYS |
filterElement | MORE_THAN |
filterElement | EMPTY |
filterElement | ON |
linkingOperator | OR |
linkingOperator | AND |
builtInType | DETAILS |
builtInType | GENERAL |
type | USER_INFO |
type | ASSET_INFO |
type | CLIENT_INFO |
type | LINE_OF_CREDIT |
type | GROUP_INFO |
type | TRANSACTION_CHANNEL_INFO |
type | BRANCH_INFO |
type | SAVINGS_ACCOUNT_INFO |
type | LOAN_ACCOUNT_INFO |
type | GUARANTOR_INFO |
type | CENTRE_INFO |
usage | SINGLE |
usage | GROUPED |
dataType | GROUP_LINK |
dataType | DATE |
dataType | NUMBER |
dataType | CHECKBOX |
dataType | CLIENT_LINK |
dataType | STRING |
dataType | USER_LINK |
dataType | SELECTION |
state | DEACTIVATED |
state | NORMAL |
type | USER_INFO |
type | ASSET_INFO |
type | CLIENT_INFO |
type | LINE_OF_CREDIT |
type | GROUP_INFO |
type | TRANSACTION_CHANNEL_INFO |
type | BRANCH_INFO |
type | SAVINGS_ACCOUNT_INFO |
type | LOAN_ACCOUNT_INFO |
type | GUARANTOR_INFO |
type | CENTRE_INFO |
valueLength | SHORT |
valueLength | LONG |
meetingDay | WEDNESDAY |
meetingDay | MONDAY |
meetingDay | THURSDAY |
meetingDay | SUNDAY |
meetingDay | TUESDAY |
meetingDay | FRIDAY |
meetingDay | SATURDAY |
state | ACTIVE |
state | INACTIVE |
Get Centre by ID
GET /centres/{centreId}
Get a centre
get details on a specific centre by ID
Parameters
Name | Type | Description | In |
---|---|---|---|
centreId (required) | string | none | path |
fullDetails | boolean | none | query |
Example Responses
200 : ok
a centre with basic details
{
"encodedKey": "8a193c26722b51b701722d779e7122e1",
"id": "MP1",
"creationDate": "2020-05-19T15:05:23+0000",
"lastModifiedDate": "2020-05-19T15:05:23+0000",
"name": "Market Place",
"state": "ACTIVE",
"assignedBranchKey": "8a193c26722b51b701722d779e7122df"
}
200 : ok
a centre with full details
{
"encodedKey": "8a193c26722b51b701722d779e7122e0",
"id": "DT1",
"creationDate": "2020-05-19T15:05:23+0000",
"lastModifiedDate": "2020-09-23T14:38:14+0000",
"name": "Down Town",
"state": "ACTIVE",
"notes": "some rich text notes about this centre",
"meetingDay": "FRIDAY",
"assignedBranchKey": "8a193c26722b51b701722d779e7122de",
"address": {
"encodedKey": "8a19b63f74b9d6b10174bb3fea5b09b3",
"parentKey": "8a193c26722b51b701722d779e7122e0",
"line1": "Chuffington House",
"line2": "123 Main High Road",
"city": "Big Town",
"region": "Big Conglomeration",
"postcode": "123 456",
"country": "Countrystan",
"indexInList": -1
},
"customFieldValues": [
{
"encodedKey": "8a19b63f74b9d6b10174bb3f856b09a6",
"parentKey": "8a193c26722b51b701722d779e7122e0",
"customFieldKey": "8a19b63f74b9d6b10174bb3d56f20974",
"customField": {
"encodedKey": "8a19b63f74b9d6b10174bb3d56f20974",
"id": "centre_cf_1",
"creationDate": "2020-09-23T13:53:13+0000",
"lastModifiedDate": "2020-09-23T14:27:10+0000",
"name": "cf 1",
"type": "CENTRE_INFO",
"dataType": "STRING",
"valueLength": "LONG",
"isDefault": false,
"isRequired": false,
"description": "A text custom field definition for a centre",
"customFieldSet": {
"encodedKey": "8a19b63f74b9d6b10174bad54f21066c",
"id": "_centres_custom_field_set",
"name": "custom field set",
"notes": "Custom field definitions for centre",
"createdDate": "2020-09-23T13:52:45+0000",
"lastModifiedDate": "2020-09-23T13:52:45+0000",
"indexInList": 0,
"type": "CENTRE_INFO",
"usage": "SINGLE"
},
"indexInList": 0,
"state": "NORMAL",
"customFieldSelectionOptions": [],
"validationPattern": "@#$",
"viewRights": {
"encodedKey": "8a19b63f74b9d6b10174bb3d56f20975",
"isAccessibleByAllUsers": true,
"roles": []
},
"editRights": {
"encodedKey": "8a19b63f74b9d6b10174bb3d56f20976",
"isAccessibleByAllUsers": false,
"roles": []
},
"unique": true,
"values": [],
"amounts": {}
},
"value": "custom field value for cf 1",
"indexInList": -1,
"customFieldID": "centre_cf_1",
"customFieldSetGroupIndex": -1
},
{
"encodedKey": "8a19b63f74b9d6b10174bb3f856b09a8",
"parentKey": "8a193c26722b51b701722d779e7122e0",
"customFieldKey": "8a19b63f74b9d6b10174bb3d56f20977",
"customField": {
"encodedKey": "8a19b63f74b9d6b10174bb3d56f20977",
"id": "cntr_cf_2",
"creationDate": "2020-09-23T13:53:41+0000",
"lastModifiedDate": "2020-09-23T13:53:41+0000",
"name": "centre cf 2",
"type": "CENTRE_INFO",
"dataType": "CHECKBOX",
"valueLength": "SHORT",
"isDefault": false,
"isRequired": false,
"description": "a checkbox custom field definition for a centre",
"customFieldSet": {
"encodedKey": "8a19b63f74b9d6b10174bad54f21066c",
"id": "_centres_custom_field_set",
"name": "custom field set",
"notes": "Custom field definitions for centre",
"createdDate": "2020-09-23T13:52:45+0000",
"lastModifiedDate": "2020-09-23T13:52:45+0000",
"indexInList": 0,
"type": "CENTRE_INFO",
"usage": "SINGLE"
},
"indexInList": 1,
"state": "NORMAL",
"customFieldSelectionOptions": [],
"viewRights": {
"encodedKey": "8a19b63f74b9d6b10174bb3d56f20978",
"isAccessibleByAllUsers": false,
"roles": []
},
"editRights": {
"encodedKey": "8a19b63f74b9d6b10174bb3dc2b70979",
"isAccessibleByAllUsers": false,
"roles": []
},
"unique": false,
"values": [],
"amounts": {}
},
"value": "FALSE",
"indexInList": -1,
"customFieldID": "cntr_cf_2",
"customFieldSetGroupIndex": -1
},
{
"encodedKey": "8a19b63f74b9d6b10174bb3f856b09aa",
"parentKey": "8a193c26722b51b701722d779e7122e0",
"customFieldKey": "8a19b63f74b9d6b10174bb3dc2b7097b",
"customField": {
"encodedKey": "8a19b63f74b9d6b10174bb3dc2b7097b",
"id": "cntr_cf_Grp_1",
"creationDate": "2020-09-23T13:54:31+0000",
"lastModifiedDate": "2020-09-23T13:54:31+0000",
"name": "cf grp 1",
"type": "CENTRE_INFO",
"dataType": "NUMBER",
"valueLength": "SHORT",
"isDefault": false,
"isRequired": false,
"description": "a number custom field definition",
"customFieldSet": {
"encodedKey": "8a19b63f74b9d6b10174bb3dc2b7097a",
"id": "_cntr_cf_grp",
"name": "cf grouped",
"notes": "grouped centre custom field definitions",
"createdDate": "2020-09-23T13:54:05+0000",
"lastModifiedDate": "2020-09-23T13:54:05+0000",
"indexInList": 1,
"type": "CENTRE_INFO",
"usage": "GROUPED"
},
"indexInList": 0,
"state": "NORMAL",
"customFieldSelectionOptions": [],
"viewRights": {
"encodedKey": "8a19b63f74b9d6b10174bb3dc2b7097c",
"isAccessibleByAllUsers": false,
"roles": []
},
"editRights": {
"encodedKey": "8a19b63f74b9d6b10174bb3dc2b7097d",
"isAccessibleByAllUsers": false,
"roles": []
},
"unique": false,
"values": [],
"amounts": {}
},
"value": "12",
"indexInList": -1,
"customFieldID": "cntr_cf_Grp_1",
"customFieldSetGroupIndex": 0
},
{
"encodedKey": "8a19b63f74b9d6b10174bb3fea5b09b1",
"parentKey": "8a193c26722b51b701722d779e7122e0",
"customFieldKey": "8a19b63f74b9d6b10174bb3f17d10992",
"customField": {
"encodedKey": "8a19b63f74b9d6b10174bb3f17d10992",
"id": "cntr_cf_grp_2",
"creationDate": "2020-09-23T13:55:08+0000",
"lastModifiedDate": "2020-09-23T13:57:45+0000",
"name": "centre cf grp 2",
"type": "CENTRE_INFO",
"dataType": "SELECTION",
"valueLength": "SHORT",
"isDefault": false,
"isRequired": false,
"description": "a selection custom field definition for centres",
"customFieldSet": {
"encodedKey": "8a19b63f74b9d6b10174bb3dc2b7097a",
"id": "_cntr_cf_grp",
"name": "cf grouped",
"notes": "grouped centre custom field definitions",
"createdDate": "2020-09-23T13:54:05+0000",
"lastModifiedDate": "2020-09-23T13:54:05+0000",
"indexInList": 1,
"type": "CENTRE_INFO",
"usage": "GROUPED"
},
"indexInList": 1,
"state": "NORMAL",
"customFieldSelectionOptions": [
{
"encodedKey": "8a19b63f74b9d6b10174bb3f17d10995",
"id": "1341939373",
"value": "option 1",
"score": "10"
},
{
"encodedKey": "8a19b63f74b9d6b10174bb3f17d10996",
"id": "414828471",
"value": "option 2",
"score": "-15"
}
],
"viewRights": {
"encodedKey": "8a19b63f74b9d6b10174bb3f17d10993",
"isAccessibleByAllUsers": true,
"roles": []
},
"editRights": {
"encodedKey": "8a19b63f74b9d6b10174bb3f17d10994",
"isAccessibleByAllUsers": true,
"roles": []
},
"unique": false,
"values": [
"option 1",
"option 2"
],
"amounts": {
"option 1": "10",
"option 2": "-15"
}
},
"value": "option 2",
"amount": "-15",
"indexInList": -1,
"customFieldID": "cntr_cf_grp_2",
"customFieldSetGroupIndex": 0
},
{
"encodedKey": "8a19b63f74b9d6b10174bb5405830a67",
"parentKey": "8a193c26722b51b701722d779e7122e0",
"customFieldKey": "8a19b63f74b9d6b10174bb5405830a64",
"customField": {
"encodedKey": "8a19b63f74b9d6b10174bb5405830a64",
"id": "cntr_cf_usr_lnk",
"creationDate": "2020-09-23T14:18:00+0000",
"lastModifiedDate": "2020-09-23T14:18:00+0000",
"name": "user link for centre",
"type": "CENTRE_INFO",
"dataType": "USER_LINK",
"valueLength": "SHORT",
"isDefault": false,
"isRequired": false,
"description": "a custom field definition linking to a specific user",
"customFieldSet": {
"encodedKey": "8a19b63f74b9d6b10174bad54f21066c",
"id": "_centres_custom_field_set",
"name": "custom field set",
"notes": "Custom field definitions for centre",
"createdDate": "2020-09-23T13:52:45+0000",
"lastModifiedDate": "2020-09-23T13:52:45+0000",
"indexInList": 0,
"type": "CENTRE_INFO",
"usage": "SINGLE"
},
"indexInList": 2,
"state": "NORMAL",
"customFieldSelectionOptions": [],
"viewRights": {
"encodedKey": "8a19b63f74b9d6b10174bb5405830a65",
"isAccessibleByAllUsers": true,
"roles": []
},
"editRights": {
"encodedKey": "8a19b63f74b9d6b10174bb5405830a66",
"isAccessibleByAllUsers": false,
"roles": []
},
"unique": false,
"values": [],
"amounts": {}
},
"linkedEntityKeyValue": "8a19df0e730ee86f01730f4c3cf2074a",
"indexInList": -1,
"customFieldID": "cntr_cf_usr_lnk",
"customFieldSetGroupIndex": -1
},
{
"encodedKey": "8a19b63f74b9d6b10174bb66462a0a7e",
"parentKey": "8a193c26722b51b701722d779e7122e0",
"customFieldKey": "8a19b63f74b9d6b10174bb6646250a73",
"customField": {
"encodedKey": "8a19b63f74b9d6b10174bb6646250a73",
"id": "cntr_cf_slct_2",
"creationDate": "2020-09-23T14:37:56+0000",
"lastModifiedDate": "2020-09-23T14:37:56+0000",
"name": "centre cf select 2",
"type": "CENTRE_INFO",
"dataType": "SELECTION",
"valueLength": "LONG",
"isDefault": false,
"isRequired": false,
"description": "a custom field definition in which the options available are dependent on another field",
"customFieldSet": {
"encodedKey": "8a19b63f74b9d6b10174bb3dc2b7097a",
"id": "_cntr_cf_grp",
"name": "cf grouped",
"notes": "grouped centre custom field definitions",
"createdDate": "2020-09-23T13:54:05+0000",
"lastModifiedDate": "2020-09-23T13:54:05+0000",
"indexInList": 1,
"type": "CENTRE_INFO",
"usage": "GROUPED"
},
"indexInList": 2,
"state": "NORMAL",
"customFieldSelectionOptions": [
{
"encodedKey": "8a19b63f74b9d6b10174bb6646250a76",
"id": "996554077",
"value": "dep 1 a",
"score": "12",
"constraint": {
"encodedKey": "8a19b63f74b9d6b10174bb6646250a77",
"dataFieldType": "CUSTOM",
"dataItemType": "CENTRE",
"dataType": "STRING",
"customFieldKey": "8a19b63f74b9d6b10174bb3f17d10992",
"filterElement": "EQUALS",
"value": "8a19b63f74b9d6b10174bb3f17d10995",
"linkingOperator": "AND",
"groupNumber": 0
}
},
{
"encodedKey": "8a19b63f74b9d6b10174bb6646280a78",
"id": "656383934",
"value": "dep 1 b",
"score": "-3",
"constraint": {
"encodedKey": "8a19b63f74b9d6b10174bb6646280a79",
"dataFieldType": "CUSTOM",
"dataItemType": "CENTRE",
"dataType": "STRING",
"customFieldKey": "8a19b63f74b9d6b10174bb3f17d10992",
"filterElement": "EQUALS",
"value": "8a19b63f74b9d6b10174bb3f17d10995",
"linkingOperator": "AND",
"groupNumber": 0
}
},
{
"encodedKey": "8a19b63f74b9d6b10174bb6646280a7a",
"id": "745255722",
"value": "dep 2 a",
"score": "10",
"constraint": {
"encodedKey": "8a19b63f74b9d6b10174bb6646280a7b",
"dataFieldType": "CUSTOM",
"dataItemType": "CENTRE",
"dataType": "STRING",
"customFieldKey": "8a19b63f74b9d6b10174bb3f17d10992",
"filterElement": "EQUALS",
"value": "8a19b63f74b9d6b10174bb3f17d10996",
"linkingOperator": "AND",
"groupNumber": 0
}
},
{
"encodedKey": "8a19b63f74b9d6b10174bb6646280a7c",
"id": "2093285980",
"value": "dep 2 b",
"score": "-5",
"constraint": {
"encodedKey": "8a19b63f74b9d6b10174bb66462a0a7d",
"dataFieldType": "CUSTOM",
"dataItemType": "CENTRE",
"dataType": "STRING",
"customFieldKey": "8a19b63f74b9d6b10174bb3f17d10992",
"filterElement": "EQUALS",
"value": "8a19b63f74b9d6b10174bb3f17d10996",
"linkingOperator": "AND",
"groupNumber": 0
}
}
],
"viewRights": {
"encodedKey": "8a19b63f74b9d6b10174bb6646250a74",
"isAccessibleByAllUsers": true,
"roles": []
},
"editRights": {
"encodedKey": "8a19b63f74b9d6b10174bb6646250a75",
"isAccessibleByAllUsers": false,
"roles": []
},
"unique": false
},
"value": "dep 2 a",
"amount": "10",
"indexInList": -1,
"customFieldID": "cntr_cf_slct_2",
"customFieldSetGroupIndex": 0
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | CentreApiV1 |
Update Custom Info for Centre
PATCH /centres/{centreId}/custominformation
Update custom field values for a centre
Update custom field values
Example requests
Update a single custom field value
{
"customInformation": [
{
"customFieldID": "custom_field_2",
"value": "3"
}
]
}
Update a field in a group
{
"customInformation": [
{
"customFieldID": "cf_grouped_field",
"value": "new value",
"customFieldSetGroupIndex": "0"
}
]
}
Update multiple custom field values
{
"customInformation": [
{
"customFieldID": "cf_grouped_field_2",
"value": "3",
"customFieldSetGroupIndex": "0"
},
{
"customFieldID": "field_3",
"value": "divorced"
}
]
}
Parameters
Name | Type | Description | In |
---|---|---|---|
customInformation | [object] | none | body |
» customFieldID (required) | string | none | body |
» value (required) | string | none | body |
» customFieldSetGroupIndex | string | Required if field to update is part of a group, if the Field Set Group Index is not set, a new group will be created with the value provided. | body |
centreId (required) | string | The ID of the centre | path |
Example Responses
200 : OK
Success Response
{
"returnCode": 0,
"returnStatus": "SUCCESS"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Get Custom Info for Centre
GET /centres/{centreId}/custominformation/{customFieldId}
Get a custom field definition for a centre
Allows retrieving a custom field definition for a given centre directly by the ID/key of the centre and the ID/key of the custom field definition.
Parameters
Name | Type | Description | In |
---|---|---|---|
centreId (required) | string | The ID of the centre. | path |
customFieldId (required) | string | The ID of the custom field definition. | path |
Example Responses
200 : OK
A custom field definition
[
{
"encodedKey": "8a19cd6f74674df9017467f25aab02c6",
"parentKey": "8a193c26722b51b701722d779e7122de",
"customFieldKey": "8a19cd6f74674df9017467ef8e6802af",
"customField": {
"encodedKey": "8a19cd6f74674df9017467ef8e6802af",
"id": "cf_centre",
"creationDate": "2020-09-07T09:42:33+0000",
"lastModifiedDate": "2020-09-07T09:42:33+0000",
"name": "Example Custom Field Definition",
"type": "BRANCH_INFO",
"dataType": "CHECKBOX",
"valueLength": "SHORT",
"isDefault": false,
"isRequired": false,
"description": "an example of a checkbox custom field definition",
"customFieldSet": {
"encodedKey": "8a19cd6f74674df9017467ef8e6802ae",
"id": "_example_centre_custom_field_set",
"name": "example centre custom field set",
"notes": "example custom field set",
"createdDate": "2020-09-07T09:41:50+0000",
"lastModifiedDate": "2020-09-07T09:41:50+0000",
"indexInList": 2,
"type": "BRANCH_INFO",
"usage": "SINGLE"
},
"indexInList": 0,
"state": "NORMAL",
"customFieldSelectionOptions": [],
"viewRights": {
"encodedKey": "8a19cd6f74674df9017467ef8e6802b0",
"isAccessibleByAllUsers": false,
"roles": []
},
"editRights": {
"encodedKey": "8a19cd6f74674df9017467ef8e6802b1",
"isAccessibleByAllUsers": false,
"roles": []
},
"unique": false,
"values": [],
"amounts": {}
},
"value": "TRUE",
"indexInList": -1,
"customFieldID": "cf_centre",
"customFieldSetGroupIndex": -1
}
]
404 : Not Found
not found
{
"returnCode": 903,
"returnStatus": "INVALID_CUSTOM_FIELD_ID"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | CustomFieldApiV1 |
404 | Not Found | Not Found | Inline |
Response Schema
Status Code 404
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Update Custom Field Value for Centre
PATCH /centres/{centreId}/custominformation/{customFieldId}
Update a custom field value for a centre
Update a custom field value for a centre custom field definition
Example Requests
Update the custom field value
{
"value": "New custom field value"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
value | string | none | body |
centreId (required) | string | The ID of the centre. | path |
customFieldId (required) | string | The ID of the custom field definition. | path |
Example Responses
200 : OK
Success Response
{
"returnCode": 0,
"returnStatus": "SUCCESS"
}
400 : Bad Request
field is part of a group
{
"returnCode": 916,
"returnStatus": "INVALID_CUSTOM_FIELD_GROUP_INDEX",
"errorSource": "cf_group_field_2"
}
404 : Not Found
not found
{
"returnCode": 903,
"returnStatus": "INVALID_CUSTOM_FIELD_ID"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad Request | Inline |
404 | Not Found | Not Found | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Status Code 400
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
» errorSource | string | none | none |
Status Code 404
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Delete Custom Field Value for Centre
DELETE /centres/{centreId}/custominformation/{customFieldId}
Delete Custom Field Value
Delete a single custom field value
Parameters
Name | Type | Description | In |
---|---|---|---|
centreId (required) | string | The ID of the centre. | path |
customFieldId (required) | string | The ID of the custom field definition. | path |
Example Responses
200 : OK
Success Response
{
"returnCode": 0,
"returnStatus": "SUCCESS"
}
400 : Bad Request
field is part of a group
{
"returnCode": 916,
"returnStatus": "INVALID_CUSTOM_FIELD_GROUP_INDEX",
"errorSource": "cf_group_field_2"
}
404 : Not Found
not found
{
"returnCode": 903,
"returnStatus": "INVALID_CUSTOM_FIELD_ID"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad Request | Inline |
404 | Not Found | Not Found | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Status Code 400
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
» errorSource | string | none | none |
Status Code 404
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Update Custom Info (grouped) for Centre
PATCH /centres/{centreId}/custominformation/{customFieldId}/{customFieldGroupSetIndex}
Update grouped custom field value
Update custom field value, which is part of a group
Example Requests
Update custom field value
{
"value": "New grouped custom field value"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
value | string | none | body |
centreId (required) | string | The ID of the centre | path |
customFieldId (required) | string | The ID of the custom field definition. | path |
customFieldGroupSetIndex (required) | string | none | path |
Example Responses
200 : OK
Success Response
{
"returnCode": 0,
"returnStatus": "SUCCESS"
}
400 : Bad Request
wrong group index provided
{
"returnCode": 916,
"returnStatus": "INVALID_CUSTOM_FIELD_GROUP_INDEX",
"errorSource": "cf_group_field_2"
}
404 : Not Found
field not found
{
"returnCode": 903,
"returnStatus": "INVALID_CUSTOM_FIELD_ID"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad Request | Inline |
404 | Not Found | Not Found | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Status Code 400
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
» errorSource | string | none | none |
Status Code 404
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Delete Custom Info (grouped) for Centre
DELETE /centres/{centreId}/custominformation/{customFieldId}/{customFieldGroupSetIndex}
Delete grouped custom field value
Delete a custom field value, which is part of a group
Parameters
Name | Type | Description | In |
---|---|---|---|
centreId (required) | string | The ID of the centre | path |
customFieldId (required) | string | The ID of the custom field definition. | path |
customFieldGroupSetIndex (required) | string | none | path |
Example Responses
200 : OK
Success Response
{
"returnCode": 0,
"returnStatus": "SUCCESS"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Get Comments for Centre
GET /centres/{centreId}/comments
Get all centre comments
get all comments for a centre
Parameters
Name | Type | Description | In |
---|---|---|---|
limit | string | none | query |
offset | string | none | query |
centreId (required) | string | the ID of the centre | path |
Example Responses
200 : OK
an array of comments
[
{
"encodedKey": "8a19b7057471f4af017472dc0fd80470",
"parentKey": "8a193c26722b51b701722d77c5e423b7",
"userKey": "8a194075720ece2c017226fced6f005e",
"creationDate": "2020-09-09T14:24:42+0000",
"lastModifiedDate": "2020-09-09T14:24:42+0000",
"text": "aanother afmaefomaef<div><br /></div><div><u>aefaefaf</u></div><div><u><br /></u></div><div><u>afaef</u></div>"
},
{
"encodedKey": "8a193c26722b51b701722d77c8bf25ab",
"parentKey": "8a193c26722b51b701722d77c5e423b7",
"creationDate": "2020-05-19T15:05:24+0000",
"lastModifiedDate": "2020-05-19T15:05:24+0000",
"text": "Should suggest she apply for the agriculture loan given the nature of their business"
}
]
400 : Bad Request
bad centre ID
{
"returnCode": 149,
"returnStatus": "INVALID_ID"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad Request | ExecutionStatusApiV1 |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [CommentApiV1] | none | none |
» creationDate | string(date-time) | the date and time at which this comment was added | none |
» encodedKey | string | a unique key for this comment | none |
» lastModifiedDate | string(date-time) | the date and time at which this comment was last modified | none |
» parentKey | string | the unique key of the parent object for this comment, for example, the client or loan account to which it relates | none |
» text | string | the text of the comment as a string, must be properly JSON escpaped if it contains special characters | none |
» userKey | string | the unique key of the user who created the comment | none |
Create Comment for Centre
POST /centres/{centreId}/comments
Create a centre Comment
create new comment for a centre
Example Requests
a comment
{
"comment": {
"text": "this is a comment with \" \" all kinds of : \\ / \"non compliant\" stuff & = which has been JSON escaped"
}
}
Parameters
Name | Type | Description | In |
---|---|---|---|
comment | object | an object contining the comment | body |
» text | string | text of the comment to be added. if adding complex content make sure it is properly JSON encoded before making your request | body |
centreId (required) | string | the ID of the centre | path |
Example Responses
200 : OK
a comment
{
"encodedKey": "8a19c34574720f9e0174734a039f06e2",
"parentKey": "8a193c26722b51b701722d77c5e423b7",
"userKey": "8a194075720ece2c017226fced6f005e",
"creationDate": "2020-09-09T14:39:36+0000",
"lastModifiedDate": "2020-09-09T14:39:36+0000",
"text": "this is a comment with \" \" all kinds of : \\ / non compliant stuff & = which has been JSON escaped"
}
400 : Bad Request
extra parameters in the request
{
"returnCode": 27,
"returnStatus": "PARAMETER_NOT_ALLOWED"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | CommentApiV1 |
400 | Bad Request | Bad Request | Inline |
Response Schema
Status Code 400
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Get Documents for Centre
GET /centres/{centreId}/documents
Get documents for centre
Get all documents for a given centre
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer | offset results. use with limit parameter to achieve paging | query |
limit | integer | max number of records to return | query |
centreId (required) | string | The Id of the centre | path |
Example Responses
200 : ok
an array of documents
[
{
"encodedKey": "8a19c035747bf5b901747c5bfb04014b",
"id": 51,
"creationDate": "2020-09-11T08:52:48+0000",
"lastModifiedDate": "2020-09-11T08:52:48+0000",
"documentHolderKey": "8a193c26722b51b701722d779e7122df",
"documentHolderType": "CENTRE",
"name": "covid rules",
"type": "png",
"fileSize": 8258,
"originalFilename": "Screenshot_2020-04-22_at_14.31.29.png",
"location": "BRSIDSLFBOGAYZKUUKCOGGQEDOSEOD",
"description": "some guidelines regarding covid",
"createdByUserKey": "8a194075720ece2c017226fced6f005e",
"userName": "big chief"
},
{
"encodedKey": "8a19a3337476f2d00174775b6a3001ae",
"id": 43,
"creationDate": "2020-09-10T09:31:54+0000",
"lastModifiedDate": "2020-09-10T09:31:54+0000",
"documentHolderKey": "8a193c26722b51b701722d779e7122df",
"documentHolderType": "CENTRE",
"name": "centre doc",
"type": "png",
"fileSize": 32109,
"originalFilename": "clients_duplicate_id.png",
"location": "JRTBQGGVXFQRQRBDGBRWQCTXJNRWXP",
"description": "centre doc desc",
"createdByUserKey": "8a194075720ece2c017226fced6f005e",
"userName": "big chief"
}
]
400 : Bad Request
bad centre ID
{
"returnCode": 4,
"returnStatus": "INVALID_PARAMETERS",
"errorSource": "wrong owner id"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | Inline |
400 | Bad Request | Bad Request | ExecutionStatusApiV1 |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [DocumentApiV1] | none | none |
» createdByUserKey | string | the encoded key of the user who added this document | none |
» creationDate | string | the date and time when this document was created | none |
» description | string | a description of this document | none |
» documentHolderKey | string | the encoded key of the entity to which this document is attached | none |
» documentHolderType | string | the type of entity, eg. client, loan product, to which this document is attached | none |
» encodedKey | string | the automatically generated encoded ID for this item | none |
» fileSize | number | the size, in bytes, of the attached document | none |
» id | number | an ID for this document | none |
» lastModifiedDate | string | the date on which this document was last modified | none |
» location | string | indicates where the document is saved | none |
» name | string | the display name of this document | none |
» originalFilename | string | the name of the originally uploaded file | none |
» type | string | the file type of the document, eg. png, jpeg, pdf | none |
» userName | string | the name of the user who uploaded the document | none |
Enumerated Values
Property | Value |
---|---|
documentHolderType | BRANCH |
documentHolderType | LOAN_ACCOUNT |
documentHolderType | GROUP |
documentHolderType | DEPOSIT_ACCOUNT |
documentHolderType | LINE_OF_CREDIT |
documentHolderType | LOAN_PRODUCT |
documentHolderType | GL_JOURNAL_ENTRY |
documentHolderType | SAVINGS_PRODUCT |
documentHolderType | USER |
documentHolderType | CLIENT |
documentHolderType | CENTRE |
documentHolderType | ID_DOCUMENT |
Create Document for Centre
POST /centres/{centreId}/documents
Attach new Document to a centre
Attach a new document to a centre
Example Requests
a document to uplaod
{
"document": {
"documentHolderKey": "8a193c26722b51b701722d779e7122df",
"documentHolderType": "CENTRE",
"name": "some image",
"type": "png",
"description": "this is an image file"
},
"documentContent": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAF0CAYAAACudHRvAAABQGlDQ1BJQ0MgUHJvZmlsZQAAKJFjYGASS=="
}
Parameters
Name | Type | Description | In |
---|---|---|---|
body | CreateDocumentApiV1 | a new document to be attached to an entity | body |
centreId (required) | string | The Id of the centre | path |
Example Responses
201 : Created
uploaded document details
{
"encodedKey": "8a19c035747bf5b901747c5bfb04014d",
"id": 52,
"creationDate": "2020-09-11T08:54:53+0000",
"lastModifiedDate": "2020-09-11T08:54:53+0000",
"documentHolderKey": "8a193c26722b51b701722d779e7122df",
"documentHolderType": "CENTRE",
"name": "some image",
"type": "png",
"fileSize": 32109,
"originalFilename": "some_image.png",
"location": "RCPOUIUHJFBYDRURQNNHMOGBEFIOQF",
"description": "this is an image file",
"createdByUserKey": "8a194075720ece2c017226fced6f005e"
}
400 : Bad Request
filetype provided does not match actual file type
{
"returnCode": 973,
"returnStatus": "INCONSISTENT_EXTENSION_WITH_FILE_CONTENT",
"errorSource": "Invalid extension with file content"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Created | DocumentApiV1 |
400 | Bad Request | Bad Request | ExecutionStatusApiV1 |
Get Document for Centre by ID
GET /centres/{centreId}/documents/{documentId}
Get a centre Document
Get a specific document attached to a centre
Parameters
Name | Type | Description | In |
---|---|---|---|
centreId (required) | string | the ID of the centre | path |
documentId (required) | string | the ID of the document | path |
Example Responses
200 : OK
base64 encoded document
"iVBORw0KGgoAAAANSUhEUgAAAEAAAAA9CAYAAAAd1W/BAAAMY2lDQ1BJQ0MgUHJvZmlsZQAASImVVwdck0cbv3dkkrACEZAR9hJFZgAZIawIAjIFUQlJIGHEmBBE3NRSBesWUZxoVUTRagWkDkSssyhu6yiKqFRqsYoLle8yoNZ+4/c9v9+993+fe+7/jNzlvQNAr5Mvk+Wj+gAUSAvlCZGhrElp6SzSI4ABU0ADtsCTL1DIOPHxMQDKUP93eX0DIKr+qpuK65/j/1UMhSKFAAAkA=="
400 : Bad Request
bad Document ID
{
"returnCode": 970,
"returnStatus": "INVALID_DOCUMENT_ID"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | string |
400 | Bad Request | Bad Request | ExecutionStatusApiV1 |
Delete Document for Centre
DELETE /centres/{centreId}/documents/{documentId}
Delete a centre Document
Delete a document attached to a centre
Parameters
Name | Type | Description | In |
---|---|---|---|
centreId (required) | string | the ID of the centre | path |
documentId (required) | string | the ID of the document | path |
Example Responses
200 : OK
Success Response
{
"returnCode": 0,
"returnStatus": "SUCCESS"
}
400 : Bad Request
bad Document ID
{
"returnCode": 970,
"returnStatus": "INVALID_DOCUMENT_ID"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ExecutionStatusApiV1 |
400 | Bad Request | Bad Request | ExecutionStatusApiV1 |
Client Types
Retrieves all the client types in the organization.
Get Client Types
GET /clienttypes
List client types
Get a list of client types in JSON format.
Parameters
Name | Type | Description | In |
---|---|---|---|
for | string | Filters client types. | query |
Enumerated Values
Parameter | Value |
---|---|
for | CLIENTS |
for | GROUPS |
Example Responses
200 : ok
a list of client types
[
{
"encodedKey": "8a3e435149cd61eb0149cd74b1cb003b",
"name": "Client",
"id": "client",
"clientType": "CLIENT",
"creationDate": "2014-11-20T13:46:57+0000",
"canOpenAccounts": true,
"canGuarantee": true,
"requireID": false,
"index": -1
},
{
"encodedKey": "8a0ca02a4ba46b0d014ba74fc5a30c00",
"name": "Power of Attorney holders",
"id": "Power",
"clientType": "CLIENT",
"creationDate": "2015-02-20T14:06:38+0000",
"createdByUserKey": "8a8603b4497abb2101497b6c59cc0b33",
"canOpenAccounts": false,
"canGuarantee": false,
"requireID": false,
"index": 2147483647
},
{
"encodedKey": "8a3edf494b25cedc014b2661f6d300b9",
"name": "Guarantor",
"id": "Guarantor",
"clientType": "CLIENT",
"creationDate": "2015-01-26T13:15:29+0000",
"createdByUserKey": "8a8603b4497abb2101497b6c59cc0b33",
"canOpenAccounts": false,
"canGuarantee": true,
"requireID": true,
"index": 2147483647
},
{
"encodedKey": "8a3e435149cd61eb0149cd74b9560044",
"name": "Group",
"id": "group",
"clientType": "GROUP",
"creationDate": "2014-11-20T13:46:59+0000",
"canOpenAccounts": true,
"canGuarantee": false,
"requireID": false,
"index": -1
}
]
400 : Bad Request
bad filter value
{
"returnCode": 4,
"returnStatus": "INVALID_PARAMETERS",
"errorSource": "invalid for parameter"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | Inline |
400 | Bad Request | Bad Request | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [ClientRoleFullApiV1] | [the type of client or group as defined in Mambu in Administration > General Settings > Client Types] | none |
» canGuarantee (required) | boolean | whether this client type can guarantee loans | none |
» canOpenAccounts (required) | boolean | whether this client type can open accounts | none |
» clientType (required) | string | which entity this type is valid for, either CLIENT or GROUP | none |
» createdByUserKey | string | if this client type was not one of the defaults provided by Mambu the encoded key of the user who created it will be displayed here | none |
» creationDate (required) | string(date-time) | timestamp of when this group was created | none |
» description | string | description of this client type as provided through the Mambu UI | none |
» encodedKey (required) | string | a unique ID for this client type | none |
» id (required) | string | the machine-readable ID for this client type | none |
» idPattern | string | the pattern used to generate IDs for clients of this type, @ represents a random letter, # indicates a random number, $ represents a random letter or number | none |
» index (required) | number | if more than one role is assigned to this client, for example, if they are members of multiple groups, this number represents the index in the list | none |
» name (required) | string | the human-readable name of this client type | none |
» requireID (required) | boolean | whether ID is required for this client type | none |
» useDefaultAddress (required) | boolean | whether an address can be associated with clients of this type | none |
Enumerated Values
Property | Value |
---|---|
clientType | GROUP |
clientType | CLIENT |
Status Code 400
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | string | none | none |
» returnStatus | string | none | none |
» errorSource | string | none | none |
Clients
Allows you to view, create and update clients. Clients may have associated information such as their address, custom field values, or identification documents. It's also possible to search for clients using information such as as their names or identification documents.
Get Client's Custom Views with basic details
GET /clients?resultType=BASIC&viewfilter={viewfilter}
Get Client's Custom Views with basic details
get view filters for a client with basic details
Parameters
Name | Type | Description | In |
---|---|---|---|
branchId | string | none | query |
offset | string | none | query |
limit | string | none | query |
resultType | string | none | query |
viewfilter (required) | string | none | path |
Example Responses
200 Response
[
{
"activationDate": "string",
"approvedDate": "string",
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"birthDate": "string",
"clientRole": {
"encodedKey": "string"
},
"closedDate": "string",
"creationDate": "string",
"emailAddress": "string",
"encodedKey": "string",
"firstName": "string",
"gender": "MALE",
"groupLoanCycle": 0,
"homePhone": "string",
"id": "string",
"idPattern": "string",
"lastModifiedDate": "string",
"lastName": "string",
"loanCycle": 0,
"middleName": "string",
"migrationEvent": {
"creationDate": "2019-08-24T14:15:22Z",
"encodedKey": "string",
"numCentresImported": 0,
"numClientsImported": 0,
"numGLAccountsImported": 0,
"numGroupsImported": 0,
"numLoanRepaymentsImported": 0,
"numLoanTransactionsImported": 0,
"numLoansImported": 0,
"numSavingsImported": 0,
"state": "REVERTED",
"type": "IMPORT"
},
"mobilePhone1": "string",
"mobilePhone2": "string",
"notes": "string",
"portalPreferences": {
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"lastLoggedInDate": "string",
"password": "string",
"portalState": "DISABLED"
},
"preferredLanguage": "PORTUGESE",
"profilePictureKey": "string",
"profileSignatureKey": "string",
"state": "PENDING_APPROVAL"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [ClientApiV1] | none | none |
» activationDate | string | the date when the client was set to active, ie. an active account was created for them | none |
» approvedDate | string | the date when the client was approved | none |
» assignedBranchKey | string | the encoded key of the client's branch | none |
» assignedCentreKey | string | the encoded key of the client's assigned centre | none |
» assignedUserKey | string | the encoded key of the Mambu user associated with this client, eg. their credit officer | none |
» birthDate | string | the date of birth of this client | none |
» clientRole | ClientRoleBasicApiV1 | the type of client or group as defined in Mambu in Administration > General Settings > Client Types | none |
»» encodedKey | string | the automatically generated encoded ID for this client or group type | none |
» closedDate | string | the date when the client was exited or blacklisted | none |
» creationDate | string | the date on which this client record was created | none |
» emailAddress | string | the email address of the client | none |
» encodedKey | string | the automatically generated encoded ID for this item | none |
» firstName | string | the first name of the client | none |
» gender | string | the client's gender | none |
» groupLoanCycle | number | if this client is a member of a group, this number will increase by 1 each time they successfully close a loan as fully paid | none |
» homePhone | string | a home contact number for this client | none |
» id | string | the ID for this client | none |
» idPattern | string | the pattern that is used to generate the client ID | none |
» lastModifiedDate | string | the date on which this client record was last modified | none |
» lastName | string | the last name of this client | none |
» loanCycle | number | the number of loans this client has opened and closed as fully paid as an individual | none |
» middleName | string | any middle names for this client | none |
» migrationEvent | DataMigrationEventApiV1 | details about an import or export operation | none |
»» creationDate | string(date-time) | the date on which the data import was made | none |
»» encodedKey | string | the encoded key of this data migration event | none |
»» numCentresImported | number | the number of centres which were imported during the data migration | none |
»» numClientsImported | number | the number of clients which were imported as part of the data migration | none |
»» numGLAccountsImported | number | the number of general ledger accounts which were imported as part of the data migration | none |
»» numGroupsImported | number | the number of groups which were imported as part of the data migration | none |
»» numLoanRepaymentsImported | number | the number of loan repayment transations which were imported as part of the data migration | none |
»» numLoanTransactionsImported | number | the number of loan transactions which were imported as part of the data migration | none |
»» numLoansImported | number | the number of loan accounts which were imported as part of the data migration | none |
»» numSavingsImported | number | the number of savings accounts which were imported as part of the data migration | none |
»» state | string | whether the data import was accepted, is still in a draft state, or was rejected and all data reverted | none |
»» type | string | the type of migration event | none |
» mobilePhone1 | string | a mobile contact number for this client | none |
» mobilePhone2 | string | another mobile contact number for this client | none |
» notes | string | any rich text notes about this client | none |
» portalPreferences | PortalPreferencesApiV1 | none | none |
»» encodedKey | string | the automatically generated encoded ID for this item | none |
»» lastLoggedInDate | string | none | none |
»» password | string | none | none |
»» portalState | string | none | none |
» preferredLanguage | string | the language which should be used when communicating with this client | none |
» profilePictureKey | string | the encoded key of this user's proficle picture | none |
» profileSignatureKey | string | the encoded key of the digital copy of this client's signature | none |
» state | string | the current state of this client | none |
Enumerated Values
Property | Value |
---|---|
gender | MALE |
gender | FEMALE |
state | REVERTED |
state | DRAFT |
state | APPROVED |
type | IMPORT |
type | EXPORT |
portalState | DISABLED |
portalState | ENABLED |
preferredLanguage | PORTUGESE |
preferredLanguage | RUSSIAN |
preferredLanguage | ROMANIAN |
preferredLanguage | ENGLISH |
preferredLanguage | SPANISH |
preferredLanguage | GEORGIAN |
preferredLanguage | BURMESE |
preferredLanguage | PHRASE |
preferredLanguage | CHINESE |
preferredLanguage | FRENCH |
preferredLanguage | INDONESIAN |
state | PENDING_APPROVAL |
state | ACTIVE |
state | INACTIVE |
state | EXITED |
state | BLACKLISTED |
state | REJECTED |
Get Client's Custom Views
GET /clients?resultType=FULL_DETAILS&viewfilter={viewfilter}
Get Client's Custom Views
get view filters for a client with full details
Parameters
Name | Type | Description | In |
---|---|---|---|
branchId | string | none | query |
offset | string | none | query |
limit | string | none | query |
resultType | string | none | query |
viewfilter (required) | string | none | path |
Example Responses
200 Response
[
{
"addresses": [
{
"addressType": "string",
"city": "string",
"country": "string",
"encodedKey": "string",
"indexInList": 0,
"latitude": 0,
"line1": "string",
"line2": "string",
"longitude": 0,
"parentKey": "string",
"postcode": "string",
"region": "string",
"toBeDeleted": true
}
],
"centreId": "string",
"client": {
"activationDate": "string",
"approvedDate": "string",
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"birthDate": "string",
"clientRole": {
"encodedKey": "string"
},
"closedDate": "string",
"creationDate": "string",
"emailAddress": "string",
"encodedKey": "string",
"firstName": "string",
"gender": "MALE",
"groupLoanCycle": 0,
"homePhone": "string",
"id": "string",
"idPattern": "string",
"lastModifiedDate": "string",
"lastName": "string",
"loanCycle": 0,
"middleName": "string",
"migrationEvent": {
"creationDate": "2019-08-24T14:15:22Z",
"encodedKey": "string",
"numCentresImported": 0,
"numClientsImported": 0,
"numGLAccountsImported": 0,
"numGroupsImported": 0,
"numLoanRepaymentsImported": 0,
"numLoanTransactionsImported": 0,
"numLoansImported": 0,
"numSavingsImported": 0,
"state": "REVERTED",
"type": "IMPORT"
},
"mobilePhone1": "string",
"mobilePhone2": "string",
"notes": "string",
"portalPreferences": {
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"lastLoggedInDate": "string",
"password": "string",
"portalState": "DISABLED"
},
"preferredLanguage": "PORTUGESE",
"profilePictureKey": "string",
"profileSignatureKey": "string",
"state": "PENDING_APPROVAL"
},
"clientTypeId": "string",
"customInformation": [
{
"amount": 0,
"customField": {
"amounts": {
"property1": 0,
"property2": 0
},
"builtInCustomFieldId": "MOBILE_PHONE",
"creationDate": "string",
"customFieldProductSettings": [
{
"customFieldEncodedKey": "string",
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"isDefault": true,
"isRequired": true,
"linkType": "CLIENT_ROLE",
"productKey": "string"
}
],
"customFieldSelectionOptions": [
{
"constraint": {
"customFieldKey": "string",
"dataFieldType": "NATIVE",
"dataFieldValue": "string",
"dataItemType": "WRITTEN_OFF_LOANS",
"dataType": "ENUM",
"encodedKey": "string",
"filterElement": "STARTS_WITH_CASE_SENSITIVE",
"groupNumber": 0,
"index": 0,
"linkingOperator": "OR",
"secondValue": "string",
"value": "string"
},
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"id": "string",
"score": 0,
"value": "string"
}
],
"customFieldSet": {
"builtInType": "DETAILS",
"createdDate": "string",
"customFields": [
{}
],
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"id": "string",
"indexInList": 0,
"lastModifiedDate": "string",
"name": "string",
"notes": "string",
"type": "USER_INFO",
"usage": "SINGLE"
},
"dataType": "GROUP_LINK",
"description": "string",
"editRights": {
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"isAccessibleByAllUsers": true,
"roles": [
"string"
]
},
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"id": "string",
"indexInList": 0,
"isDefault": true,
"isRequired": true,
"lastModifiedDate": "string",
"name": "string",
"state": "DEACTIVATED",
"type": "USER_INFO",
"unique": true,
"validationPattern": "string",
"valueLength": "SHORT",
"values": [
"string"
],
"viewRights": {
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"isAccessibleByAllUsers": true,
"roles": [
"string"
]
}
},
"customFieldID": "string",
"customFieldKey": "string",
"customFieldSetGroupIndex": 0,
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"indexInList": 0,
"linkedEntityKeyValue": "string",
"parentKey": "string",
"selectionKey": "string",
"value": "string"
}
],
"groupKeys": [
"string"
],
"idDocuments": [
{
"clientKey": "string",
"documentId": "string",
"documentType": "string",
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"identificationDocumentTemplateKey": "string",
"indexInList": 0,
"issuingAuthority": "string",
"toBeDeleted": true,
"validUntil": "string",
"validUntilDTOdate": {
"dayOfMonth": 0,
"monthOfYear": 0,
"year": 0
}
}
],
"notificationTemplates": [
{
"activated": true,
"authorization": "NO_AUTHORIZATION",
"contentType": "PLAIN_TEXT",
"creationDate": "string",
"customFilter": {
"customConfigurationInfo": {
"creationDate": "string",
"dataViewType": "PORTAL_ACCOUNT_TRANSACTION",
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"indexInList": 0,
"lastModifiedDate": "string",
"name": "string",
"shared": true,
"userKey": "string"
},
"encodedKey": "string",
"filterConstraints": [
{
"customFieldKey": "string",
"dataFieldType": "NATIVE",
"dataFieldValue": "string",
"dataItemType": "WRITTEN_OFF_LOANS",
"dataType": "ENUM",
"encodedKey": "string",
"filterElement": "STARTS_WITH_CASE_SENSITIVE",
"groupNumber": 0,
"index": 0,
"linkingOperator": "OR",
"secondValue": "string",
"value": "string"
}
]
},
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"event": "LOAN_CREATED",
"isInUse": true,
"lastModifiedDate": "string",
"name": "string",
"option": "OPT_IN",
"recipient": {
"customField": {
"amounts": {
"property1": 0,
"property2": 0
},
"builtInCustomFieldId": "MOBILE_PHONE",
"creationDate": "string",
"customFieldProductSettings": [
{
"customFieldEncodedKey": "string",
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"isDefault": true,
"isRequired": true,
"linkType": "CLIENT_ROLE",
"productKey": "string"
}
],
"customFieldSelectionOptions": [
{
"constraint": {
"customFieldKey": "string",
"dataFieldType": "NATIVE",
"dataFieldValue": "string",
"dataItemType": "WRITTEN_OFF_LOANS",
"dataType": "ENUM",
"encodedKey": "string",
"filterElement": "STARTS_WITH_CASE_SENSITIVE",
"groupNumber": 0,
"index": 0,
"linkingOperator": "OR",
"secondValue": "string",
"value": "string"
},
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"id": "string",
"score": 0,
"value": "string"
}
],
"customFieldSet": {
"builtInType": "DETAILS",
"createdDate": "string",
"customFields": [
{}
],
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"id": "string",
"indexInList": 0,
"lastModifiedDate": "string",
"name": "string",
"notes": "string",
"type": "USER_INFO",
"usage": "SINGLE"
},
"dataType": "GROUP_LINK",
"description": "string",
"editRights": {
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"isAccessibleByAllUsers": true,
"roles": [
"string"
]
},
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"id": "string",
"indexInList": 0,
"isDefault": true,
"isRequired": true,
"lastModifiedDate": "string",
"name": "string",
"state": "DEACTIVATED",
"type": "USER_INFO",
"unique": true,
"validationPattern": "string",
"valueLength": "SHORT",
"values": [
"string"
],
"viewRights": {
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"isAccessibleByAllUsers": true,
"roles": [
"string"
]
}
},
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"groupRole": {
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"name": "string"
},
"recipientType": "CREDIT_OFFICER"
},
"requestType": "HEAD",
"subject": "string",
"targetType": "LOANS",
"template": "string",
"topic": "string",
"trigger": "AUTOMATIC",
"triggerDays": 0,
"type": "EVENT_STREAM",
"url": "string",
"username": "string"
}
]
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [ClientExpandedApiV1] | none | none |
» addresses | [AddressApiV1] | addresses associated with this client | none |
»» addressType | string | the type of the address, eg. home, office. Deprecated. | none |
»» city | string | the city | none |
»» country | string | the country | none |
»» encodedKey | string | the automatically generated encoded ID for this item | none |
»» indexInList | integer | the index of this address when there are multiple addresses assigned for a single entity | none |
»» latitude | number | the latitude of the address point | none |
»» line1 | string | the first line of the address | none |
»» line2 | string | the second line of the address | none |
»» longitude | number | the longitude of the address point | none |
»» parentKey | string | the encoded key of the entity to whom this address belongs, for example, the client of group | none |
»» postcode | string | the postal (zip) code of the address | none |
»» region | string | the region of the address | none |
»» toBeDeleted | boolean | whether this address is marked to be deleted | none |
» centreId | string | the ID of the centre this client is assigned to | none |
» client | ClientApiV1 | none | none |
»» activationDate | string | the date when the client was set to active, ie. an active account was created for them | none |
»» approvedDate | string | the date when the client was approved | none |
»» assignedBranchKey | string | the encoded key of the client's branch | none |
»» assignedCentreKey | string | the encoded key of the client's assigned centre | none |
»» assignedUserKey | string | the encoded key of the Mambu user associated with this client, eg. their credit officer | none |
»» birthDate | string | the date of birth of this client | none |
»» clientRole | ClientRoleBasicApiV1 | the type of client or group as defined in Mambu in Administration > General Settings > Client Types | none |
»»» encodedKey | string | the automatically generated encoded ID for this client or group type | none |
»» closedDate | string | the date when the client was exited or blacklisted | none |
»» creationDate | string | the date on which this client record was created | none |
»» emailAddress | string | the email address of the client | none |
»» encodedKey | string | the automatically generated encoded ID for this item | none |
»» firstName | string | the first name of the client | none |
»» gender | string | the client's gender | none |
»» groupLoanCycle | number | if this client is a member of a group, this number will increase by 1 each time they successfully close a loan as fully paid | none |
»» homePhone | string | a home contact number for this client | none |
»» id | string | the ID for this client | none |
»» idPattern | string | the pattern that is used to generate the client ID | none |
»» lastModifiedDate | string | the date on which this client record was last modified | none |
»» lastName | string | the last name of this client | none |
»» loanCycle | number | the number of loans this client has opened and closed as fully paid as an individual | none |
»» middleName | string | any middle names for this client | none |
»» migrationEvent | DataMigrationEventApiV1 | details about an import or export operation | none |
»»» creationDate | string(date-time) | the date on which the data import was made | none |
»»» encodedKey | string | the encoded key of this data migration event | none |
»»» numCentresImported | number | the number of centres which were imported during the data migration | none |
»»» numClientsImported | number | the number of clients which were imported as part of the data migration | none |
»»» numGLAccountsImported | number | the number of general ledger accounts which were imported as part of the data migration | none |
»»» numGroupsImported | number | the number of groups which were imported as part of the data migration | none |
»»» numLoanRepaymentsImported | number | the number of loan repayment transations which were imported as part of the data migration | none |
»»» numLoanTransactionsImported | number | the number of loan transactions which were imported as part of the data migration | none |
»»» numLoansImported | number | the number of loan accounts which were imported as part of the data migration | none |
»»» numSavingsImported | number | the number of savings accounts which were imported as part of the data migration | none |
»»» state | string | whether the data import was accepted, is still in a draft state, or was rejected and all data reverted | none |
»»» type | string | the type of migration event | none |
»» mobilePhone1 | string | a mobile contact number for this client | none |
»» mobilePhone2 | string | another mobile contact number for this client | none |
»» notes | string | any rich text notes about this client | none |
»» portalPreferences | PortalPreferencesApiV1 | none | none |
»»» encodedKey | string | the automatically generated encoded ID for this item | none |
»»» lastLoggedInDate | string | none | none |
»»» password | string | none | none |
»»» portalState | string | none | none |
»» preferredLanguage | string | the language which should be used when communicating with this client | none |
»» profilePictureKey | string | the encoded key of this user's proficle picture | none |
»» profileSignatureKey | string | the encoded key of the digital copy of this client's signature | none |
»» state | string | the current state of this client | none |
» clientTypeId | string | the type of client | none |
» customInformation | [CustomFieldValueApiV1] | custom information attached to this client record | none |
»» amount | number | none | none |
»» customField | CustomFieldApiV1 | none | none |
»»» amounts | object | used when options available for a custom field definition translate to predefined amounts, for example, when the custom field value is used to generate a score | none |
»»»» additionalProperties | number | none | none |
»»» builtInCustomFieldId | string | if this field is one of the built in custom fiel definitions, this will have a value. These names are reserved and you can not use them for your own custom field definitions | none |
»»» creationDate | string | the date on which this custom field definition was created | none |
»»» customFieldProductSettings | [CustomFieldLinkApiV1] | none | none |
»»»» customFieldEncodedKey | string | the key to the parent custom field definition | none |
»»»» encodedKey | string | the automatically generated encoded ID for this item | none |
»»»» isDefault | boolean | whether this field is displayed by default when creating a new record | none |
»»»» isRequired | boolean | whether this field is required when creating a new record | none |
»»»» linkType | string | the type of entity this field represents a link to | none |
»»»» productKey | string | when the link type is product, this field should contain the encoded key of the linekd product | none |
»»» customFieldSelectionOptions | [CustomFieldSelectionApiV1] | [represents a possible selection for select type custom field definitions] | none |
»»»» constraint | CustomFilterConstraintApiV1 | none | none |
»»»»» customFieldKey | string | none | none |
»»»»» dataFieldType | string | none | none |
»»»»» dataFieldValue | string | none | none |
»»»»» dataItemType | string | none | none |
»»»»» dataType | string | none | none |
»»»»» encodedKey | string | none | none |
»»»»» filterElement | string | none | none |
»»»»» groupNumber | number | none | none |
»»»»» index | number | none | none |
»»»»» linkingOperator | string | none | none |
»»»»» secondValue | string | none | none |
»»»»» value | string | none | none |
»»»» encodedKey | string | the automatically generated encoded ID for this item | none |
»»»» id | string | the ID of this selectable item | none |
»»»» score | number | the score assigned to this selection | none |
»»»» value | string | display name of this option | none |
»»» customFieldSet | CustomFieldSetApiV1 | none | none |
»»»» builtInType | string | if this set is part of the set of built-in custom field sets, its type will be shown here | none |
»»»» createdDate | string | the date and time when this custom field set was created | none |
»»»» customFields | [CustomFieldApiV1] | an array of custom field definitions included in this custom field set | none |
»»»» encodedKey | string | the automatically generated encoded ID for this item | none |
»»»» id | string | the ID of this custom field set | none |
»»»» indexInList | number | for field sets that can be added to an entity more than once, this number represents the index in the list and is used when changing values | none |
»»»» lastModifiedDate | string | the date on which this custom field set was last modified | none |
»»»» name | string | the name of this custom field set | none |
»»»» notes | string | any notes regarding this custom field set | none |
»»»» type | string | the entity type that this custom field definition is attached to | none |
»»»» usage | string | whether this custom field set can only be used once, or added multiple times to the same entity | none |
»»» dataType | string | the type of custom field definition | none |
»»» description | string | a brief description of this custom field definition | none |
»»» editRights | UsageRightsApiV1 | none | none |
»»»» encodedKey | string | the automatically generated encoded ID for this item | none |
»»»» isAccessibleByAllUsers | boolean | none | none |
»»»» roles | [string] | none | none |
»»» encodedKey | string | the automatically generated encoded ID for this item | none |
»»» id | string | the ID for this custom field definition | none |
»»» indexInList | number | none | none |
»»» isDefault | boolean | whether this field will be included by default on new records | none |
»»» isRequired | boolean | whether this field is required when creating a new record | none |
»»» lastModifiedDate | string | the date on which this custom field definition was last modified | none |
»»» name | string | the name of this custom field definition | none |
»»» state | string | whether this field is available for use or has been deactivated | none |
»»» type | string | the type of data this custom field definition will contain | none |
»»» unique | boolean | whether the data in this custom field definition needs to be a unique value | none |
»»» validationPattern | string | a user-provided pattern to which data in this custom field definition must conform where @ represents numbers, # represents letters and $ is either a number or letter. Other special characters used as separators are allowed, for example @@-##-$$$ | none |
»»» valueLength | string | whether this field needs to support a large number of characters | none |
»»» values | [string] | a list of possible values when the field is a selection field | none |
»»» viewRights | UsageRightsApiV1 | none | none |
»» customFieldID | string | none | none |
»» customFieldKey | string | none | none |
»» customFieldSetGroupIndex | number | none | none |
»» encodedKey | string | the automatically generated encoded ID for this item | none |
»» indexInList | number | none | none |
»» linkedEntityKeyValue | string | none | none |
»» parentKey | string | none | none |
»» selectionKey | string | none | none |
»» value | string | none | none |
» groupKeys | [string] | the encoded keys of any groups this client belongs to | none |
» idDocuments | [IdentificationDocumentApiV1] | an array of ID documents this client has provided | none |
»» clientKey | string | the encoded key of the client with which this ID document is associated | none |
»» documentId | string | the ID | none |
»» documentType | string | the type of document, eg. passport, ID card | none |
»» encodedKey | string | the automatically generated encoded ID for this item | none |
»» identificationDocumentTemplateKey | string | the ID template associated with this kind of ID | none |
»» indexInList | number | if there is more than one ID document attached to a single entity, this number represents the index in the list of this particular document | none |
»» issuingAuthority | string | the institution who provided this ID document, eg, Her Majesty's Passport Authority | none |
»» toBeDeleted | boolean | whether this ID document is marked for deletion | none |
»» validUntil | string | the last day on which this document can be used | none |
»» validUntilDTOdate | DateDTOApiV1 | none | none |
»»» dayOfMonth | number | the day of the month | none |
»»» monthOfYear | number | the month | none |
»»» year | number | the year | none |
» notificationTemplates | [MessageTemplateApiV1] | an array of notification templates which can be used to send messages to this client via email or sms | none |
»» activated | boolean | none | none |
»» authorization | string | none | none |
»» contentType | string | none | none |
»» creationDate | string | the date and time when this template was created | none |
»» customFilter | CustomFilterApiV1 | none | none |
»»» customConfigurationInfo | CustomConfigurationInfoApiV1 | none | none |
»»»» creationDate | string | the date on which this configuration was created | none |
»»»» dataViewType | string | the type of entity this configuration is for | none |
»»»» encodedKey | string | the automatically generated encoded ID for this item | none |
»»»» indexInList | number | if more than one configuration exists for a given type, this is its index in the list | none |
»»»» lastModifiedDate | string | the date on which this configuration was last modified | none |
»»»» name | string | the name for this configuration | none |
»»»» shared | boolean | whether this configuration is private or can be used by other users of the system | none |
»»»» userKey | string | the encoded key of the Mambu user who created this configuration | none |
»»» encodedKey | string | none | none |
»»» filterConstraints | [CustomFilterConstraintApiV1] | none | none |
»» encodedKey | string | the automatically generated encoded ID for this notification template | none |
»» event | string | none | none |
»» isInUse | boolean | none | none |
»» lastModifiedDate | string | the date on which this notification template was last modified | none |
»» name | string | none | none |
»» option | string | none | none |
»» recipient | MessageTemplateRecipientApiV1 | none | none |
»»» customField | CustomFieldApiV1 | none | none |
»»» encodedKey | string | the automatically generated encoded ID for this item | none |
»»» groupRole | GroupRoleNameApiV1 | none | none |
»»»» encodedKey | string | the automatically generated encoded ID for this item | none |
»»»» name | string | the name of this role | none |
»»» recipientType | string | none | none |
»» requestType | string | none | none |
»» subject | string | none | none |
»» targetType | string | none | none |
»» template | string | none | none |
»» topic | string | none | none |
»» trigger | string | none | none |
»» triggerDays | number | none | none |
»» type | string | none | none |
»» url | string | none | none |
»» username | string | none | none |
Enumerated Values
Property | Value |
---|---|
gender | MALE |
gender | FEMALE |
state | REVERTED |
state | DRAFT |
state | APPROVED |
type | IMPORT |
type | EXPORT |
portalState | DISABLED |
portalState | ENABLED |
preferredLanguage | PORTUGESE |
preferredLanguage | RUSSIAN |
preferredLanguage | ROMANIAN |
preferredLanguage | ENGLISH |
preferredLanguage | SPANISH |
preferredLanguage | GEORGIAN |
preferredLanguage | BURMESE |
preferredLanguage | PHRASE |
preferredLanguage | CHINESE |
preferredLanguage | FRENCH |
preferredLanguage | INDONESIAN |
state | PENDING_APPROVAL |
state | ACTIVE |
state | INACTIVE |
state | EXITED |
state | BLACKLISTED |
state | REJECTED |
builtInCustomFieldId | MOBILE_PHONE |
builtInCustomFieldId | EMAIL_ADDRESS |
builtInCustomFieldId | GENDER |
builtInCustomFieldId | MIDDLE_NAME |
builtInCustomFieldId | HOME_PHONE |
builtInCustomFieldId | BIRTHDATE |
builtInCustomFieldId | LAST_NAME |
builtInCustomFieldId | FIRST_NAME |
linkType | CLIENT_ROLE |
linkType | CHANNEL |
linkType | PRODUCT |
dataFieldType | NATIVE |
dataFieldType | CUSTOM |
dataItemType | WRITTEN_OFF_LOANS |
dataItemType | LINE_OF_CREDIT |
dataItemType | INVESTOR_FUND |
dataItemType | TRANSACTION_DETAILS |
dataItemType | DOCUMENT_TEMPLATE |
dataItemType | PRODUCT |
dataItemType | MCC_EXPIRATION |
dataItemType | CENTRE |
dataItemType | REPAYMENT_COLLECTION |
dataItemType | TASK |
dataItemType | OUTSTANDING_PORTFOLIO_AMOUNTS |
dataItemType | REVENUE |
dataItemType | COMPOSED_TRANSACTIONS |
dataItemType | UNION_TRANSACTIONS |
dataItemType | PRINCIPAL_PAYMENT_SETTINGS |
dataItemType | LOANS |
dataItemType | DISBURSEMENT_DETAILS |
dataItemType | SAVINGS_TRANSACTION |
dataItemType | IDENTIFICATION_DOCUMENT |
dataItemType | LOAN_PRODUCT |
dataItemType | DISBURSED_LOANS |
dataItemType | LOAN_GROUP |
dataItemType | TRANSACTION_CHANNEL |
dataItemType | CUSTOM_PREDEFINED_FEE |
dataItemType | JOURNAL_ENTRY |
dataItemType | ATTACHMENT |
dataItemType | PREDEFINED_FEE |
dataItemType | TRANCHE |
dataItemType | TRANSACTION |
dataItemType | INDEX_RATE_SOURCE |
dataItemType | GROUP_ROLE |
dataItemType | LOAN_TRANSACTION |
dataItemType | CLIENT_ROLE |
dataItemType | GROUP |
dataItemType | NOTIFICATION_MESSAGE |
dataItemType | OUTSTANDING_PORTFOLIO_ACCOUNTS |
dataItemType | REPAYMENT |
dataItemType | LOAN_ACCOUNT_GUARANTY |
dataItemType | BRANCH |
dataItemType | CURRENCY |
dataItemType | CARD_TRANSACTION_REVERSAL |
dataItemType | INTEREST_PRODUCT_SETTINGS |
dataItemType | CREATED_ACCOUNTS |
dataItemType | USER |
dataItemType | SAVINGS_PRODUCT |
dataItemType | CLIENT |
dataItemType | PRODUCT_ARREARS_SETTINGS |
dataItemType | SAVINGS |
dataItemType | EXPENSE |
dataItemType | INDEX_RATE |
dataItemType | NOTIFICATION_TEMPLATE |
dataItemType | CUSTOM_FIELD_SELECTION |
dataItemType | ACTIVITY |
dataType | ENUM |
dataType | MONEY |
dataType | NUMBER |
dataType | DATE_UTC |
dataType | JAVA_BLOB |
dataType | OBJECT |
dataType | BOOLEAN |
dataType | DATE |
dataType | PERCENT |
dataType | BIG_DECIMAL |
dataType | STRING |
dataType | KEY |
dataType | LONG |
filterElement | STARTS_WITH_CASE_SENSITIVE |
filterElement | THIS_WEEK |
filterElement | EQUALS |
filterElement | STARTS_WITH |
filterElement | IN |
filterElement | TODAY |
filterElement | THIS_YEAR |
filterElement | BETWEEN |
filterElement | AFTER |
filterElement | LESS_THAN |
filterElement | DIFFERENT_THAN |
filterElement | THIS_MONTH |
filterElement | NOT_EMPTY |
filterElement | BEFORE |
filterElement | EQUALS_CASE_SENSITIVE |
filterElement | LAST_DAYS |
filterElement | MORE_THAN |
filterElement | EMPTY |
filterElement | ON |
linkingOperator | OR |
linkingOperator | AND |
builtInType | DETAILS |
builtInType | GENERAL |
type | USER_INFO |
type | ASSET_INFO |
type | CLIENT_INFO |
type | LINE_OF_CREDIT |
type | GROUP_INFO |
type | TRANSACTION_CHANNEL_INFO |
type | BRANCH_INFO |
type | SAVINGS_ACCOUNT_INFO |
type | LOAN_ACCOUNT_INFO |
type | GUARANTOR_INFO |
type | CENTRE_INFO |
usage | SINGLE |
usage | GROUPED |
dataType | GROUP_LINK |
dataType | DATE |
dataType | NUMBER |
dataType | CHECKBOX |
dataType | CLIENT_LINK |
dataType | STRING |
dataType | USER_LINK |
dataType | SELECTION |
state | DEACTIVATED |
state | NORMAL |
type | USER_INFO |
type | ASSET_INFO |
type | CLIENT_INFO |
type | LINE_OF_CREDIT |
type | GROUP_INFO |
type | TRANSACTION_CHANNEL_INFO |
type | BRANCH_INFO |
type | SAVINGS_ACCOUNT_INFO |
type | LOAN_ACCOUNT_INFO |
type | GUARANTOR_INFO |
type | CENTRE_INFO |
valueLength | SHORT |
valueLength | LONG |
authorization | NO_AUTHORIZATION |
authorization | BASIC_AUTHORIZATION |
contentType | PLAIN_TEXT |
contentType | APPLICATION_JSON |
contentType | APPLICATION_XML |
dataViewType | PORTAL_ACCOUNT_TRANSACTION |
dataViewType | LOANS_AGING_ANALYSIS |
dataViewType | CLOSED_ACCOUNTS |
dataViewType | CLIENT_OVERVIEW |
dataViewType | ADMIN_CENTRES |
dataViewType | USER_NOTIFICATION_MESSAGES |
dataViewType | LINE_OF_CREDIT |
dataViewType | USER_OVERVIEW |
dataViewType | CENTRE_OVERVIEW |
dataViewType | REPAYMENT_REPAYMENTS_COLLECTION |
dataViewType | GROUP_OVERVIEW |
dataViewType | ACTIVITIES_LOOKUP |
dataViewType | TRANSACTION |
dataViewType | ADMIN_BRANCHES |
dataViewType | GROUP |
dataViewType | BRANCH_OVERVIEW |
dataViewType | NOTIFICATION_MESSAGE |
dataViewType | PORTFOLIO_REPORTS |
dataViewType | GROUP_NOTIFICATION_MESSAGES |
dataViewType | LOAN_ACCOUNT_SECURITIES_OVERVIEW |
dataViewType | LINE_OF_CREDIT_OVERVIEW |
dataViewType | CURRENCIES |
dataViewType | REPAYMENT |
dataViewType | TILL_TRANSACTIONS |
dataViewType | ALL_TASKS |
dataViewType | CENTRE |
dataViewType | BRANCH |
dataViewType | INDEX_RATES_LIST |
dataViewType | USER_TASKS |
dataViewType | DOCUMENT_TEMPLATES |
dataViewType | SAVINGS_TRANSACTIONS_LOOKUP |
dataViewType | LOAN_ACCOUNT_OVERVIEW |
dataViewType | DEPOSITS_COLLECTION |
dataViewType | USER |
dataViewType | ADMIN_USERS |
dataViewType | GROUP_TASKS |
dataViewType | CLIENT |
dataViewType | LOAN_TRANSACTIONS_LOOKUP |
dataViewType | LOANS |
dataViewType | LOANS_REPAYMENTS_COLLECTION |
dataViewType | CLIENT_TASKS |
dataViewType | OVERDRAFTS_AGING_ANALYSIS |
dataViewType | LOAN_ACCOUNT_FUNDING_OVERVIEW |
dataViewType | SAVINGS |
dataViewType | SAVINGS_OVERVIEW |
dataViewType | JOURNAL_ENTRY |
dataViewType | CLIENT_NOTIFICATION_MESSAGES |
event | LOAN_CREATED |
event | SAVINGS_ACCOUNT_REJECTION |
event | SAVINGS_ACCOUNT_ACTIVATED |
event | DATA_ACCESS_STATE_CHANGED |
event | REPAYMENT_REMINDER |
event | LOAN_ANTICIPATED_DISBURSEMENT |
event | CREDIT_ARRANGEMENT_deleteD |
event | SAVINGS_APPROVAL |
event | PORTAL_ACTIVATED |
event | SAVINGS_DEPOSIT |
event | PORTAL_PASSWORD_RESET |
event | CREDIT_ARRANGEMENT_REJECTED |
event | LOAN_REPAYMENT_REVERSAL |
event | SAVINGS_ACCOUNT_CLOSURE |
event | LOAN_ACCOUNT_REJECTION |
event | LOAN_ACCOUNT_RESCHEDULED |
event | ACCOUNT_IN_ARREARS |
event | LOAN_DISBURSEMENT_REVERSAL |
event | SAVINGS_DEPOSIT_REVERSAL |
event | CLIENT_APPROVED |
event | LOAN_REPAYMENT |
event | LOAN_ACCOUNT_ACTIVITY |
event | GROUP_CREATED |
event | LOAN_DISBURSEMENT |
event | CREDIT_ARRANGEMENT_APPROVED |
event | MANUAL |
event | END_OF_DAY_PROCESSING_COMPLETED |
event | CREDIT_ARRANGEMENT_ACCOUNT_ADDED |
event | CLIENT_REJECTED |
event | CLIENT_ACTIVITY |
event | LOAN_ACCOUNT_REFINANCED |
event | SAVINGS_CREATED |
event | CLIENT_CREATED |
event | LOAN_APPROVAL |
event | GROUP_ACTIVITY |
event | LOAN_ACCOUNT_CLOSURE |
event | SAVINGS_WITHDRAWAL_REVERSAL |
event | CREDIT_ARRANGEMENT_WITHDRAWN |
event | CREDIT_ARRANGEMENT_CREATED |
event | SAVINGS_WITHDRAWAL |
event | SAVINGS_ACCOUNT_ACTIVITY |
event | LOAN_ACCOUNT_WRITE_OFF |
event | CREDIT_ARRANGEMENT_ACCOUNT_REMOVED |
event | CREDIT_ARRANGEMENT_CLOSED |
option | OPT_IN |
option | OPT_OUT |
recipientType | CREDIT_OFFICER |
recipientType | CUSTOM_FIELD |
recipientType | GROUP_ROLE |
recipientType | CLIENT |
requestType | HEAD |
requestType | delete |
requestType | post |
requestType | get |
requestType | put |
requestType | patch |
targetType | LOANS |
targetType | GROUP |
targetType | SAVINGS |
targetType | DATA_ACCESS |
targetType | BACKGROUND_PROCESS |
targetType | CLIENT |
trigger | AUTOMATIC |
trigger | MANUAL |
type | EVENT_STREAM |
type | TASK |
type | SMS |
type | EMAIL |
type | WEB_HOOK |
Get Client's Custom Views Summary
GET /clients?resultType=SUMMARY&viewfilter={viewfilter}
Get Client's Custom Views Summary
get view filters for a client with a summary
Parameters
Name | Type | Description | In |
---|---|---|---|
branchId | string | none | query |
offset | string | none | query |
limit | string | none | query |
resultType | string | none | query |
viewfilter (required) | string | none | path |
Example Responses
200 Response
{
"summary": {
"count": "string",
"totals": [
{
"customFieldValues": {
"property1": {},
"property2": {}
},
"dataItemType": "WRITTEN_OFF_LOANS",
"values": {
"property1": {},
"property2": {}
}
}
]
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | JsonCustomViewEntitiesSummaryWrapperApiV1 |
Get all Clients
GET /clients
List clients
Allows retrieving clients. When retrieving a client, all their associated information such as custom field values, addresses and identification documents may also be returned if requested. An empty list is returned if no clients are found.
Any combinations can be used but note that an AND search will be performed.
Please Note! Lookups by names are case sensitive. If an insensitive lookup is required please use the Objects Search API.
Example Requests
Search for a client using query parameters
GET /api/clients?firstName=Trevor&lastName=Linden
Parameters
Name | Type | Description | In |
---|---|---|---|
centreId | string | Looking up clients assigned to a centre using centre id/key | query |
branchId | string | Looking up clients assigned to a branch using branch id/key | query |
lastName | string | Used for looking up a client by their last name | query |
firstName | string | Used for looking up a client by their first name | query |
birthdate | string(date) | Looking up a client by their birthdate (format: YYYY-MM-DD) | query |
idDocument | string | Looking up a client by their id document number | query |
state | string | Looking up a client by their current state | query |
creditOfficerUsername | string | Looking up a client by the assigned credit officer username (required if the user making the call has the "Credit Officer" role and the option "Can access other credit officers clients" is not activated) | query |
Example Responses
200 : ok
a list of clients
[
{
"encodedKey": "8a193c26722b51b701722d77c69e2406",
"state": "INACTIVE",
"id": "80",
"creationDate": "2020-05-19T15:05:24+0000",
"lastModifiedDate": "2020-05-19T15:05:24+0000",
"firstName": "Hyiab",
"lastName": "Longoria",
"homePhone": "3788731",
"birthDate": "1972-10-07T15:05:24+0000",
"gender": "MALE",
"notes": "The neighbors mentioned that he is an <b>honest and hard working man.</b>",
"loanCycle": 0,
"groupLoanCycle": 0,
"preferredLanguage": "ENGLISH",
"clientRole": {
"encodedKey": "8a194075720ece2c017226fcf55e0068"
}
},
{
"encodedKey": "8a193c26722b51b701722d77c69e2405",
"state": "INACTIVE",
"id": "79",
"creationDate": "2020-05-19T15:05:24+0000",
"lastModifiedDate": "2020-05-19T15:05:24+0000",
"firstName": "Buthayna",
"lastName": "Simon",
"homePhone": "2379200",
"birthDate": "1990-08-17T15:05:24+0000",
"gender": "FEMALE",
"notes": "Lives with three daughters and old father. The daughters are learning how to paint so that they can sell the paintings and start helping their mother repaying the loan. ",
"loanCycle": 0,
"groupLoanCycle": 0,
"preferredLanguage": "ENGLISH",
"clientRole": {
"encodedKey": "8a194075720ece2c017226fcf55e0068"
}
},
{
"encodedKey": "8a193c26722b51b701722d77c69e2404",
"state": "INACTIVE",
"id": "78",
"creationDate": "2020-05-19T15:05:24+0000",
"lastModifiedDate": "2020-05-19T15:05:24+0000",
"firstName": "Uros",
"lastName": "Kamińska",
"homePhone": "(73) 161-529",
"birthDate": "1989-04-03T15:05:24+0000",
"gender": "FEMALE",
"notes": "Lives with three daughters and old father. The daughters are learning how to paint so that they can sell the paintings and start helping their mother repaying the loan. ",
"loanCycle": 0,
"groupLoanCycle": 0,
"preferredLanguage": "ENGLISH",
"clientRole": {
"encodedKey": "8a194075720ece2c017226fcf55e0068"
}
},
{
"encodedKey": "8a193c26722b51b701722d77c69b2403",
"state": "INACTIVE",
"id": "77",
"creationDate": "2020-05-19T15:05:24+0000",
"lastModifiedDate": "2020-05-19T15:05:24+0000",
"firstName": "اسفندیار",
"lastName": "Czarnecki",
"homePhone": "051-043-414",
"birthDate": "1984-10-27T15:05:24+0000",
"gender": "FEMALE",
"notes": "Her business is the only source of income of the household of 4.",
"loanCycle": 0,
"groupLoanCycle": 0,
"preferredLanguage": "ENGLISH",
"clientRole": {
"encodedKey": "8a194075720ece2c017226fcf55e0068"
}
},
{
"encodedKey": "8a193c26722b51b701722d77c69b2402",
"state": "INACTIVE",
"id": "76",
"creationDate": "2020-05-19T15:05:24+0000",
"lastModifiedDate": "2020-05-19T15:05:24+0000",
"firstName": "Gilda",
"lastName": "Nwankwo",
"homePhone": "(94) 524-867",
"birthDate": "1974-04-26T15:05:24+0000",
"gender": "MALE",
"notes": "Lives with three daughters and old father. The daughters are learning how to paint so that they can sell the paintings and start helping their mother repaying the loan. ",
"loanCycle": 0,
"groupLoanCycle": 0,
"preferredLanguage": "ENGLISH",
"clientRole": {
"encodedKey": "8a194075720ece2c017226fcf55e0068"
}
},
{
"encodedKey": "8a193c26722b51b701722d77c69b2401",
"state": "INACTIVE",
"id": "75",
"creationDate": "2020-05-19T15:05:24+0000",
"lastModifiedDate": "2020-05-19T15:05:24+0000",
"firstName": "Marcelina",
"lastName": "Sawicka",
"homePhone": "041-831-623",
"birthDate": "1970-02-02T15:05:24+0000",
"gender": "FEMALE",
"notes": "Her business is the only source of income of the household of 4.",
"loanCycle": 0,
"groupLoanCycle": 0,
"preferredLanguage": "ENGLISH",
"clientRole": {
"encodedKey": "8a194075720ece2c017226fcf55e0068"
}
},
{
"encodedKey": "8a193c26722b51b701722d77c69b2400",
"state": "INACTIVE",
"id": "74",
"creationDate": "2020-05-19T15:05:24+0000",
"lastModifiedDate": "2020-05-19T15:05:24+0000",
"firstName": "Šimica",
"lastName": "Tomaszewska",
"homePhone": "2102191",
"birthDate": "1963-05-21T15:05:24+0000",
"gender": "FEMALE",
"notes": "The neighbors mentioned that he is an <b>honest and hard working man.</b>",
"loanCycle": 0,
"groupLoanCycle": 0,
"preferredLanguage": "ENGLISH",
"clientRole": {
"encodedKey": "8a194075720ece2c017226fcf55e0068"
}
},
{
"encodedKey": "8a193c26722b51b701722d77c69b23ff",
"state": "INACTIVE",
"id": "73",
"creationDate": "2020-05-19T15:05:24+0000",
"lastModifiedDate": "2020-05-19T15:05:24+0000",
"firstName": "Carina",
"lastName": "Jaworski",
"homePhone": "(20) 318-317",
"birthDate": "1976-04-20T15:05:24+0000",
"gender": "MALE",
"notes": "Her business is the only source of income of the household of 4.",
"loanCycle": 0,
"groupLoanCycle": 0,
"preferredLanguage": "ENGLISH",
"clientRole": {
"encodedKey": "8a194075720ece2c017226fcf55e0068"
}
},
{
"encodedKey": "8a193c26722b51b701722d77c69723fe",
"state": "INACTIVE",
"id": "72",
"creationDate": "2020-05-19T15:05:24+0000",
"lastModifiedDate": "2020-05-19T15:05:24+0000",
"firstName": "Sobiesław",
"lastName": "Medhane",
"homePhone": "2352426",
"birthDate": "1961-01-26T15:05:24+0000",
"gender": "FEMALE",
"notes": "Lives with three daughters and old father. The daughters are learning how to paint so that they can sell the paintings and start helping their mother repaying the loan. ",
"loanCycle": 0,
"groupLoanCycle": 0,
"preferredLanguage": "ENGLISH",
"clientRole": {
"encodedKey": "8a194075720ece2c017226fcf55e0068"
}
},
{
"encodedKey": "8a193c26722b51b701722d77c69723fd",
"state": "INACTIVE",
"id": "71",
"creationDate": "2020-05-19T15:05:24+0000",
"lastModifiedDate": "2020-05-19T15:05:24+0000",
"firstName": "Mara",
"lastName": "Duvnjak",
"homePhone": "051-625-096",
"birthDate": "1974-01-01T15:05:24+0000",
"gender": "FEMALE",
"notes": "Generally a very honest, open individual who exudes warmth and trust.",
"loanCycle": 0,
"groupLoanCycle": 0,
"preferredLanguage": "ENGLISH",
"clientRole": {
"encodedKey": "8a194075720ece2c017226fcf55e0068"
}
},
{
"encodedKey": "8a193c26722b51b701722d77c69723fc",
"state": "INACTIVE",
"id": "70",
"creationDate": "2020-05-19T15:05:24+0000",
"lastModifiedDate": "2020-05-19T15:05:24+0000",
"firstName": "Mãnh",
"lastName": "Baba",
"homePhone": "5438282",
"birthDate": "1976-08-18T15:05:24+0000",
"gender": "FEMALE",
"notes": "The neighbors mentioned that he is an <b>honest and hard working man.</b>",
"loanCycle": 0,
"groupLoanCycle": 0,
"preferredLanguage": "ENGLISH",
"clientRole": {
"encodedKey": "8a194075720ece2c017226fcf55e0068"
}
},
{
"encodedKey": "8a193c26722b51b701722d77c69723fb",
"state": "INACTIVE",
"id": "69",
"creationDate": "2020-05-19T15:05:24+0000",
"lastModifiedDate": "2020-05-19T15:05:24+0000",
"firstName": "Asztrik",
"lastName": "Kasza",
"homePhone": "2179544",
"birthDate": "1965-06-10T15:05:24+0000",
"gender": "MALE",
"notes": "Lives with three daughters and old father. The daughters are learning how to paint so that they can sell the paintings and start helping their mother repaying the loan. ",
"loanCycle": 0,
"groupLoanCycle": 0,
"preferredLanguage": "ENGLISH",
"clientRole": {
"encodedKey": "8a194075720ece2c017226fcf55e0068"
}
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [ClientApiV1] | none | none |
» activationDate | string | the date when the client was set to active, ie. an active account was created for them | none |
» approvedDate | string | the date when the client was approved | none |
» assignedBranchKey | string | the encoded key of the client's branch | none |
» assignedCentreKey | string | the encoded key of the client's assigned centre | none |
» assignedUserKey | string | the encoded key of the Mambu user associated with this client, eg. their credit officer | none |
» birthDate | string | the date of birth of this client | none |
» clientRole | ClientRoleBasicApiV1 | the type of client or group as defined in Mambu in Administration > General Settings > Client Types | none |
»» encodedKey | string | the automatically generated encoded ID for this client or group type | none |
» closedDate | string | the date when the client was exited or blacklisted | none |
» creationDate | string | the date on which this client record was created | none |
» emailAddress | string | the email address of the client | none |
» encodedKey | string | the automatically generated encoded ID for this item | none |
» firstName | string | the first name of the client | none |
» gender | string | the client's gender | none |
» groupLoanCycle | number | if this client is a member of a group, this number will increase by 1 each time they successfully close a loan as fully paid | none |
» homePhone | string | a home contact number for this client | none |
» id | string | the ID for this client | none |
» idPattern | string | the pattern that is used to generate the client ID | none |
» lastModifiedDate | string | the date on which this client record was last modified | none |
» lastName | string | the last name of this client | none |
» loanCycle | number | the number of loans this client has opened and closed as fully paid as an individual | none |
» middleName | string | any middle names for this client | none |
» migrationEvent | DataMigrationEventApiV1 | details about an import or export operation | none |
»» creationDate | string(date-time) | the date on which the data import was made | none |
»» encodedKey | string | the encoded key of this data migration event | none |
»» numCentresImported | number | the number of centres which were imported during the data migration | none |
»» numClientsImported | number | the number of clients which were imported as part of the data migration | none |
»» numGLAccountsImported | number | the number of general ledger accounts which were imported as part of the data migration | none |
»» numGroupsImported | number | the number of groups which were imported as part of the data migration | none |
»» numLoanRepaymentsImported | number | the number of loan repayment transations which were imported as part of the data migration | none |
»» numLoanTransactionsImported | number | the number of loan transactions which were imported as part of the data migration | none |
»» numLoansImported | number | the number of loan accounts which were imported as part of the data migration | none |
»» numSavingsImported | number | the number of savings accounts which were imported as part of the data migration | none |
»» state | string | whether the data import was accepted, is still in a draft state, or was rejected and all data reverted | none |
»» type | string | the type of migration event | none |
» mobilePhone1 | string | a mobile contact number for this client | none |
» mobilePhone2 | string | another mobile contact number for this client | none |
» notes | string | any rich text notes about this client | none |
» portalPreferences | PortalPreferencesApiV1 | none | none |
»» encodedKey | string | the automatically generated encoded ID for this item | none |
»» lastLoggedInDate | string | none | none |
»» password | string | none | none |
»» portalState | string | none | none |
» preferredLanguage | string | the language which should be used when communicating with this client | none |
» profilePictureKey | string | the encoded key of this user's proficle picture | none |
» profileSignatureKey | string | the encoded key of the digital copy of this client's signature | none |
» state | string | the current state of this client | none |
Enumerated Values
Property | Value |
---|---|
gender | MALE |
gender | FEMALE |
state | REVERTED |
state | DRAFT |
state | APPROVED |
type | IMPORT |
type | EXPORT |
portalState | DISABLED |
portalState | ENABLED |
preferredLanguage | PORTUGESE |
preferredLanguage | RUSSIAN |
preferredLanguage | ROMANIAN |
preferredLanguage | ENGLISH |
preferredLanguage | SPANISH |
preferredLanguage | GEORGIAN |
preferredLanguage | BURMESE |
preferredLanguage | PHRASE |
preferredLanguage | CHINESE |
preferredLanguage | FRENCH |
preferredLanguage | INDONESIAN |
state | PENDING_APPROVAL |
state | ACTIVE |
state | INACTIVE |
state | EXITED |
state | BLACKLISTED |
state | REJECTED |
Create or Update Client
POST /clients
Create or update a client
Mambu allows for creation and updating of client information. This includes client's personal and contact information, custom fields, identification documents and the address. The client is returned as a response.
You can provide some basic information as a request with query parameters and no body, however, if you need to create a client with more complex information, such as custom fields, we recommend posting with a JSON body.
- If the "idDocuments":[],"addresses":[], or "customInformation":[] arrays are not provided, only the client information will be updated/stored
- For JSON update, the developer must specify the client ID in the path ({/api/clients/{id}} and also provide the encodedKey in the JSON body
{
client: {
encodedKey:"someKey"
}
}
If the encoded key/identifier is invalid, an exception code will be returned
In order to remove all custom fields, identification documents or addresses, you can send an empty array:
{
"client": {
"encodedKey":"abc",
//other client information
},
"idDocuments":[],
"addresses":[],
"customInformation":[]
}
- If you are updating only one entry in an array (ID document, Custom Information, Addresses) you must also provide the information for the other members of the array otherwise these will be deleted
- For example :if there are 3 custom fields in database and only one provided in the "customInformation" array for update, the other 2 from the database will get deleted and only the one from the POST request will get stored/updated
- For custom fields - the matching to determine the difference between an updated and a new field is done using customFieldID
- For custom fields - if the custom field ID is invalid or the value is invalid an exception code will be returned
- For custom fields - Date custom fields are currently date only, not date-time. Please follow CIF-22 for updates on the development of this functionality.
- See Custom Fields API for more information about custom fields and custom fields sets
- For identification documents and addresses the encoded key is used for matching
- Only one address can be stored/updated in database, if the addresses array contains more than one address, only the first address will get stored/updated
- Notifications should be sent when a client is created via APIs (If there are templates added for client creation and the client has email address / mobile phone number)
Example Requests
Create a client with minimal data using query parameters
POST /api/clients?firstName=Trevor&lastName=Linden&emailAddress=trevor.linden%40mambu.com
Create a client with minimal data using JSON
{
"client":{
"firstName":"Trevor",
"lastName":"Linden",
"middleName":"Good",
"homePhone":"7899221665",
"emailAddress":"trevor.linden@mambu.com",
"mobilePhone1":"211111111",
"mobilePhone2":"122222222",
"gender":"MALE",
"clientRole": {"encodedKey":"d9df8bc78a0234ccc934a845c"}
}
}
Create a new client with ID documents, an address, and custom field values
{
"client": {
"firstName": "Max",
"lastName": "Alexander",
"middleName": "Frank",
"homePhone": "56611235498",
"emailAddress": "max.alexander@mambu.com",
"mobilePhone1": "211111111",
"gender": "MALE"
},
"idDocuments": [
{
"documentType": "CI",
"documentId": "23453",
"issuingAuthority": "Police",
"validUntil": "2014-09-30T00:00:00+0000",
"identificationDocumentTemplateKey": "9b0a97094b4cd73f014b5f5ef0e811d2"
},
{
"documentType": "Passport",
"documentId": "sss332",
"issuingAuthority": "Passport Agency",
"validUntil": "2014-09-30T00:00:00+0000",
"identificationDocumentTemplateKey": "2a0a00a24b4ce72a025c4afefce821e9"
}
],
"addresses": [
{
"line1": "8 Howling Lane",
"line2": "Hackney",
"city": "London",
"region": "London",
"postcode": "EC1 FB12",
"country": "United Kingdom"
}
],
"customInformation": [
{
"value": "1",
"customFieldID": "Family_Members"
},
{
"value": "TRUE",
"customFieldID": "Has_children"
},
{
"value": "Some Studies",
"customFieldID": "Studies"
}
]
}
Parameters
Name | Type | Description | In |
---|---|---|---|
firstName (required) | string | Client's first name. | query |
lastName (required) | string | Client's last name. | query |
birthDate | string | The date of birth of the client in the format YYYY-MM-DD. | query |
gender | string | The gender of the client, either MALE or FEMALE . | query |
homephone | string | A home contact number for this client. | query |
mobilephone | string | A mobile contact number for this client. | query |
string | The email address for this client. | query | |
notes | string | Any additional rich text html notes about the clients * | query |
clientRole | string | If you have set up client roles, you can provide a role using this field. | query |
assignedUserKey | string | The encoded key of a Mmabu user assigned to this client, for example a credit officer. | query |
body | CreateOrUpdateClientRequest | none | body |
Detailed descriptions
notes: Any additional rich text html notes about the clients *
Example Responses
200 Response
{
"addresses": [
{
"addressType": "string",
"city": "string",
"country": "string",
"encodedKey": "string",
"indexInList": 0,
"latitude": 0,
"line1": "string",
"line2": "string",
"longitude": 0,
"parentKey": "string",
"postcode": "string",
"region": "string",
"toBeDeleted": true
}
],
"client": {
"activationDate": "string",
"approvedDate": "string",
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"birthDate": "string",
"clientRole": {
"encodedKey": "string"
},
"closedDate": "string",
"creationDate": "string",
"emailAddress": "string",
"encodedKey": "string",
"firstName": "string",
"gender": "MALE",
"groupLoanCycle": 0,
"homePhone": "string",
"id": "string",
"idPattern": "string",
"lastModifiedDate": "string",
"lastName": "string",
"loanCycle": 0,
"middleName": "string",
"migrationEvent": {
"creationDate": "2019-08-24T14:15:22Z",
"encodedKey": "string",
"numCentresImported": 0,
"numClientsImported": 0,
"numGLAccountsImported": 0,
"numGroupsImported": 0,
"numLoanRepaymentsImported": 0,
"numLoanTransactionsImported": 0,
"numLoansImported": 0,
"numSavingsImported": 0,
"state": "REVERTED",
"type": "IMPORT"
},
"mobilePhone1": "string",
"mobilePhone2": "string",
"notes": "string",
"portalPreferences": {
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"lastLoggedInDate": "string",
"password": "string",
"portalState": "DISABLED"
},
"preferredLanguage": "PORTUGESE",
"profilePictureKey": "string",
"profileSignatureKey": "string",
"state": "PENDING_APPROVAL"
},
"customInformation": [
{
"amount": 0,
"customField": {
"amounts": {
"property1": 0,
"property2": 0
},
"builtInCustomFieldId": "MOBILE_PHONE",
"creationDate": "string",
"customFieldProductSettings": [
{
"customFieldEncodedKey": "string",
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"isDefault": true,
"isRequired": true,
"linkType": "CLIENT_ROLE",
"productKey": "string"
}
],
"customFieldSelectionOptions": [
{
"constraint": {
"customFieldKey": "string",
"dataFieldType": "NATIVE",
"dataFieldValue": "string",
"dataItemType": "WRITTEN_OFF_LOANS",
"dataType": "ENUM",
"encodedKey": "string",
"filterElement": "STARTS_WITH_CASE_SENSITIVE",
"groupNumber": 0,
"index": 0,
"linkingOperator": "OR",
"secondValue": "string",
"value": "string"
},
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"id": "string",
"score": 0,
"value": "string"
}
],
"customFieldSet": {
"builtInType": "DETAILS",
"createdDate": "string",
"customFields": [
{}
],
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"id": "string",
"indexInList": 0,
"lastModifiedDate": "string",
"name": "string",
"notes": "string",
"type": "USER_INFO",
"usage": "SINGLE"
},
"dataType": "GROUP_LINK",
"description": "string",
"editRights": {
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"isAccessibleByAllUsers": true,
"roles": [
"string"
]
},
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"id": "string",
"indexInList": 0,
"isDefault": true,
"isRequired": true,
"lastModifiedDate": "string",
"name": "string",
"state": "DEACTIVATED",
"type": "USER_INFO",
"unique": true,
"validationPattern": "string",
"valueLength": "SHORT",
"values": [
"string"
],
"viewRights": {
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"isAccessibleByAllUsers": true,
"roles": [
"string"
]
}
},
"customFieldID": "string",
"customFieldKey": "string",
"customFieldSetGroupIndex": 0,
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"indexInList": 0,
"linkedEntityKeyValue": "string",
"parentKey": "string",
"selectionKey": "string",
"value": "string"
}
],
"groupKeys": [
"string"
],
"idDocuments": [
{
"clientKey": "string",
"documentId": "string",
"documentType": "string",
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"identificationDocumentTemplateKey": "string",
"indexInList": 0,
"issuingAuthority": "string",
"toBeDeleted": true,
"validUntil": "string",
"validUntilDTOdate": {
"dayOfMonth": 0,
"monthOfYear": 0,
"year": 0
}
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | CreateOrUpdateClientResponse |
Get Lines of Credit for Client
GET /clients/{clientId}/linesofcredit
Get lines of credit for a Client
Retrieve the associated lines of credit for a client.
Parameters
Name | Type | Description | In |
---|---|---|---|
clientId (required) | string | none | path |
fullDetails | boolean | Get full object including all nested fields | query |
Example Responses
200 : ok
Lines of Credit with basic details
[
{
"encodedKey": "8a19b6e4746cc6ed01746cf1436c00c3",
"id": "JRW117",
"clientKey": "8a193c26722b51b701722d77c5e423b7",
"startDate": "2020-09-01T00:00:00+0000",
"expireDate": "2020-12-31T00:00:00+0000",
"creationDate": "2020-09-08T08:59:45+0000",
"approvedDate": "2020-09-08T10:59:45+0000",
"lastModifiedDate": "2020-09-08T08:59:45+0000",
"state": "APPROVED",
"amount": "100",
"exposureLimitType": "APPROVED_AMOUNT",
"notes": "adf",
"availableCreditAmount": "100"
},
{
"encodedKey": "8a19c162746ce3b201746cf0ce24007a",
"id": "FEP015",
"clientKey": "8a193c26722b51b701722d77c5e423b7",
"startDate": "2020-09-01T00:00:00+0000",
"expireDate": "2020-12-31T00:00:00+0000",
"creationDate": "2020-09-08T09:00:48+0000",
"approvedDate": "2020-09-08T11:00:48+0000",
"lastModifiedDate": "2020-09-08T09:00:48+0000",
"state": "APPROVED",
"amount": "10000",
"exposureLimitType": "OUTSTANDING_AMOUNT",
"notes": "some fascinating line of credit notes",
"availableCreditAmount": "10000"
},
{
"encodedKey": "8a19c162746ce3b201746cf0ce24007c",
"id": "FEP007",
"clientKey": "8a193c26722b51b701722d77c5e423b7",
"startDate": "2020-09-01T00:00:00+0000",
"expireDate": "2021-12-31T00:00:00+0000",
"creationDate": "2020-09-08T09:01:46+0000",
"approvedDate": "2020-09-08T11:01:46+0000",
"lastModifiedDate": "2020-09-08T09:19:41+0000",
"state": "APPROVED",
"amount": "10000",
"exposureLimitType": "OUTSTANDING_AMOUNT",
"notes": "some fascinating line of credit notes",
"availableCreditAmount": "10000"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | LineOfCreditFullApiV1 |
Search for Clients
POST /clients/search
Search for Clients
search for clients based on some criteria
Example Requests
Get all clients identifying as male and sort by birthdate
{
"filterConstraints":[
{
"filterSelection":"GENDER",
"filterElement":"EQUALS",
"value":"MALE"
}
],
"sortDetails": {
"sortingColumn": "BIRTHDATE",
"sortingOrder": "DESC"
}
}
Get all clients added this month
{
"filterConstraints":[
{
"filterSelection":"CREATION_DATE",
"filterElement":"THIS_MONTH"
}
]
}
Get all clients with a birth date between a given range
{
"filterConstraints": [
{
"filterSelection": "BIRTHDATE",
"filterElement": "BETWEEN",
"value": "1957-01-01",
"secondValue": "1965-06-20"
}
]
}
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer | none | query |
limit | integer | none | query |
fullDetails | boolean | none | query |
body | FilterApiV1 | none | body |
Example Responses
200 Response
[
{
"activationDate": "string",
"approvedDate": "string",
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"birthDate": "string",
"clientRole": {
"encodedKey": "string"
},
"closedDate": "string",
"creationDate": "string",
"emailAddress": "string",
"encodedKey": "string",
"firstName": "string",
"gender": "MALE",
"groupLoanCycle": 0,
"homePhone": "string",
"id": "string",
"idPattern": "string",
"lastModifiedDate": "string",
"lastName": "string",
"loanCycle": 0,
"middleName": "string",
"migrationEvent": {
"creationDate": "2019-08-24T14:15:22Z",
"encodedKey": "string",
"numCentresImported": 0,
"numClientsImported": 0,
"numGLAccountsImported": 0,
"numGroupsImported": 0,
"numLoanRepaymentsImported": 0,
"numLoanTransactionsImported": 0,
"numLoansImported": 0,
"numSavingsImported": 0,
"state": "REVERTED",
"type": "IMPORT"
},
"mobilePhone1": "string",
"mobilePhone2": "string",
"notes": "string",
"portalPreferences": {
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"lastLoggedInDate": "string",
"password": "string",
"portalState": "DISABLED"
},
"preferredLanguage": "PORTUGESE",
"profilePictureKey": "string",
"profileSignatureKey": "string",
"state": "PENDING_APPROVAL"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [ClientApiV1] | none | none |
» activationDate | string | the date when the client was set to active, ie. an active account was created for them | none |
» approvedDate | string | the date when the client was approved | none |
» assignedBranchKey | string | the encoded key of the client's branch | none |
» assignedCentreKey | string | the encoded key of the client's assigned centre | none |
» assignedUserKey | string | the encoded key of the Mambu user associated with this client, eg. their credit officer | none |
» birthDate | string | the date of birth of this client | none |
» clientRole | ClientRoleBasicApiV1 | the type of client or group as defined in Mambu in Administration > General Settings > Client Types | none |
»» encodedKey | string | the automatically generated encoded ID for this client or group type | none |
» closedDate | string | the date when the client was exited or blacklisted | none |
» creationDate | string | the date on which this client record was created | none |
» emailAddress | string | the email address of the client | none |
» encodedKey | string | the automatically generated encoded ID for this item | none |
» firstName | string | the first name of the client | none |
» gender | string | the client's gender | none |
» groupLoanCycle | number | if this client is a member of a group, this number will increase by 1 each time they successfully close a loan as fully paid | none |
» homePhone | string | a home contact number for this client | none |
» id | string | the ID for this client | none |
» idPattern | string | the pattern that is used to generate the client ID | none |
» lastModifiedDate | string | the date on which this client record was last modified | none |
» lastName | string | the last name of this client | none |
» loanCycle | number | the number of loans this client has opened and closed as fully paid as an individual | none |
» middleName | string | any middle names for this client | none |
» migrationEvent | DataMigrationEventApiV1 | details about an import or export operation | none |
»» creationDate | string(date-time) | the date on which the data import was made | none |
»» encodedKey | string | the encoded key of this data migration event | none |
»» numCentresImported | number | the number of centres which were imported during the data migration | none |
»» numClientsImported | number | the number of clients which were imported as part of the data migration | none |
»» numGLAccountsImported | number | the number of general ledger accounts which were imported as part of the data migration | none |
»» numGroupsImported | number | the number of groups which were imported as part of the data migration | none |
»» numLoanRepaymentsImported | number | the number of loan repayment transations which were imported as part of the data migration | none |
»» numLoanTransactionsImported | number | the number of loan transactions which were imported as part of the data migration | none |
»» numLoansImported | number | the number of loan accounts which were imported as part of the data migration | none |
»» numSavingsImported | number | the number of savings accounts which were imported as part of the data migration | none |
»» state | string | whether the data import was accepted, is still in a draft state, or was rejected and all data reverted | none |
»» type | string | the type of migration event | none |
» mobilePhone1 | string | a mobile contact number for this client | none |
» mobilePhone2 | string | another mobile contact number for this client | none |
» notes | string | any rich text notes about this client | none |
» portalPreferences | PortalPreferencesApiV1 | none | none |
»» encodedKey | string | the automatically generated encoded ID for this item | none |
»» lastLoggedInDate | string | none | none |
»» password | string | none | none |
»» portalState | string | none | none |
» preferredLanguage | string | the language which should be used when communicating with this client | none |
» profilePictureKey | string | the encoded key of this user's proficle picture | none |
» profileSignatureKey | string | the encoded key of the digital copy of this client's signature | none |
» state | string | the current state of this client | none |
Enumerated Values
Property | Value |
---|---|
gender | MALE |
gender | FEMALE |
state | REVERTED |
state | DRAFT |
state | APPROVED |
type | IMPORT |
type | EXPORT |
portalState | DISABLED |
portalState | ENABLED |
preferredLanguage | PORTUGESE |
preferredLanguage | RUSSIAN |
preferredLanguage | ROMANIAN |
preferredLanguage | ENGLISH |
preferredLanguage | SPANISH |
preferredLanguage | GEORGIAN |
preferredLanguage | BURMESE |
preferredLanguage | PHRASE |
preferredLanguage | CHINESE |
preferredLanguage | FRENCH |
preferredLanguage | INDONESIAN |
state | PENDING_APPROVAL |
state | ACTIVE |
state | INACTIVE |
state | EXITED |
state | BLACKLISTED |
state | REJECTED |
Get Client by ID
GET /clients/{clientId}
Get Client by ID
get a client by ID or encoded key
Parameters
Name | Type | Description | In |
---|---|---|---|
fullDetails | boolean | Whether to also include custom field values | query |
clientId (required) | string | The ID or encoded key of a client | path |
Example Responses
200 : ok
A client record with basic details
{
"encodedKey": "8a193c26722b51b701722d77c5e423b7",
"state": "ACTIVE",
"id": "1",
"creationDate": "2020-05-19T15:05:24+0000",
"lastModifiedDate": "2021-08-02T14:22:42+0000",
"activationDate": "2020-09-16T11:11:59+0000",
"firstName": "Odon",
"lastName": "Lukić",
"profilePictureKey": "8a19a3337476f2d001747748c6250186",
"profileSignatureKey": "8a19c19c74783436017478ad13000166",
"homePhone": "4192425",
"emailAddress": "odon@odonmail.com",
"birthDate": "1989-04-29T00:00:00+0000",
"gender": "FEMALE",
"loanCycle": 0,
"groupLoanCycle": 0,
"preferredLanguage": "ENGLISH",
"clientRole": {
"encodedKey": "8a194075720ece2c017226fcf55e0068"
}
}
200 : ok
A client record with full details
{
"client": {
"encodedKey": "8a193c26722b51b701722d77c5e423b7",
"state": "ACTIVE",
"id": "1",
"creationDate": "2020-05-19T15:05:24+0000",
"lastModifiedDate": "2021-08-02T14:22:42+0000",
"activationDate": "2020-09-16T11:11:59+0000",
"firstName": "Odon",
"lastName": "Lukić",
"profilePictureKey": "8a19a3337476f2d001747748c6250186",
"profileSignatureKey": "8a19c19c74783436017478ad13000166",
"homePhone": "4192425",
"emailAddress": "odon@odonmail.com",
"birthDate": "1989-04-29T00:00:00+0000",
"gender": "FEMALE",
"notes": "Ideas as how to improve his business seem solid. They include selling more plumbuses ....",
"loanCycle": 0,
"groupLoanCycle": 0,
"preferredLanguage": "ENGLISH",
"clientRole": {
"encodedKey": "8a194075720ece2c017226fcf55e0068"
}
},
"addresses": [
{
"encodedKey": "8a193c26722b51b701722d77c6ae241b",
"parentKey": "8a193c26722b51b701722d77c5e423b7",
"line1": "Ηλίου 161",
"line2": "line 2 baby",
"city": "ΛΑΡΝΑΚΑ",
"region": "",
"postcode": "6037",
"country": "",
"indexInList": 0
}
],
"customInformation": [
{
"encodedKey": "8a19b40b7a041e14017a0ec27a505c58",
"parentKey": "8a193c26722b51b701722d77c5e423b7",
"customFieldKey": "8a19b40b7a041e14017a0e96047d5995",
"customField": {
"encodedKey": "8a19b40b7a041e14017a0e96047d5995",
"id": "delete_me",
"creationDate": "2021-06-15T08:21:04+0000",
"lastModifiedDate": "2021-06-15T08:21:04+0000",
"name": "delete me",
"type": "CLIENT_INFO",
"dataType": "SELECTION",
"valueLength": "SHORT",
"isDefault": false,
"isRequired": false,
"description": "",
"customFieldSet": {
"encodedKey": "8a193c26722b51b701722d77ccaf2635",
"id": "_Others_Clients",
"name": "Others",
"createdDate": "2020-05-19T15:05:25+0000",
"lastModifiedDate": "2020-10-23T09:52:21+0000",
"indexInList": 5,
"type": "CLIENT_INFO",
"usage": "SINGLE"
},
"indexInList": 4,
"state": "NORMAL",
"customFieldSelectionOptions": [
{
"encodedKey": "8a19b40b7a041e14017a0ec27a505c56",
"id": "459047776",
"value": "labe",
"score": "69"
},
{
"encodedKey": "8a19b40b7a041e14017a0ec27a505c57",
"id": "380298933",
"value": "label 2",
"score": "420"
}
],
"viewRights": {
"encodedKey": "8a19b40b7a041e14017a0e96047d5996",
"isAccessibleByAllUsers": true,
"roles": []
},
"editRights": {
"encodedKey": "8a19b40b7a041e14017a0e96047d5997",
"isAccessibleByAllUsers": true,
"roles": []
},
"unique": false,
"values": [
"labe",
"label 2"
],
"amounts": {
"labe": "69",
"label 2": "420"
}
},
"value": "label 2",
"amount": "420",
"indexInList": -1,
"customFieldID": "delete_me",
"customFieldSetGroupIndex": -1
},
{
"encodedKey": "8a19b40b7a041e14017a0ed02b3b5cd9",
"parentKey": "8a193c26722b51b701722d77c5e423b7",
"customFieldKey": "8a19b40b7a041e14017a0ed02b375cd2",
"customField": {
"encodedKey": "8a19b40b7a041e14017a0ed02b375cd2",
"id": "score_2",
"creationDate": "2021-06-15T08:36:01+0000",
"lastModifiedDate": "2021-06-15T08:36:01+0000",
"name": "another score",
"type": "CLIENT_INFO",
"dataType": "SELECTION",
"valueLength": "SHORT",
"isDefault": false,
"isRequired": false,
"description": "",
"customFieldSet": {
"encodedKey": "8a193c26722b51b701722d77c55123b1",
"id": "_Custom_Fields_Clients",
"name": "Custom Fields",
"createdDate": "2020-05-19T15:05:24+0000",
"lastModifiedDate": "2020-10-23T09:52:21+0000",
"indexInList": 3,
"type": "CLIENT_INFO",
"usage": "SINGLE"
},
"indexInList": 1,
"state": "NORMAL",
"customFieldSelectionOptions": [
{
"encodedKey": "8a19b40b7a041e14017a0ed02b3a5cd7",
"id": "2032458765",
"value": "adfsgd",
"score": "12"
},
{
"encodedKey": "8a19b40b7a041e14017a0ed02b3a5cd8",
"id": "1288411378",
"value": "wefqas",
"score": "34"
}
],
"viewRights": {
"encodedKey": "8a19b40b7a041e14017a0ed02b375cd3",
"isAccessibleByAllUsers": true,
"roles": []
},
"editRights": {
"encodedKey": "8a19b40b7a041e14017a0ed02b375cd4",
"isAccessibleByAllUsers": true,
"roles": []
},
"unique": false,
"values": [
"adfsgd",
"wefqas"
],
"amounts": {
"adfsgd": "12",
"wefqas": "34"
}
},
"value": "wefqas",
"amount": "34",
"indexInList": -1,
"customFieldID": "score_2",
"customFieldSetGroupIndex": -1
},
{
"encodedKey": "8a193c26722b51b701722d77c6ca247f",
"parentKey": "8a193c26722b51b701722d77c5e423b7",
"customFieldKey": "8a193c26722b51b701722d77c55123b2",
"customField": {
"encodedKey": "8a193c26722b51b701722d77c55123b2",
"id": "Position_Clients",
"creationDate": "2020-09-24T08:34:00+0000",
"lastModifiedDate": "2021-04-29T11:47:55+0000",
"name": "Position",
"type": "CLIENT_INFO",
"dataType": "STRING",
"valueLength": "SHORT",
"isDefault": false,
"isRequired": false,
"customFieldSet": {
"encodedKey": "8a193c26722b51b701722d77c55123b1",
"id": "_Custom_Fields_Clients",
"name": "Custom Fields",
"createdDate": "2020-05-19T15:05:24+0000",
"lastModifiedDate": "2020-10-23T09:52:21+0000",
"indexInList": 3,
"type": "CLIENT_INFO",
"usage": "SINGLE"
},
"indexInList": 0,
"state": "NORMAL",
"customFieldSelectionOptions": [],
"viewRights": {
"encodedKey": "8a193c26722b51b701722d77c55123b3",
"isAccessibleByAllUsers": true,
"roles": []
},
"editRights": {
"encodedKey": "8a193c26722b51b701722d77c5e423b4",
"isAccessibleByAllUsers": true,
"roles": []
},
"unique": false,
"values": [],
"amounts": {}
},
"value": "Extruding and forming machine operator",
"indexInList": 0,
"customFieldID": "Position_Clients",
"customFieldSetGroupIndex": -1
},
{
"encodedKey": "8a19d88a74d89f320174d9851c9a72fd",
"parentKey": "8a193c26722b51b701722d77c5e423b7",
"customFieldKey": "8a19d88a74d89f320174d9793aac7252",
"customField": {
"encodedKey": "8a19d88a74d89f320174d9793aac7252",
"id": "vrfy_lnk",
"creationDate": "2020-09-29T10:49:03+0000",
"lastModifiedDate": "2021-02-10T13:28:50+0000",
"name": "email verify link",
"type": "CLIENT_INFO",
"dataType": "STRING",
"valueLength": "SHORT",
"isDefault": false,
"isRequired": false,
"description": "link to account verification",
"customFieldSet": {
"encodedKey": "8a193c26722b51b701722d77ccaf2635",
"id": "_Others_Clients",
"name": "Others",
"createdDate": "2020-05-19T15:05:25+0000",
"lastModifiedDate": "2020-10-23T09:52:21+0000",
"indexInList": 5,
"type": "CLIENT_INFO",
"usage": "SINGLE"
},
"indexInList": 2,
"state": "DEACTIVATED",
"customFieldSelectionOptions": [],
"viewRights": {
"encodedKey": "8a19d88a74d89f320174d9793aac7253",
"isAccessibleByAllUsers": false,
"roles": []
},
"editRights": {
"encodedKey": "8a19d88a74d89f320174d9793aac7254",
"isAccessibleByAllUsers": false,
"roles": []
},
"unique": false,
"values": [],
"amounts": {}
},
"value": "http://gohere.com?param=param&from=cf",
"indexInList": 1,
"customFieldID": "vrfy_lnk",
"customFieldSetGroupIndex": -1
},
{
"encodedKey": "8a19d88a74d89f320174d9851c9a72ff",
"parentKey": "8a193c26722b51b701722d77c5e423b7",
"customFieldKey": "8a19d88a74d89f320174d97ae1837276",
"customField": {
"encodedKey": "8a19d88a74d89f320174d97ae1837276",
"id": "vrfy_param",
"creationDate": "2020-09-29T11:00:14+0000",
"lastModifiedDate": "2021-02-10T13:28:50+0000",
"name": "verify param",
"type": "CLIENT_INFO",
"dataType": "STRING",
"valueLength": "SHORT",
"isDefault": false,
"isRequired": false,
"description": "a param",
"customFieldSet": {
"encodedKey": "8a193c26722b51b701722d77ccaf2635",
"id": "_Others_Clients",
"name": "Others",
"createdDate": "2020-05-19T15:05:25+0000",
"lastModifiedDate": "2020-10-23T09:52:21+0000",
"indexInList": 5,
"type": "CLIENT_INFO",
"usage": "SINGLE"
},
"indexInList": 3,
"state": "DEACTIVATED",
"customFieldSelectionOptions": [],
"viewRights": {
"encodedKey": "8a19d88a74d89f320174d97ae1837277",
"isAccessibleByAllUsers": false,
"roles": []
},
"editRights": {
"encodedKey": "8a19d88a74d89f320174d97ae1837278",
"isAccessibleByAllUsers": false,
"roles": []
},
"unique": false,
"values": [],
"amounts": {}
},
"value": "123abc",
"indexInList": 2,
"customFieldID": "vrfy_param",
"customFieldSetGroupIndex": -1
}
],
"idDocuments": [
{
"encodedKey": "8a19a68f7b05dc0d017b073218294d01",
"clientKey": "8a193c26722b51b701722d77c5e423b7",
"documentType": "pass",
"documentId": "1234",
"issuingAuthority": "jiij",
"validUntil": "2021-09-30T00:00:00+0000",
"indexInList": 0
}
],
"notificationTemplates": [
{
"encodedKey": "8a19decb737abb3201737b0b7ac3495a",
"creationDate": "2020-07-23T09:41:30+0000",
"lastModifiedDate": "2020-07-23T09:41:30+0000",
"name": "pw reset portal",
"template": "here's da link {PASSWORD_URL}",
"type": "EMAIL",
"targetType": "CLIENT",
"option": "OPT_OUT",
"event": "PORTAL_PASSWORD_RESET",
"subject": "pw reset for portal",
"authorization": "NO_AUTHORIZATION",
"activated": true,
"trigger": "AUTOMATIC",
"isInUse": false
},
{
"encodedKey": "8a19decb737abb3201737b0b7ac34958",
"creationDate": "2020-07-23T09:41:00+0000",
"lastModifiedDate": "2020-07-23T09:41:00+0000",
"name": "portal activated",
"template": "{PASSWORD_URL}",
"type": "EMAIL",
"targetType": "CLIENT",
"option": "OPT_IN",
"event": "PORTAL_ACTIVATED",
"subject": "portal activated",
"authorization": "NO_AUTHORIZATION",
"activated": true,
"trigger": "AUTOMATIC",
"isInUse": false
},
{
"encodedKey": "8a19a68f7b05dc0d017b06eb207c486d",
"creationDate": "2021-08-02T14:08:49+0000",
"lastModifiedDate": "2021-08-02T14:22:18+0000",
"name": "test headers",
"template": "{\n\"test\":\"{RECIPIENT_ID}\"\n}",
"type": "WEB_HOOK",
"targetType": "CLIENT",
"option": "OPT_OUT",
"event": "CLIENT_ACTIVITY",
"url": "https://webhook.site/366d22e2-7038-4abc-ab8d-f5bffc017f85",
"contentType": "APPLICATION_JSON",
"requestType": "POST",
"authorization": "NO_AUTHORIZATION",
"username": "",
"activated": true,
"trigger": "AUTOMATIC",
"isInUse": false
}
],
"groupKeys": []
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | ClientExpandedApiV1 |
Patch Client Record
PATCH /clients/{clientId}
Patch Client
update an existing client
Example Requests
Change a client's state to blacklisted
{
"client": {
"state": "BLACKLISTED"
}
}
update a client with additional profile and contact information
{
"client": {
"middleName": "Meri",
"clientRoleId": "client",
"homePhone": "(77) 159-443",
"mobilePhone1": "604-271-7041",
"birthDate": "1987-07-08",
"gender": null,
"emailAddress": "test@mambu.com",
"preferredLanguage": "ENGLISH",
"notes": "Powered by Mambu"
}
}
Parameters
Name | Type | Description | In |
---|---|---|---|
body | UpdateClientRequest | none | body |
clientId (required) | string | The ID or encoded key of a client | path |
Example Responses
200 Response
{
"errorSource": "string",
"returnCode": 0,
"returnStatus": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | ExecutionStatusApiV1 |
Update Client
POST /clients/{clientId}
Update a Client
update a client record
Example Requests
Add details to an existing client
{
"client":{
"firstName":"Max",
"lastName":"Alexander",
"middleName":"Frank",
"homePhone":"56611235498",
"emailAddress":"max.alexander@mambu.com",
"mobilePhone1":"211111111",
"gender":"MALE"
}
}
Update client with encodedKey
8a512236413395270141356dbc9f0025
using JSON and remove all custom field values, addresses and ID Documents
{
"client":{
"firstName":"Max",
"lastName":"Alexander",
"middleName":"Frank",
"homePhone":"56611235498",
"emailAddress":"max.alexander@mambu.com",
"mobilePhone1":"211111111",
"gender":"MALE"
},
"idDocuments":[ ],
"addresses":[ ],
"customInformation":[ ]
}
Update a client using JSON and update custom field values, addresses, and ID documents
{
"client": {
"firstName": "Max",
"lastName": "Alexander",
"middleName": "Frank",
"homePhone": "56611235498",
"emailAddress": "max.alexander@mambu.com",
"mobilePhone1": "211111111",
"gender": "MALE"
},
"idDocuments": [
{
"documentType": "CI",
"documentId": "23453",
"issuingAuthority": "Police",
"validUntil": "2014-09-30T00:00:00+0000",
"identificationDocumentTemplateKey": "9b0a97094b4cd73f014b5f5ef0e811d2"
},
{
"documentType": "Passport",
"documentId": "sss332",
"issuingAuthority": "Passport Agency",
"validUntil": "2014-09-30T00:00:00+0000",
"identificationDocumentTemplateKey": "2a0a00a24b4ce72a025c4afefce821e9"
}
],
"addresses": [
{
"line1": "8 Howling Lane",
"line2": "Hackney",
"city": "London",
"region": "London",
"postcode": "1234554321",
"country": "United Kingdom"
}
],
"customInformation": [
{
"value": "1",
"customFieldID": "Family_Members"
},
{
"value": "TRUE",
"customFieldID": "Has_children"
},
{
"value": "Some Studies",
"customFieldID": "Studies"
}
]
}
Parameters
Name | Type | Description | In |
---|---|---|---|
body | CreateOrUpdateClientRequest | updated client data | body |
clientId (required) | string | The ID or encoded key of a client | path |
Example Responses
200 Response
{
"addresses": [
{
"addressType": "string",
"city": "string",
"country": "string",
"encodedKey": "string",
"indexInList": 0,
"latitude": 0,
"line1": "string",
"line2": "string",
"longitude": 0,
"parentKey": "string",
"postcode": "string",
"region": "string",
"toBeDeleted": true
}
],
"client": {
"activationDate": "string",
"approvedDate": "string",
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"birthDate": "string",
"clientRole": {
"encodedKey": "string"
},
"closedDate": "string",
"creationDate": "string",
"emailAddress": "string",
"encodedKey": "string",
"firstName": "string",
"gender": "MALE",
"groupLoanCycle": 0,
"homePhone": "string",
"id": "string",
"idPattern": "string",
"lastModifiedDate": "string",
"lastName": "string",
"loanCycle": 0,
"middleName": "string",
"migrationEvent": {
"creationDate": "2019-08-24T14:15:22Z",
"encodedKey": "string",
"numCentresImported": 0,
"numClientsImported": 0,
"numGLAccountsImported": 0,
"numGroupsImported": 0,
"numLoanRepaymentsImported": 0,
"numLoanTransactionsImported": 0,
"numLoansImported": 0,
"numSavingsImported": 0,
"state": "REVERTED",
"type": "IMPORT"
},
"mobilePhone1": "string",
"mobilePhone2": "string",
"notes": "string",
"portalPreferences": {
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"lastLoggedInDate": "string",
"password": "string",
"portalState": "DISABLED"
},
"preferredLanguage": "PORTUGESE",
"profilePictureKey": "string",
"profileSignatureKey": "string",
"state": "PENDING_APPROVAL"
},
"customInformation": [
{
"amount": 0,
"customField": {
"amounts": {
"property1": 0,
"property2": 0
},
"builtInCustomFieldId": "MOBILE_PHONE",
"creationDate": "string",
"customFieldProductSettings": [
{
"customFieldEncodedKey": "string",
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"isDefault": true,
"isRequired": true,
"linkType": "CLIENT_ROLE",
"productKey": "string"
}
],
"customFieldSelectionOptions": [
{
"constraint": {
"customFieldKey": "string",
"dataFieldType": "NATIVE",
"dataFieldValue": "string",
"dataItemType": "WRITTEN_OFF_LOANS",
"dataType": "ENUM",
"encodedKey": "string",
"filterElement": "STARTS_WITH_CASE_SENSITIVE",
"groupNumber": 0,
"index": 0,
"linkingOperator": "OR",
"secondValue": "string",
"value": "string"
},
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"id": "string",
"score": 0,
"value": "string"
}
],
"customFieldSet": {
"builtInType": "DETAILS",
"createdDate": "string",
"customFields": [
{}
],
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"id": "string",
"indexInList": 0,
"lastModifiedDate": "string",
"name": "string",
"notes": "string",
"type": "USER_INFO",
"usage": "SINGLE"
},
"dataType": "GROUP_LINK",
"description": "string",
"editRights": {
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"isAccessibleByAllUsers": true,
"roles": [
"string"
]
},
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"id": "string",
"indexInList": 0,
"isDefault": true,
"isRequired": true,
"lastModifiedDate": "string",
"name": "string",
"state": "DEACTIVATED",
"type": "USER_INFO",
"unique": true,
"validationPattern": "string",
"valueLength": "SHORT",
"values": [
"string"
],
"viewRights": {
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"isAccessibleByAllUsers": true,
"roles": [
"string"
]
}
},
"customFieldID": "string",
"customFieldKey": "string",
"customFieldSetGroupIndex": 0,
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"indexInList": 0,
"linkedEntityKeyValue": "string",
"parentKey": "string",
"selectionKey": "string",
"value": "string"
}
],
"groupKeys": [
"string"
],
"idDocuments": [
{
"clientKey": "string",
"documentId": "string",
"documentType": "string",
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"identificationDocumentTemplateKey": "string",
"indexInList": 0,
"issuingAuthority": "string",
"toBeDeleted": true,
"validUntil": "string",
"validUntilDTOdate": {
"dayOfMonth": 0,
"monthOfYear": 0,
"year": 0
}
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | CreateOrUpdateClientResponse |
Anonymize Client Data
POST /clients/{clientId}/action
Anonymize client
In the context of the GDPR, we wanted to provide an option to easily anonymize a client's identifiable data upon request, as an exited client must now have the 'Right to be forgotten'. To learn more about the legal aspects of this, please see Art. 17 GDPR.
This gives clients in the exited state, the right to request that all identifiable records are removed (or, more precisely, anonymized up to the point where the client is no longer traceable, but the information that the company needs to keep its systems stable can be kept within some legal standards).
Please be aware This action may only be performed on clients in the exited state. Otherwise, Mambu will return error 3760 "CLIENT_DOES_NOT_HAVE_EXITED_STATE"
A user has the permission to run the above call only via API 1.0 only if he has the 'Anonymize Client Data' permission, which can be granted by an Administrator (in User Permissions > Clients), only to users that have API access.
Please note After the anonymization call is run, a new client ID will be generated and the old client ID will be overwritten. As a consequence, calling the API twice with the same client ID will result in the second call returning a Resource Not Found (INVALID_CLIENT_ID) error.
Affected areas
Initially the client is unsubscribed from notifications (client notification requests are deleted). Afterwards the following data is affected:
Client fields:
- Obfuscated:
- first name
- last name
- Deleted:
- middle name, gender, notes, email address, birth date, home phone, mobile phones, address, assigned branch key, assigned centre key, assigned credit officer key.
- client Identification documents (also corresponding attachments from remote file storage)
- client profile picture and signature picture (from images table)
- client attachments (from remote file storage and documents table)
- client custom field values
- portal preferences
- client comments
- client activities (activities, sub-activities and field change items)
Client loan accounts:
Obfuscated:
- loan name
Deleted:
- notes
- custom field values for client loan accounts
- attachments for client loan accounts (from remote file storage and documents table)
- Client loan accounts transactions
Deleted:
- transaction comments
- transactions custom field values
Client loan accounts gurantees:
- Obfuscated:
- asset name
- Deleted:
- guarantees custom field values
Client loan repayments:
- Deleted:
- repayments notes
- comments for client loan accounts
- client loan accounts activities (activities, sub-activities and field change items)
Client deposit accounts:
- Obfuscated:
- account name
- Deleted:
- notes
- custom field values for client savings accounts
- attachments for client savings accounts (from remote file storage and documents table)
Client savings accounts transactions:
- Deleted:
- transaction comments
- transactions custom field values
- comments for client savings accounts
- client savings accounts activities (activities, sub-activities and field change items)
Client lines of credit:
- Deleted:
- notes
- custom field values for client lines of credit
- attachments for client lines of credit (from remote file storage and documents table)
- lines of credit activities (activities, sub-activities and field change items)
Client guarantees (guarantees in which the client is guarantor):
- Obfuscated:
- asset name
- Deleted:
- guarantees custom field values
Notification messages associated with a client:
- Deleted:
- notification messages associated with the client
- notification messages associated with client loan accounts
- notification messages associated with client savings accounts
- Client tasks
- Deleted:
- tasks associated with the client
Client ID
A new client ID will be generated and the old client ID will be overwritten (as a consequence, calling the API twice with the same client ID will result in the second call returning Resource Not Found (INVALID_CLIENT_ID
error).
Example Requests
ANONYMIZE client
{
"action": "ANONYMIZE"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
clientId (required) | string | The ID of the client | path |
action (required) | string | the action to perform | body |
Enumerated Values
Parameter | Value |
---|---|
action | ANONYMIZE |
Example Responses
200 : ok
Sucess Response
{
"returnCode": 0,
"returnStatus": "SUCCESS"
}
400 : Bad Request
client in wrong state
{
"returnCode": 3760,
"returnStatus": "CLIENT_DOES_NOT_HAVE_EXITED_STATE"
}
404 : Not Found
client not found
{
"returnCode": 301,
"returnStatus": "INVALID_CLIENT_ID"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | ExecutionStatusApiV1 |
400 | Bad Request | Bad Request | ExecutionStatusApiV1 |
404 | Not Found | Not Found | ExecutionStatusApiV1 |
Update Client Custom Field Values
PATCH /clients/{clientId}/custominformation
Update custom field values
Example Requests
Update a single custom field value
{
"customInformation": [
{
"customFieldID": "custom_field_2",
"value": "3"
}
]
}
Update a field in a group
{
"customInformation": [
{
"customFieldID": "cf_grouped_field",
"value": "new value",
"customFieldSetGroupIndex": "0"
}
]
}
Update multiple custom field values
{
"customInformation": [
{
"customFieldID": "cf_grouped_field_2",
"value": "3",
"customFieldSetGroupIndex": "0"
},
{
"customFieldID": "field_3",
"value": "divorced"
}
]
}
Parameters
Name | Type | Description | In |
---|---|---|---|
customInformation | [object] | none | body |
» customFieldID (required) | string | none | body |
» value (required) | string | none | body |
» customFieldSetGroupIndex | string | Required if field to update is part of a group, if the Field Set Group Index is not set, a new group will be created with the value provided. | body |
clientId (required) | string | The ID of the client | path |
Example Responses
200 : OK
Success Response
{
"returnCode": 0,
"returnStatus": "SUCCESS"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Get Client Custom Field Definition
GET /clients/{clientId}/custominformation/{customFieldId}
Get a custom field definition for a client
Allows retrieving a custom field definition for a given client directly by the ID/key of the client and the ID/key of the custom field definition.
Parameters
Name | Type | Description | In |
---|---|---|---|
clientId (required) | string | The ID of the client. | path |
customFieldId (required) | string | The ID of the custom field definition. | path |
Example Responses
200 : OK
A custom field definition
[
{
"encodedKey": "8a19cd6f74674df9017467f25aab02c6",
"parentKey": "8a193c26722b51b701722d779e7122de",
"customFieldKey": "8a19cd6f74674df9017467ef8e6802af",
"customField": {
"encodedKey": "8a19cd6f74674df9017467ef8e6802af",
"id": "cf_client",
"creationDate": "2020-09-07T09:42:33+0000",
"lastModifiedDate": "2020-09-07T09:42:33+0000",
"name": "Example Custom Field Definition",
"type": "BRANCH_INFO",
"dataType": "CHECKBOX",
"valueLength": "SHORT",
"isDefault": false,
"isRequired": false,
"description": "an example of a checkbox custom field definition",
"customFieldSet": {
"encodedKey": "8a19cd6f74674df9017467ef8e6802ae",
"id": "_example_client_custom_field_set",
"name": "example client custom field set",
"notes": "example custom field set",
"createdDate": "2020-09-07T09:41:50+0000",
"lastModifiedDate": "2020-09-07T09:41:50+0000",
"indexInList": 2,
"type": "BRANCH_INFO",
"usage": "SINGLE"
},
"indexInList": 0,
"state": "NORMAL",
"customFieldSelectionOptions": [],
"viewRights": {
"encodedKey": "8a19cd6f74674df9017467ef8e6802b0",
"isAccessibleByAllUsers": false,
"roles": []
},
"editRights": {
"encodedKey": "8a19cd6f74674df9017467ef8e6802b1",
"isAccessibleByAllUsers": false,
"roles": []
},
"unique": false,
"values": [],
"amounts": {}
},
"value": "TRUE",
"indexInList": -1,
"customFieldID": "cf_client",
"customFieldSetGroupIndex": -1
}
]
404 : Not Found
not found
{
"returnCode": 903,
"returnStatus": "INVALID_CUSTOM_FIELD_ID"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | CustomFieldApiV1 |
404 | Not Found | Not Found | Inline |
Response Schema
Status Code 404
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Update Client Custom Field Value
PATCH /clients/{clientId}/custominformation/{customFieldId}
Update a custom field value for a client
Update a client custom field value
Example requests
{
"value": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
value | string | none | body |
clientId (required) | string | The ID of the client. | path |
customFieldId (required) | string | The ID of the custom field definition. | path |
Example Responses
200 : OK
Sucess response
{
"returnCode": 0,
"returnStatus": "SUCCESS"
}
400 : Bad Request
field is part of a group
{
"returnCode": 916,
"returnStatus": "INVALID_CUSTOM_FIELD_GROUP_INDEX",
"errorSource": "cf_group_field_2"
}
404 : Not Found
not found
{
"returnCode": 903,
"returnStatus": "INVALID_CUSTOM_FIELD_ID"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad Request | Inline |
404 | Not Found | Not Found | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Status Code 400
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
» errorSource | string | none | none |
Status Code 404
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Delete Client Custom Field Value
DELETE /clients/{clientId}/custominformation/{customFieldId}
Delete Client Custom Field Value
Delete a single custom field value
Parameters
Name | Type | Description | In |
---|---|---|---|
clientId (required) | string | The ID of the client. | path |
customFieldId (required) | string | The ID of the custom field definition. | path |
Example Responses
200 : OK
Success Response
{
"returnCode": 0,
"returnStatus": "SUCCESS"
}
400 : Bad Request
field is part of a group
{
"returnCode": 916,
"returnStatus": "INVALID_CUSTOM_FIELD_GROUP_INDEX",
"errorSource": "cf_group_field_2"
}
404 : Not Found
not found
{
"returnCode": 903,
"returnStatus": "INVALID_CUSTOM_FIELD_ID"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad Request | Inline |
404 | Not Found | Not Found | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Status Code 400
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
» errorSource | string | none | none |
Status Code 404
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Update Grouped Client Custom Fields
PATCH /clients/{clientId}/custominformation/{customFieldId}/{customFieldGroupSetIndex}
Update grouped custom field value
Update custom field value, which is part of a group
Example requests
{
"value": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
value | string | none | body |
clientId (required) | string | The ID of the client | path |
customFieldId (required) | string | The ID of the custom field definition. | path |
customFieldGroupSetIndex (required) | string | none | path |
Example Responses
200 : OK
Success Response
{
"returnCode": 0,
"returnStatus": "SUCCESS"
}
400 : Bad Request
wrong group index provided
{
"returnCode": 916,
"returnStatus": "INVALID_CUSTOM_FIELD_GROUP_INDEX",
"errorSource": "cf_group_field_2"
}
404 : Not Found
field not found
{
"returnCode": 903,
"returnStatus": "INVALID_CUSTOM_FIELD_ID"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad Request | Inline |
404 | Not Found | Not Found | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Status Code 400
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
» errorSource | string | none | none |
Status Code 404
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Delete Grouped Client Custom Fields
DELETE /clients/{clientId}/custominformation/{customFieldId}/{customFieldGroupSetIndex}
Delete grouped custom field value
Delete a custom field value, which is part of a group
Parameters
Name | Type | Description | In |
---|---|---|---|
clientId (required) | string | The ID of the client | path |
customFieldId (required) | string | The ID of the custom field definition. | path |
customFieldGroupSetIndex (required) | string | none | path |
Example Responses
200 : OK
Success Response
{
"returnCode": 0,
"returnStatus": "SUCCESS"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Get Client Comments
GET /clients/{clientId}/comments
Get all client comments
get all comments for a client
Parameters
Name | Type | Description | In |
---|---|---|---|
limit | string | none | query |
offset | string | none | query |
clientId (required) | string | the ID of the client | path |
Example Responses
200 : OK
an array of comments
[
{
"encodedKey": "8a19b7057471f4af017472dc0fd80470",
"parentKey": "8a193c26722b51b701722d77c5e423b7",
"userKey": "8a194075720ece2c017226fced6f005e",
"creationDate": "2020-09-09T14:24:42+0000",
"lastModifiedDate": "2020-09-09T14:24:42+0000",
"text": "aanother afmaefomaef<div><br /></div><div><u>aefaefaf</u></div><div><u><br /></u></div><div><u>afaef</u></div>"
},
{
"encodedKey": "8a193c26722b51b701722d77c8bf25ab",
"parentKey": "8a193c26722b51b701722d77c5e423b7",
"creationDate": "2020-05-19T15:05:24+0000",
"lastModifiedDate": "2020-05-19T15:05:24+0000",
"text": "Should suggest she apply for the agriculture loan given the nature of their business"
}
]
400 : Bad Request
bad client ID
{
"returnCode": 149,
"returnStatus": "INVALID_ID"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad Request | ExecutionStatusApiV1 |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [CommentApiV1] | none | none |
» creationDate | string(date-time) | the date and time at which this comment was added | none |
» encodedKey | string | a unique key for this comment | none |
» lastModifiedDate | string(date-time) | the date and time at which this comment was last modified | none |
» parentKey | string | the unique key of the parent object for this comment, for example, the client or loan account to which it relates | none |
» text | string | the text of the comment as a string, must be properly JSON escpaped if it contains special characters | none |
» userKey | string | the unique key of the user who created the comment | none |
Create Client Comment
POST /clients/{clientId}/comments
Create a Client Comment
create new comment for a client
Example requests
a comment
{
"comment": {
"text": "this is a comment with \" \" all kinds of : \\ / \"non compliant\" stuff & = which has been JSON escaped"
}
}
Parameters
Name | Type | Description | In |
---|---|---|---|
comment | object | an object contining the comment | body |
» text | string | text of the comment to be added. if adding complex content make sure it is properly JSON encoded before making your request | body |
clientId (required) | string | the ID of the client | path |
Example Responses
200 : OK
a comment
{
"encodedKey": "8a19c34574720f9e0174734a039f06e2",
"parentKey": "8a193c26722b51b701722d77c5e423b7",
"userKey": "8a194075720ece2c017226fced6f005e",
"creationDate": "2020-09-09T14:39:36+0000",
"lastModifiedDate": "2020-09-09T14:39:36+0000",
"text": "this is a comment with \" \" all kinds of : \\ / non compliant stuff & = which has been JSON escaped"
}
400 : Bad Request
extra parameters in the request
{
"returnCode": 27,
"returnStatus": "PARAMETER_NOT_ALLOWED"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | CommentApiV1 |
400 | Bad Request | Bad Request | Inline |
Response Schema
Status Code 400
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Get Client Documents
GET /clients/{clientId}/documents
Get Client Documents
get documents for a given client
Parameters
Name | Type | Description | In |
---|---|---|---|
clientId (required) | string | the ID of the client | path |
offset | integer | none | query |
limit | integer | none | query |
Example Responses
200 Response
[
{
"createdByUserKey": "string",
"creationDate": "string",
"description": "string",
"documentHolderKey": "string",
"documentHolderType": "BRANCH",
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"fileSize": 0,
"id": 0,
"lastModifiedDate": "string",
"location": "string",
"name": "string",
"originalFilename": "string",
"type": "string",
"userName": "string"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [DocumentApiV1] | none | none |
» createdByUserKey | string | the encoded key of the user who added this document | none |
» creationDate | string | the date and time when this document was created | none |
» description | string | a description of this document | none |
» documentHolderKey | string | the encoded key of the entity to which this document is attached | none |
» documentHolderType | string | the type of entity, eg. client, loan product, to which this document is attached | none |
» encodedKey | string | the automatically generated encoded ID for this item | none |
» fileSize | number | the size, in bytes, of the attached document | none |
» id | number | an ID for this document | none |
» lastModifiedDate | string | the date on which this document was last modified | none |
» location | string | indicates where the document is saved | none |
» name | string | the display name of this document | none |
» originalFilename | string | the name of the originally uploaded file | none |
» type | string | the file type of the document, eg. png, jpeg, pdf | none |
» userName | string | the name of the user who uploaded the document | none |
Enumerated Values
Property | Value |
---|---|
documentHolderType | BRANCH |
documentHolderType | LOAN_ACCOUNT |
documentHolderType | GROUP |
documentHolderType | DEPOSIT_ACCOUNT |
documentHolderType | LINE_OF_CREDIT |
documentHolderType | LOAN_PRODUCT |
documentHolderType | GL_JOURNAL_ENTRY |
documentHolderType | SAVINGS_PRODUCT |
documentHolderType | USER |
documentHolderType | CLIENT |
documentHolderType | CENTRE |
documentHolderType | ID_DOCUMENT |
Add Client Document
POST /clients/{clientId}/documents
Add new Document
create documents for a given client
Example requests
{
"document": {
"description": "string",
"documentHolderKey": "string",
"documentHolderType": "CLIENT",
"name": "string",
"type": "PDF"
},
"documentContent": "string"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
clientId (required) | string | the ID of the client | path |
body | CreateDocumentApiV1 | a new document to be attached to an entity | body |
Example Responses
201 Response
{
"createdByUserKey": "string",
"creationDate": "string",
"description": "string",
"documentHolderKey": "string",
"documentHolderType": "BRANCH",
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"fileSize": 0,
"id": 0,
"lastModifiedDate": "string",
"location": "string",
"name": "string",
"originalFilename": "string",
"type": "string",
"userName": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | ok | DocumentApiV1 |
Delete Client Asset
DELETE /clients/{clientID}/documents/PROFILE_PICTURE
delete profile picture on file for a given client
Parameters
Name | Type | Description | In |
---|---|---|---|
clientID (required) | string | the ID of the client | path |
Example Responses
200 Response
{
"errorSource": "string",
"returnCode": 0,
"returnStatus": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | ExecutionStatusApiV1 |
Get Client Profile Picture
GET /clients/{clientID}/documents/PROFILE_PICTURE
Get Client Asset
Get the profile picture for a given client. Images for the profile picture and signature are encoded in base 64. This should be read and decoded in order to generate a binary file representing the image. The format of the image is specified at the beginning of the response.
Parameters
Name | Type | Description | In |
---|---|---|---|
clientID (required) | string | the ID of the client | path |
Example Responses
200 : OK
a base 64 encoded profile picture
"iVBORw0KGgoAAAANSUh=="
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | string |
Add Client Profile Picture
POST /clients/{clientID}/documents/PROFILE_PICTURE
Update Client Profile Picture
Add or update the profile picture on file for a given client.
Example requests
client profile picture
{
"document": {
"documentHolderKey": "88af35b9ca0933ec72",
"documentHolderType": "CLIENT",
"name": "picture",
"type": "JPG"
},
"documentContent": "d2h5IGRpZCB5b3UgYm90aGVyIHRvIGRlY29kZSB0aGlzPw=="
}
Parameters
Name | Type | Description | In |
---|---|---|---|
body | CreateDocumentApiV1 | a new document to be attached to an entity | body |
clientID (required) | string | the ID of the client | path |
Example Responses
201 : ok
Success Response
{
"returnCode": 0,
"returnStatus": "SUCCESS"
}
400 : Bad Request
missing required parameter
{
"returnCode": 4,
"returnStatus": "INVALID_PARAMETERS",
"errorSource": "document name is required"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | ok | ExecutionStatusApiV1 |
400 | Bad Request | Bad Request | ExecutionStatusApiV1 |
Delete Client Signature
DELETE /clients/{clientID}/documents/SIGNATURE
delete signature on file for a given client
Parameters
Name | Type | Description | In |
---|---|---|---|
clientID (required) | string | the ID of the client | path |
Example Responses
200 Response
{
"errorSource": "string",
"returnCode": 0,
"returnStatus": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | ExecutionStatusApiV1 |
Get Client Signature
GET /clients/{clientID}/documents/SIGNATURE
Get Client Signature
get the signaturee for a given client
Parameters
Name | Type | Description | In |
---|---|---|---|
clientID (required) | string | the ID of the client | path |
Example Responses
200 Response
"\"iVBORw0KGgoAAAANSUh==\""
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | string |
Add Client Signature
POST /clients/{clientID}/documents/SIGNATURE
Update Client Signature
add or update the signature on file for a given client
Example requests
a client signature
{
"document": {
"documentHolderKey": "88af35b9ca0933ec72",
"documentHolderType": "CLIENT",
"name": "signature",
"type": "PNG"
},
"documentContent": "d2h5IGRpZCB5b3UgYm90aGVyIHRvIGRlY29kZSB0aGlzPyBub3RoaW5nIGJldHRlciB0byBkbz8="
}
Parameters
Name | Type | Description | In |
---|---|---|---|
body | CreateDocumentApiV1 | a new document to be attached to an entity | body |
clientID (required) | string | the ID of the client | path |
Example Responses
201 : ok
Success Response
{
"returnCode": 0,
"returnStatus": "SUCCESS"
}
400 : Bad Request
missing required parameter
{
"returnCode": 4,
"returnStatus": "INVALID_PARAMETERS",
"errorSource": "document name is required"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | ok | ExecutionStatusApiV1 |
400 | Bad Request | Bad Request | ExecutionStatusApiV1 |
Delete Client Document
DELETE /clients/{clientId}/documents/{documentId}
Delete Client Documents
delete a client document by ID
Parameters
Name | Type | Description | In |
---|---|---|---|
clientId (required) | string | the id of the client | path |
documentId (required) | string | none | path |
Example Responses
200 : ok
Success Response
{
"returnCode": 0,
"returnStatus": "SUCCESS"
}
400 : Bad Request
bad Document ID
{
"returnCode": 970,
"returnStatus": "INVALID_DOCUMENT_ID"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | ExecutionStatusApiV1 |
400 | Bad Request | Bad Request | ExecutionStatusApiV1 |
Get Client Document by ID
GET /clients/{clientId}/documents/{documentId}
Get a Client Document by ID
get a client document by its ID
Parameters
Name | Type | Description | In |
---|---|---|---|
clientId (required) | string | the id of the client | path |
documentId (required) | string | none | path |
Example Responses
200 Response
"string"
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | string |
Get Savings Accounts for a Client
GET /clients/{clientId}/savings
Get Savings Accounts for a Client
Get all savings accounts for a client by client id
Parameters
Name | Type | Description | In |
---|---|---|---|
clientId (required) | string | none | path |
offset | integer | none | query |
limit | integer | none | query |
fullDetails | boolean | none | query |
savingsId (required) | string | none | path |
Example Responses
200 Response
[
{
"accountHolderKey": "string",
"accountHolderType": "GROUP",
"accountState": "WITHDRAWN",
"accountType": "CURRENT_ACCOUNT",
"accruedInterest": 0,
"activationDate": "string",
"allowOverdraft": true,
"approvedDate": "string",
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"availableBalance": 0,
"balance": 0,
"closedDate": "string",
"creationDate": "string",
"currency": {
"code": "string",
"creationDate": "string",
"currencySymbolPosition": "AFTER_NUMBER",
"digitsAfterDecimal": 0,
"isBaseCurrency": true,
"lastModifiedDate": "string",
"name": "string",
"symbol": "string"
},
"currencyCode": "string",
"customFieldValues": [
{
"amount": 0,
"customField": {
"amounts": {
"property1": 0,
"property2": 0
},
"builtInCustomFieldId": "MOBILE_PHONE",
"creationDate": "string",
"customFieldProductSettings": [
{
"customFieldEncodedKey": "string",
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"isDefault": true,
"isRequired": true,
"linkType": "CLIENT_ROLE",
"productKey": "string"
}
],
"customFieldSelectionOptions": [
{
"constraint": {
"customFieldKey": "string",
"dataFieldType": "NATIVE",
"dataFieldValue": "string",
"dataItemType": "WRITTEN_OFF_LOANS",
"dataType": "ENUM",
"encodedKey": "string",
"filterElement": "STARTS_WITH_CASE_SENSITIVE",
"groupNumber": 0,
"index": 0,
"linkingOperator": "OR",
"secondValue": "string",
"value": "string"
},
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"id": "string",
"score": 0,
"value": "string"
}
],
"customFieldSet": {
"builtInType": "DETAILS",
"createdDate": "string",
"customFields": [
{}
],
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"id": "string",
"indexInList": 0,
"lastModifiedDate": "string",
"name": "string",
"notes": "string",
"type": "USER_INFO",
"usage": "SINGLE"
},
"dataType": "GROUP_LINK",
"description": "string",
"editRights": {
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"isAccessibleByAllUsers": true,
"roles": [
"string"
]
},
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"id": "string",
"indexInList": 0,
"isDefault": true,
"isRequired": true,
"lastModifiedDate": "string",
"name": "string",
"state": "DEACTIVATED",
"type": "USER_INFO",
"unique": true,
"validationPattern": "string",
"valueLength": "SHORT",
"values": [
"string"
],
"viewRights": {
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"isAccessibleByAllUsers": true,
"roles": [
"string"
]
}
},
"customFieldID": "string",
"customFieldKey": "string",
"customFieldSetGroupIndex": 0,
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"indexInList": 0,
"linkedEntityKeyValue": "string",
"parentKey": "string",
"selectionKey": "string",
"value": "string"
}
],
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"feesDue": 0,
"holdBalance": 0,
"id": "string",
"interestDue": 0,
"interestPaymentDates": [
{
"dayOfMonth": 0,
"monthOfYear": 0,
"year": 0
}
],
"interestPaymentPoint": "EVERY_WEEK",
"interestSettings": {
"accrueInterestAfterMaturity": true,
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"interestChargeFrequency": "EVERY_WEEK",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "MONTHS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "TIERED_PERIOD",
"interestRateTiers": [
{
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"endingBalance": 0,
"endingDay": 0,
"index": 0,
"interestRate": 0
}
],
"interestSpread": 0
},
"lastAccountAppraisalDate": "string",
"lastInterestCalculationDate": "string",
"lastInterestStoredDate": "string",
"lastModifiedDate": "string",
"lastOverdraftInterestReviewDate": "string",
"lastSetToArrearsDate": "string",
"lineOfCreditKey": "string",
"lockedBalance": 0,
"lockedDate": "string",
"maturityDate": "string",
"maxWidthdrawlAmount": 0,
"migrationEvent": {
"creationDate": "2019-08-24T14:15:22Z",
"encodedKey": "string",
"numCentresImported": 0,
"numClientsImported": 0,
"numGLAccountsImported": 0,
"numGroupsImported": 0,
"numLoanRepaymentsImported": 0,
"numLoanTransactionsImported": 0,
"numLoansImported": 0,
"numSavingsImported": 0,
"state": "REVERTED",
"type": "IMPORT"
},
"name": "string",
"notes": "string",
"overdraftAmount": 0,
"overdraftExpiryDate": "string",
"overdraftExpiryDateDTO": {
"dayOfMonth": 0,
"monthOfYear": 0,
"year": 0
},
"overdraftInterestAccrued": 0,
"overdraftInterestSettings": {
"accrueInterestAfterMaturity": true,
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"interestChargeFrequency": "EVERY_WEEK",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "MONTHS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "TIERED_PERIOD",
"interestRateTiers": [
{
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"endingBalance": 0,
"endingDay": 0,
"index": 0,
"interestRate": 0
}
],
"interestSpread": 0
},
"overdraftLimit": 0,
"productTypeKey": "string",
"recommendedDepositAmount": 0,
"targetAmount": 0,
"technicalInterestDue": 0,
"technicalOverdraftAmount": 0,
"technicalOverdraftInterestAccrued": 0,
"withholdingTaxSourceKey": "string"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [SavingsAccountApiV1] | none | none |
» accountHolderKey | string | none | none |
» accountHolderType | string | none | none |
» accountState | string | none | none |
» accountType | string | none | none |
» accruedInterest | number | none | none |
» activationDate | string | none | none |
» allowOverdraft | boolean | none | none |
» approvedDate | string | none | none |
» assignedBranchKey | string | none | none |
» assignedCentreKey | string | none | none |
» assignedUserKey | string | none | none |
» availableBalance | number | none | none |
» balance | number | none | none |
» closedDate | string | none | none |
» creationDate | string | the date and time when this savings account was created | none |
» currency | CurrencyApiV1 | none | none |
»» code | string | the three letter ISO code for this currency | none |
»» creationDate | string | the date on which this currency was created | none |
»» currencySymbolPosition | string | indicates where the currency symbol should appear in relation to the numeric value | none |
»» digitsAfterDecimal | number | indicates how many decimal places are allowed for this currency. For example, a currenncy with 100 minor units to 1 major unit, there will be 2 decimal places. | none |
»» isBaseCurrency | boolean | whether this currency is the base currency for your banking institution | none |
»» lastModifiedDate | string | the date on which this currency was last modified | none |
»» name | string | the name of this currency | none |
»» symbol | string | the currency symnbol used for this currency | none |
» currencyCode | string | none | none |
» customFieldValues | [CustomFieldValueApiV1] | none | none |
»» amount | number | none | none |
»» customField | CustomFieldApiV1 | none | none |
»»» amounts | object | used when options available for a custom field definition translate to predefined amounts, for example, when the custom field value is used to generate a score | none |
»»»» additionalProperties | number | none | none |
»»» builtInCustomFieldId | string | if this field is one of the built in custom fiel definitions, this will have a value. These names are reserved and you can not use them for your own custom field definitions | none |
»»» creationDate | string | the date on which this custom field definition was created | none |
»»» customFieldProductSettings | [CustomFieldLinkApiV1] | none | none |
»»»» customFieldEncodedKey | string | the key to the parent custom field definition | none |
»»»» encodedKey | string | the automatically generated encoded ID for this item | none |
»»»» isDefault | boolean | whether this field is displayed by default when creating a new record | none |
»»»» isRequired | boolean | whether this field is required when creating a new record | none |
»»»» linkType | string | the type of entity this field represents a link to | none |
»»»» productKey | string | when the link type is product, this field should contain the encoded key of the linekd product | none |
»»» customFieldSelectionOptions | [CustomFieldSelectionApiV1] | [represents a possible selection for select type custom field definitions] | none |
»»»» constraint | CustomFilterConstraintApiV1 | none | none |
»»»»» customFieldKey | string | none | none |
»»»»» dataFieldType | string | none | none |
»»»»» dataFieldValue | string | none | none |
»»»»» dataItemType | string | none | none |
»»»»» dataType | string | none | none |
»»»»» encodedKey | string | none | none |
»»»»» filterElement | string | none | none |
»»»»» groupNumber | number | none | none |
»»»»» index | number | none | none |
»»»»» linkingOperator | string | none | none |
»»»»» secondValue | string | none | none |
»»»»» value | string | none | none |
»»»» encodedKey | string | the automatically generated encoded ID for this item | none |
»»»» id | string | the ID of this selectable item | none |
»»»» score | number | the score assigned to this selection | none |
»»»» value | string | display name of this option | none |
»»» customFieldSet | CustomFieldSetApiV1 | none | none |
»»»» builtInType | string | if this set is part of the set of built-in custom field sets, its type will be shown here | none |
»»»» createdDate | string | the date and time when this custom field set was created | none |
»»»» customFields | [CustomFieldApiV1] | an array of custom field definitions included in this custom field set | none |
»»»» encodedKey | string | the automatically generated encoded ID for this item | none |
»»»» id | string | the ID of this custom field set | none |
»»»» indexInList | number | for field sets that can be added to an entity more than once, this number represents the index in the list and is used when changing values | none |
»»»» lastModifiedDate | string | the date on which this custom field set was last modified | none |
»»»» name | string | the name of this custom field set | none |
»»»» notes | string | any notes regarding this custom field set | none |
»»»» type | string | the entity type that this custom field definition is attached to | none |
»»»» usage | string | whether this custom field set can only be used once, or added multiple times to the same entity | none |
»»» dataType | string | the type of custom field definition | none |
»»» description | string | a brief description of this custom field definition | none |
»»» editRights | UsageRightsApiV1 | none | none |
»»»» encodedKey | string | the automatically generated encoded ID for this item | none |
»»»» isAccessibleByAllUsers | boolean | none | none |
»»»» roles | [string] | none | none |
»»» encodedKey | string | the automatically generated encoded ID for this item | none |
»»» id | string | the ID for this custom field definition | none |
»»» indexInList | number | none | none |
»»» isDefault | boolean | whether this field will be included by default on new records | none |
»»» isRequired | boolean | whether this field is required when creating a new record | none |
»»» lastModifiedDate | string | the date on which this custom field definition was last modified | none |
»»» name | string | the name of this custom field definition | none |
»»» state | string | whether this field is available for use or has been deactivated | none |
»»» type | string | the type of data this custom field definition will contain | none |
»»» unique | boolean | whether the data in this custom field definition needs to be a unique value | none |
»»» validationPattern | string | a user-provided pattern to which data in this custom field definition must conform where @ represents numbers, # represents letters and $ is either a number or letter. Other special characters used as separators are allowed, for example @@-##-$$$ | none |
»»» valueLength | string | whether this field needs to support a large number of characters | none |
»»» values | [string] | a list of possible values when the field is a selection field | none |
»»» viewRights | UsageRightsApiV1 | none | none |
»» customFieldID | string | none | none |
»» customFieldKey | string | none | none |
»» customFieldSetGroupIndex | number | none | none |
»» encodedKey | string | the automatically generated encoded ID for this item | none |
»» indexInList | number | none | none |
»» linkedEntityKeyValue | string | none | none |
»» parentKey | string | none | none |
»» selectionKey | string | none | none |
»» value | string | none | none |
» encodedKey | string | the automatically generated encoded ID for this item | none |
» feesDue | number | none | none |
» holdBalance | number | none | none |
» id | string | none | none |
» interestDue | number | none | none |
» interestPaymentDates | [DateDTOApiV1] | none | none |
»» dayOfMonth | number | the day of the month | none |
»» monthOfYear | number | the month | none |
»» year | number | the year | none |
» interestPaymentPoint | string | none | none |
» interestSettings | InterestAccountSettingsApiV1 | none | none |
»» accrueInterestAfterMaturity | boolean | none | none |
»» encodedKey | string | the automatically generated encoded ID for this item | none |
»» interestChargeFrequency | string | none | none |
»» interestChargeFrequencyCount | number | none | none |
»» interestRate | number | none | none |
»» interestRateReviewCount | number | none | none |
»» interestRateReviewUnit | string | none | none |
»» interestRateSource | string | none | none |
»» interestRateTerms | string | none | none |
»» interestRateTiers | [InterestRateTierApiV1] | none | none |
»»» encodedKey | string | the automatically generated encoded ID for this item | none |
»»» endingBalance | number | none | none |
»»» endingDay | number | none | none |
»»» index | number | none | none |
»»» interestRate | number | none | none |
»» interestSpread | number | none | none |
» lastAccountAppraisalDate | string | none | none |
» lastInterestCalculationDate | string | none | none |
» lastInterestStoredDate | string | none | none |
» lastModifiedDate | string | the date on which this savings account was last modified | none |
» lastOverdraftInterestReviewDate | string | none | none |
» lastSetToArrearsDate | string | none | none |
» lineOfCreditKey | string | none | none |
» lockedBalance | number | none | none |
» lockedDate | string | none | none |
» maturityDate | string | none | none |
» maxWidthdrawlAmount | number | none | none |
» migrationEvent | DataMigrationEventApiV1 | details about an import or export operation | none |
»» creationDate | string(date-time) | the date on which the data import was made | none |
»» encodedKey | string | the encoded key of this data migration event | none |
»» numCentresImported | number | the number of centres which were imported during the data migration | none |
»» numClientsImported | number | the number of clients which were imported as part of the data migration | none |
»» numGLAccountsImported | number | the number of general ledger accounts which were imported as part of the data migration | none |
»» numGroupsImported | number | the number of groups which were imported as part of the data migration | none |
»» numLoanRepaymentsImported | number | the number of loan repayment transations which were imported as part of the data migration | none |
»» numLoanTransactionsImported | number | the number of loan transactions which were imported as part of the data migration | none |
»» numLoansImported | number | the number of loan accounts which were imported as part of the data migration | none |
»» numSavingsImported | number | the number of savings accounts which were imported as part of the data migration | none |
»» state | string | whether the data import was accepted, is still in a draft state, or was rejected and all data reverted | none |
»» type | string | the type of migration event | none |
» name | string | none | none |
» notes | string | none | none |
» overdraftAmount | number | none | none |
» overdraftExpiryDate | string | none | none |
» overdraftExpiryDateDTO | DateDTOApiV1 | none | none |
» overdraftInterestAccrued | number | none | none |
» overdraftInterestSettings | InterestAccountSettingsApiV1 | none | none |
» overdraftLimit | number | none | none |
» productTypeKey | string | none | none |
» recommendedDepositAmount | number | none | none |
» targetAmount | number | none | none |
» technicalInterestDue | number | none | none |
» technicalOverdraftAmount | number | none | none |
» technicalOverdraftInterestAccrued | number | none | none |
» withholdingTaxSourceKey | string | none | none |
Enumerated Values
Property | Value |
---|---|
accountHolderType | GROUP |
accountHolderType | CLIENT |
accountState | WITHDRAWN |
accountState | PARTIALLY_DISBURSED |
accountState | LOCKED |
accountState | ACTIVE |
accountState | CLOSED |
accountState | PARTIAL_APPLICATION |
accountState | LOCKED_CAPPING |
accountState | CLOSED_REJECTED |
accountState | RESCHEDULED |
accountState | ACTIVE_IN_ARREARS |
accountState | MATURED |
accountState | CLOSED_RESCHEDULED |
accountState | CLOSED_WITHDRAWN |
accountState | PENDING_APPROVAL |
accountState | APPROVED |
accountState | REFINANCED |
accountState | DORMANT |
accountState | CLOSED_WRITTEN_OFF |
accountType | CURRENT_ACCOUNT |
accountType | REGULAR_SAVINGS |
accountType | FIXED_DEPOSIT |
accountType | INVESTOR_ACCOUNT |
accountType | SAVINGS_PLAN |
currencySymbolPosition | AFTER_NUMBER |
currencySymbolPosition | BEFORE_NUMBER |
builtInCustomFieldId | MOBILE_PHONE |
builtInCustomFieldId | EMAIL_ADDRESS |
builtInCustomFieldId | GENDER |
builtInCustomFieldId | MIDDLE_NAME |
builtInCustomFieldId | HOME_PHONE |
builtInCustomFieldId | BIRTHDATE |
builtInCustomFieldId | LAST_NAME |
builtInCustomFieldId | FIRST_NAME |
linkType | CLIENT_ROLE |
linkType | CHANNEL |
linkType | PRODUCT |
dataFieldType | NATIVE |
dataFieldType | CUSTOM |
dataItemType | WRITTEN_OFF_LOANS |
dataItemType | LINE_OF_CREDIT |
dataItemType | INVESTOR_FUND |
dataItemType | TRANSACTION_DETAILS |
dataItemType | DOCUMENT_TEMPLATE |
dataItemType | PRODUCT |
dataItemType | MCC_EXPIRATION |
dataItemType | CENTRE |
dataItemType | REPAYMENT_COLLECTION |
dataItemType | TASK |
dataItemType | OUTSTANDING_PORTFOLIO_AMOUNTS |
dataItemType | REVENUE |
dataItemType | COMPOSED_TRANSACTIONS |
dataItemType | UNION_TRANSACTIONS |
dataItemType | PRINCIPAL_PAYMENT_SETTINGS |
dataItemType | LOANS |
dataItemType | DISBURSEMENT_DETAILS |
dataItemType | SAVINGS_TRANSACTION |
dataItemType | IDENTIFICATION_DOCUMENT |
dataItemType | LOAN_PRODUCT |
dataItemType | DISBURSED_LOANS |
dataItemType | LOAN_GROUP |
dataItemType | TRANSACTION_CHANNEL |
dataItemType | CUSTOM_PREDEFINED_FEE |
dataItemType | JOURNAL_ENTRY |
dataItemType | ATTACHMENT |
dataItemType | PREDEFINED_FEE |
dataItemType | TRANCHE |
dataItemType | TRANSACTION |
dataItemType | INDEX_RATE_SOURCE |
dataItemType | GROUP_ROLE |
dataItemType | LOAN_TRANSACTION |
dataItemType | CLIENT_ROLE |
dataItemType | GROUP |
dataItemType | NOTIFICATION_MESSAGE |
dataItemType | OUTSTANDING_PORTFOLIO_ACCOUNTS |
dataItemType | REPAYMENT |
dataItemType | LOAN_ACCOUNT_GUARANTY |
dataItemType | BRANCH |
dataItemType | CURRENCY |
dataItemType | CARD_TRANSACTION_REVERSAL |
dataItemType | INTEREST_PRODUCT_SETTINGS |
dataItemType | CREATED_ACCOUNTS |
dataItemType | USER |
dataItemType | SAVINGS_PRODUCT |
dataItemType | CLIENT |
dataItemType | PRODUCT_ARREARS_SETTINGS |
dataItemType | SAVINGS |
dataItemType | EXPENSE |
dataItemType | INDEX_RATE |
dataItemType | NOTIFICATION_TEMPLATE |
dataItemType | CUSTOM_FIELD_SELECTION |
dataItemType | ACTIVITY |
dataType | ENUM |
dataType | MONEY |
dataType | NUMBER |
dataType | DATE_UTC |
dataType | JAVA_BLOB |
dataType | OBJECT |
dataType | BOOLEAN |
dataType | DATE |
dataType | PERCENT |
dataType | BIG_DECIMAL |
dataType | STRING |
dataType | KEY |
dataType | LONG |
filterElement | STARTS_WITH_CASE_SENSITIVE |
filterElement | THIS_WEEK |
filterElement | EQUALS |
filterElement | STARTS_WITH |
filterElement | IN |
filterElement | TODAY |
filterElement | THIS_YEAR |
filterElement | BETWEEN |
filterElement | AFTER |
filterElement | LESS_THAN |
filterElement | DIFFERENT_THAN |
filterElement | THIS_MONTH |
filterElement | NOT_EMPTY |
filterElement | BEFORE |
filterElement | EQUALS_CASE_SENSITIVE |
filterElement | LAST_DAYS |
filterElement | MORE_THAN |
filterElement | EMPTY |
filterElement | ON |
linkingOperator | OR |
linkingOperator | AND |
builtInType | DETAILS |
builtInType | GENERAL |
type | USER_INFO |
type | ASSET_INFO |
type | CLIENT_INFO |
type | LINE_OF_CREDIT |
type | GROUP_INFO |
type | TRANSACTION_CHANNEL_INFO |
type | BRANCH_INFO |
type | SAVINGS_ACCOUNT_INFO |
type | LOAN_ACCOUNT_INFO |
type | GUARANTOR_INFO |
type | CENTRE_INFO |
usage | SINGLE |
usage | GROUPED |
dataType | GROUP_LINK |
dataType | DATE |
dataType | NUMBER |
dataType | CHECKBOX |
dataType | CLIENT_LINK |
dataType | STRING |
dataType | USER_LINK |
dataType | SELECTION |
state | DEACTIVATED |
state | NORMAL |
type | USER_INFO |
type | ASSET_INFO |
type | CLIENT_INFO |
type | LINE_OF_CREDIT |
type | GROUP_INFO |
type | TRANSACTION_CHANNEL_INFO |
type | BRANCH_INFO |
type | SAVINGS_ACCOUNT_INFO |
type | LOAN_ACCOUNT_INFO |
type | GUARANTOR_INFO |
type | CENTRE_INFO |
valueLength | SHORT |
valueLength | LONG |
interestPaymentPoint | EVERY_WEEK |
interestPaymentPoint | ON_FIXED_DATES |
interestPaymentPoint | EVERY_MONTH |
interestPaymentPoint | ON_ACCOUNT_MATURITY |
interestPaymentPoint | EVERY_3_MONTHS |
interestPaymentPoint | FIRST_DAY_OF_MONTH |
interestPaymentPoint | EVERY_OTHER_WEEK |
interestChargeFrequency | EVERY_WEEK |
interestChargeFrequency | ANNUALIZED |
interestChargeFrequency | EVERY_MONTH |
interestChargeFrequency | EVERY_X_DAYS |
interestChargeFrequency | EVERY_FOUR_WEEKS |
interestChargeFrequency | EVERY_DAY |
interestRateReviewUnit | MONTHS |
interestRateReviewUnit | WEEKS |
interestRateReviewUnit | DAYS |
interestRateSource | FIXED_INTEREST_RATE |
interestRateSource | INDEX_INTEREST_RATE |
interestRateTerms | TIERED_PERIOD |
interestRateTerms | FIXED |
interestRateTerms | TIERED |
state | REVERTED |
state | DRAFT |
state | APPROVED |
type | IMPORT |
type | EXPORT |
Get a Savings Account for a Client
GET /clients/{clientId}/savings/{savingsAccountId}
Get a Savings Account for a Client
Get a specific savings account for a given client by savings account ID
Parameters
Name | Type | Description | In |
---|---|---|---|
clientId (required) | string | none | path |
fullDetails | boolean | none | query |
savingsId (required) | string | none | path |
savingsAccountId (required) | string | none | path |
Example Responses
200 Response
{
"accountHolderKey": "string",
"accountHolderType": "GROUP",
"accountState": "WITHDRAWN",
"accountType": "CURRENT_ACCOUNT",
"accruedInterest": 0,
"activationDate": "string",
"allowOverdraft": true,
"approvedDate": "string",
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"availableBalance": 0,
"balance": 0,
"closedDate": "string",
"creationDate": "string",
"currency": {
"code": "string",
"creationDate": "string",
"currencySymbolPosition": "AFTER_NUMBER",
"digitsAfterDecimal": 0,
"isBaseCurrency": true,
"lastModifiedDate": "string",
"name": "string",
"symbol": "string"
},
"currencyCode": "string",
"customFieldValues": [
{
"amount": 0,
"customField": {
"amounts": {
"property1": 0,
"property2": 0
},
"builtInCustomFieldId": "MOBILE_PHONE",
"creationDate": "string",
"customFieldProductSettings": [
{
"customFieldEncodedKey": "string",
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"isDefault": true,
"isRequired": true,
"linkType": "CLIENT_ROLE",
"productKey": "string"
}
],
"customFieldSelectionOptions": [
{
"constraint": {
"customFieldKey": "string",
"dataFieldType": "NATIVE",
"dataFieldValue": "string",
"dataItemType": "WRITTEN_OFF_LOANS",
"dataType": "ENUM",
"encodedKey": "string",
"filterElement": "STARTS_WITH_CASE_SENSITIVE",
"groupNumber": 0,
"index": 0,
"linkingOperator": "OR",
"secondValue": "string",
"value": "string"
},
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"id": "string",
"score": 0,
"value": "string"
}
],
"customFieldSet": {
"builtInType": "DETAILS",
"createdDate": "string",
"customFields": [
{}
],
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"id": "string",
"indexInList": 0,
"lastModifiedDate": "string",
"name": "string",
"notes": "string",
"type": "USER_INFO",
"usage": "SINGLE"
},
"dataType": "GROUP_LINK",
"description": "string",
"editRights": {
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"isAccessibleByAllUsers": true,
"roles": [
"string"
]
},
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"id": "string",
"indexInList": 0,
"isDefault": true,
"isRequired": true,
"lastModifiedDate": "string",
"name": "string",
"state": "DEACTIVATED",
"type": "USER_INFO",
"unique": true,
"validationPattern": "string",
"valueLength": "SHORT",
"values": [
"string"
],
"viewRights": {
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"isAccessibleByAllUsers": true,
"roles": [
"string"
]
}
},
"customFieldID": "string",
"customFieldKey": "string",
"customFieldSetGroupIndex": 0,
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"indexInList": 0,
"linkedEntityKeyValue": "string",
"parentKey": "string",
"selectionKey": "string",
"value": "string"
}
],
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"feesDue": 0,
"holdBalance": 0,
"id": "string",
"interestDue": 0,
"interestPaymentDates": [
{
"dayOfMonth": 0,
"monthOfYear": 0,
"year": 0
}
],
"interestPaymentPoint": "EVERY_WEEK",
"interestSettings": {
"accrueInterestAfterMaturity": true,
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"interestChargeFrequency": "EVERY_WEEK",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "MONTHS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "TIERED_PERIOD",
"interestRateTiers": [
{
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"endingBalance": 0,
"endingDay": 0,
"index": 0,
"interestRate": 0
}
],
"interestSpread": 0
},
"lastAccountAppraisalDate": "string",
"lastInterestCalculationDate": "string",
"lastInterestStoredDate": "string",
"lastModifiedDate": "string",
"lastOverdraftInterestReviewDate": "string",
"lastSetToArrearsDate": "string",
"lineOfCreditKey": "string",
"lockedBalance": 0,
"lockedDate": "string",
"maturityDate": "string",
"maxWidthdrawlAmount": 0,
"migrationEvent": {
"creationDate": "2019-08-24T14:15:22Z",
"encodedKey": "string",
"numCentresImported": 0,
"numClientsImported": 0,
"numGLAccountsImported": 0,
"numGroupsImported": 0,
"numLoanRepaymentsImported": 0,
"numLoanTransactionsImported": 0,
"numLoansImported": 0,
"numSavingsImported": 0,
"state": "REVERTED",
"type": "IMPORT"
},
"name": "string",
"notes": "string",
"overdraftAmount": 0,
"overdraftExpiryDate": "string",
"overdraftExpiryDateDTO": {
"dayOfMonth": 0,
"monthOfYear": 0,
"year": 0
},
"overdraftInterestAccrued": 0,
"overdraftInterestSettings": {
"accrueInterestAfterMaturity": true,
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"interestChargeFrequency": "EVERY_WEEK",
"interestChargeFrequencyCount": 0,
"interestRate": 0,
"interestRateReviewCount": 0,
"interestRateReviewUnit": "MONTHS",
"interestRateSource": "FIXED_INTEREST_RATE",
"interestRateTerms": "TIERED_PERIOD",
"interestRateTiers": [
{
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"endingBalance": 0,
"endingDay": 0,
"index": 0,
"interestRate": 0
}
],
"interestSpread": 0
},
"overdraftLimit": 0,
"productTypeKey": "string",
"recommendedDepositAmount": 0,
"targetAmount": 0,
"technicalInterestDue": 0,
"technicalOverdraftAmount": 0,
"technicalOverdraftInterestAccrued": 0,
"withholdingTaxSourceKey": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | SavingsAccountApiV1 |
Get all Loan Accounts for a Client
GET /clients/{clientId}/loans/{loanAccountId}
Get all Loan Accounts for a Client
Get details on a specific Loan Account for a specific client.
Parameters
Name | Type | Description | In |
---|---|---|---|
fullDetails | boolean | none | query |
clientId (required) | string | The ID of the client. The format is determined by your organization. | path |
loanAccountId (required) | string | The ID or encoded key of the loan account. The format is determined by your organization. | path |
Example Responses
200 : ok
a loan account with full details
{
"encodedKey": "8a8086c46f7a3258016f7b4d25f50126",
"id": "XNZR612",
"accountHolderKey": "8a80877d6f65da00016f6670eb950022",
"accountHolderType": "CLIENT",
"creationDate": "2020-01-06T14:43:36+0000",
"approvedDate": "2020-01-06T15:43:46+0000",
"lastModifiedDate": "2020-02-06T12:49:13+0000",
"activationTransactionKey": "8a8086c46f7a3258016f7b4facdb0139",
"lastAccountAppraisalDate": "2020-02-06T00:00:06+0000",
"accountState": "ACTIVE",
"productTypeKey": "8a8086c46f7a3258016f7b4d25d60118",
"loanName": "review frequency daily",
"loanAmount": "2500",
"periodicPayment": "0",
"tranches": [],
"principalDue": "207.49",
"principalPaid": "207.31",
"principalBalance": "2292.69",
"redrawBalance": "0",
"interestDue": "1.97",
"interestPaid": "2.15",
"interestFromArrearsBalance": "0",
"interestFromArrearsDue": "0",
"interestFromArrearsPaid": "0",
"interestBalance": "1.97",
"feesDue": "0",
"feesPaid": "0",
"feesBalance": "0",
"penaltyDue": "0",
"penaltyPaid": "0",
"penaltyBalance": "0",
"scheduleDueDatesMethod": "INTERVAL",
"prepaymentAcceptance": "ACCEPT_PREPAYMENTS",
"futurePaymentsAcceptance": "NO_FUTURE_PAYMENTS",
"hasCustomSchedule": false,
"repaymentPeriodCount": 1,
"repaymentPeriodUnit": "MONTHS",
"repaymentInstallments": 12,
"gracePeriod": 0,
"gracePeriodType": "NONE",
"interestRate": "1",
"customFieldValues": [
{
"encodedKey": "8a8086567019cc6c01701a8b30596da2",
"parentKey": "8a8086c46f7a3258016f7b4d25f50126",
"customFieldKey": "8a8086567019cc6c01701a869a4a6d81",
"customField": {
"encodedKey": "8a8086567019cc6c01701a869a4a6d81",
"id": "sclt_1",
"creationDate": "2020-02-06T12:47:32+0000",
"lastModifiedDate": "2020-02-06T12:47:32+0000",
"name": "selection 1",
"type": "LOAN_ACCOUNT_INFO",
"dataType": "SELECTION",
"valueLength": "SHORT",
"isDefault": false,
"isRequired": false,
"description": "",
"customFieldSet": {
"encodedKey": "8a8086567019cc6c01701a869a4a6d80",
"id": "_loans_cf_set",
"name": "loans cf set",
"notes": "",
"createdDate": "2020-02-06T12:46:55+0000",
"lastModifiedDate": "2020-02-06T12:46:55+0000",
"indexInList": 0,
"type": "LOAN_ACCOUNT_INFO",
"usage": "SINGLE"
},
"indexInList": 0,
"state": "NORMAL",
"customFieldSelectionOptions": [
{
"encodedKey": "8a8086567019cc6c01701a8a8c136d91",
"id": "783728922",
"value": "option 1",
"score": "10"
},
{
"encodedKey": "8a8086567019cc6c01701a8a8c1a6d92",
"id": "672532084",
"value": "option 2",
"score": "5"
},
{
"encodedKey": "8a8086567019cc6c01701a8a8c1a6d93",
"id": "403063097",
"value": "option 3",
"score": "1"
}
],
"viewRights": {
"encodedKey": "8a8086567019cc6c01701a869a4a6d82",
"isAccessibleByAllUsers": true,
"roles": []
},
"editRights": {
"encodedKey": "8a8086567019cc6c01701a8a8c066d88",
"isAccessibleByAllUsers": false,
"roles": []
},
"unique": false,
"values": [
"option 1",
"option 2",
"option 3"
],
"amounts": {
"option 3": "1",
"option 1": "10",
"option 2": "5"
}
},
"value": "option 2",
"amount": "5",
"indexInList": -1,
"customFieldID": "sclt_1",
"customFieldSetGroupIndex": -1
},
{
"encodedKey": "8a8086567019cc6c01701a8b30596da4",
"parentKey": "8a8086c46f7a3258016f7b4d25f50126",
"customFieldKey": "8a8086567019cc6c01701a8a8c1a6d94",
"customField": {
"encodedKey": "8a8086567019cc6c01701a8a8c1a6d94",
"id": "slct_2",
"creationDate": "2020-02-06T12:48:14+0000",
"lastModifiedDate": "2020-02-06T12:48:14+0000",
"name": "selection 2",
"type": "LOAN_ACCOUNT_INFO",
"dataType": "SELECTION",
"valueLength": "SHORT",
"isDefault": false,
"isRequired": false,
"description": "",
"customFieldSet": {
"encodedKey": "8a8086567019cc6c01701a869a4a6d80",
"id": "_loans_cf_set",
"name": "loans cf set",
"notes": "",
"createdDate": "2020-02-06T12:46:55+0000",
"lastModifiedDate": "2020-02-06T12:46:55+0000",
"indexInList": 0,
"type": "LOAN_ACCOUNT_INFO",
"usage": "SINGLE"
},
"indexInList": 1,
"state": "NORMAL",
"customFieldSelectionOptions": [
{
"encodedKey": "8a8086567019cc6c01701a8b30526d9f",
"id": "789812737",
"value": "option a",
"score": "1"
},
{
"encodedKey": "8a8086567019cc6c01701a8b30526da0",
"id": "000604002",
"value": "option b",
"score": "5"
},
{
"encodedKey": "8a8086567019cc6c01701a8b30596da1",
"id": "343885651",
"value": "option c",
"score": "10"
}
],
"viewRights": {
"encodedKey": "8a8086567019cc6c01701a8a8c1a6d95",
"isAccessibleByAllUsers": true,
"roles": []
},
"editRights": {
"encodedKey": "8a8086567019cc6c01701a8a8c1a6d96",
"isAccessibleByAllUsers": false,
"roles": []
},
"unique": false,
"values": [
"option a",
"option b",
"option c"
],
"amounts": {
"option c": "10",
"option a": "1",
"option b": "5"
}
},
"value": "option c",
"amount": "10",
"indexInList": -1,
"customFieldID": "slct_2",
"customFieldSetGroupIndex": -1
}
],
"interestChargeFrequency": "ANNUALIZED",
"interestCalculationMethod": "DECLINING_BALANCE_DISCOUNTED",
"interestType": "SIMPLE_INTEREST",
"interestBalanceCalculationMethod": "PRINCIPAL_ONLY",
"repaymentScheduleMethod": "DYNAMIC",
"paymentMethod": "HORIZONTAL",
"interestApplicationMethod": "ON_REPAYMENT",
"accrueInterestAfterMaturity": false,
"assignedBranchKey": "8a8086e96f61bf2c016f65f5192a0271",
"notes": "",
"principalRepaymentInterval": 1,
"interestRateSource": "INDEX_INTEREST_RATE",
"interestRateReviewUnit": "DAYS",
"interestRateReviewCount": 1,
"interestSpread": "1",
"lastInterestReviewDate": "2020-02-06T00:00:00+0000",
"accruedInterest": "0.19",
"interestFromArrearsAccrued": "0.02",
"lastInterestAppliedDate": "2020-02-03T00:00:00+0000",
"funds": [],
"guarantees": [],
"accruedPenalty": "0",
"loanPenaltyCalculationMethod": "NONE",
"disbursementDetails": {
"encodedKey": "8a8086c46f7a3258016f7b4fac3b0127",
"expectedDisbursementDate": "2019-12-01T00:00:00+0000",
"disbursementDate": "2019-12-01T00:00:00+0000",
"firstRepaymentDate": "2020-01-01T00:00:00+0000",
"transactionDetails": {
"encodedKey": "8a8086c46f7a3258016f7b4fac3b0128",
"transactionChannelKey": "8a80877d6f451a5c016f466bdd120049",
"internalTransfer": false,
"transactionChannel": {
"encodedKey": "8a80877d6f451a5c016f466bdd120049",
"id": "cash",
"name": "Cash",
"creationDate": "2019-12-27T09:14:35+0000",
"index": 0,
"activated": true,
"savingsConstraintsUsage": "UNCONSTRAINED_USAGE",
"savingsConstraints": {
"encodedKey": "8a80877d6f451a5c016f466bea33004b",
"filterConstraints": []
},
"usageRights": {
"encodedKey": "8a80877d6f451a5c016f466bdd12004a",
"isAccessibleByAllUsers": true,
"roles": []
}
}
},
"fees": [],
"customInformation": []
},
"arrearsTolerancePeriod": 3,
"accountArrearsSettings": {
"tolerancePeriod": 3,
"encodedKey": "8a8086c46f7a3258016f7b4fac3b0129",
"toleranceCalculationMethod": "ARREARS_TOLERANCE_PERIOD",
"dateCalculationMethod": "DATE_ACCOUNT_FIRST_WENT_TO_ARREARS",
"nonWorkingDaysMethod": "EXCLUDED"
},
"paymentPlan": [],
"interestRoundingVersion": "VERSION_2",
"prepaymentRecalculationMethod": "NO_RECALCULATION",
"principalPaidInstallmentStatus": "PARTIALLY_PAID",
"latePaymentsRecalculationMethod": "INCREASE_OVERDUE_INSTALLMENTS",
"applyInterestOnPrepaymentMethod": "AUTOMATIC",
"allowOffset": false,
"accrueLateInterest": true,
"holdBalance": "0",
"fees": [
{
"fee": {
"encodedKey": "8a8080855283305201528369d0d3001c"
}
},
{
"fee": {
"encodedKey": "8a8080855283305201528369d0d3001b"
},
"amount": "10"
},
{
"fee": {
"encodedKey": "8a808085528330520152836c5950002a"
},
"amount": "55"
}
]
}
400 : Bad Request
bad loan accont ID
{
"returnCode": 100,
"returnStatus": "INVALID_LOAN_ACCOUNT_ID"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | LoanAccountFullDetailsApiV1 |
400 | Bad Request | Bad Request | Inline |
Response Schema
Status Code 400
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode (required) | integer | none | none |
» returnStatus (required) | string | none | none |
» errorSource | string | none | none |
Currencies
Retrieve currency information which the organization is using for its accounts. Can retrieve a list of currencies or a specific one by code.
Get all Currencies
GET /currencies
List all currencies
Retrieves currencies used by the organization. By default only base currencies will be returned.
Parameters
Name | Type | Description | In |
---|---|---|---|
includeForeign | boolean | Whether to include foreign currencies supported by the organization | query |
Example Responses
200 : ok
a list of currencies including non-base currencies
[
{
"code": "USD",
"name": "United States dollar",
"symbol": "$",
"digitsAfterDecimal": 2,
"currencySymbolPosition": "BEFORE_NUMBER",
"isBaseCurrency": true,
"creationDate": "2016-05-24T16:51:12+0000",
"lastModifiedDate": "2016-05-24T16:51:12+0000"
},
{
"code": "RON",
"name": "Romanian new leu",
"symbol": "lei",
"digitsAfterDecimal": 2,
"currencySymbolPosition": "BEFORE_NUMBER",
"isBaseCurrency": false,
"creationDate": "2016-05-24T14:20:41+0000",
"lastModifiedDate": "2016-05-24T14:20:41+0000"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [CurrencyApiV1] | none | none |
» code | string | the three letter ISO code for this currency | none |
» creationDate | string | the date on which this currency was created | none |
» currencySymbolPosition | string | indicates where the currency symbol should appear in relation to the numeric value | none |
» digitsAfterDecimal | number | indicates how many decimal places are allowed for this currency. For example, a currenncy with 100 minor units to 1 major unit, there will be 2 decimal places. | none |
» isBaseCurrency | boolean | whether this currency is the base currency for your banking institution | none |
» lastModifiedDate | string | the date on which this currency was last modified | none |
» name | string | the name of this currency | none |
» symbol | string | the currency symnbol used for this currency | none |
Enumerated Values
Property | Value |
---|---|
currencySymbolPosition | AFTER_NUMBER |
currencySymbolPosition | BEFORE_NUMBER |
Get Currency by ISO Code
GET /currencies/{currencyCode}
Get a single currency
get a currency by id
Parameters
Name | Type | Description | In |
---|---|---|---|
currencyCode (required) | string | none | path |
Example Responses
200 Response
{
"code": "string",
"creationDate": "string",
"currencySymbolPosition": "AFTER_NUMBER",
"digitsAfterDecimal": 0,
"isBaseCurrency": true,
"lastModifiedDate": "string",
"name": "string",
"symbol": "string"
}
404 : Not Found
bad currency code
{
"returnCode": 650,
"returnStatus": "INVALID_CURRENCY_CODE"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | CurrencyApiV1 |
404 | Not Found | Not Found | Inline |
Response Schema
Status Code 404
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | string | none | none |
» returnStatus | string | none | none |
Get Currency Exchange Rates
GET /currencies/{currencyCode}/rates
List Currency Rates
Retrieves currency's exchange rates. If both from and to parameters are specified, it returns the list of exchange rates that start in/after from date or before(exclusive) to date.
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer | The start index of the returned exchange rates list. | query |
limit | integer | The number of elements to be returned. | query |
from | string(date) | From (start) date to retrieve the exchange rates. | query |
to | string(date) | To (end) date to retrieve the exchange rates. | query |
currencyCode (required) | string | the three letter ISO code of the currency for | path |
Example Responses
200 : ok
EUR/ARS exchange rate
[
{
"encodedKey": "8a19cd6f74674df90174681f214103d3",
"userKey": "8a194075720ece2c017226fced6f005e",
"fromCurrencyCode": "EUR",
"toCurrencyCode": "ARS",
"buyRate": "0.0113653",
"sellRate": "87.9872",
"startDate": "2020-09-07T15:24:11+0000"
}
]
400 : Bad Request
buy and sell rate values switched
{
"returnCode": 656,
"returnStatus": "BUY_RATE_GREATER_THAN_SELL_RATE"
}
404 : Not Found
bad currency code
{
"returnCode": 650,
"returnStatus": "INVALID_CURRENCY_CODE"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | Inline |
400 | Bad Request | Bad Request | Inline |
404 | Not Found | Not Found | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [ExchangeRateApiV1] | none | none |
» buyRate (required) | number | The amount the currency will be bought compared to the base currency. | none |
» encodedKey | string | a unique key for this exchange rate | none |
» endDate | string(date-time) | the date and time at which this rate was replaced by a newer one | none |
» fromCurrencyCode | string | the currency code from which the currency will be exchanged | none |
» sellRate (required) | number | The amount the currency will be sold to base currency. | none |
» startDate (required) | string(date-time) | The date from which the exchange rate will be valid. Must not be in the future or before the latest exchange rate's (for that currency) start date. If not provided, the organization current date and time will be used. | none |
» toCurrencyCode | string | the currency code into which the currency will be exchanged | none |
» userKey | string | the encoded key of the user who created the exchange rate | none |
Status Code 400
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | string | none | none |
» returnStatus | string | none | none |
Status Code 404
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | string | none | none |
» returnStatus | string | none | none |
Update Currency Exchange Rate
POST /currencies/{currencyCode}/rates
Set or update exchange rate
Stores a new exchange rate for a given currency.
Example requests
exchange rate
{
"buyRate": "0.0113420",
"sellRate": "86.0342"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
body | CreateExchangeRateApiV1 | Post new currency exchange rate with optional validity start date | body |
currencyCode (required) | string | the three letter ISO code of the currency for | path |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | None |
Custom Field Sets
Allows you to retrieve the defined custom field sets.
Get Custom Field Sets
GET /customfieldsets
List Custom Field Sets
Allows retrieving of a list custom field sets that can be optionaly filtered by type. If a given type has no fields, an empty array will be returned.
Parameters
Name | Type | Description | In |
---|---|---|---|
type | string | Filter by entity type | query |
Enumerated Values
Parameter | Value |
---|---|
type | USER_INFO |
type | ASSET_INFO |
type | CLIENT_INFO |
type | LINE_OF_CREDIT |
type | GROUP_INFO |
type | TRANSACTION_CHANNEL_INFO |
type | BRANCH_INFO |
type | SAVINGS_ACCOUNT_INFO |
type | LOAN_ACCOUNT_INFO |
type | GUARANTOR_INFO |
type | CENTRE_INFO |
Example Responses
200 Response
[
{
"builtInType": "DETAILS",
"createdDate": "string",
"customFields": [
{
"amounts": {
"property1": 0,
"property2": 0
},
"builtInCustomFieldId": "MOBILE_PHONE",
"creationDate": "string",
"customFieldProductSettings": [
{
"customFieldEncodedKey": "string",
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"isDefault": true,
"isRequired": true,
"linkType": "CLIENT_ROLE",
"productKey": "string"
}
],
"customFieldSelectionOptions": [
{
"constraint": {
"customFieldKey": "string",
"dataFieldType": "NATIVE",
"dataFieldValue": "string",
"dataItemType": "WRITTEN_OFF_LOANS",
"dataType": "ENUM",
"encodedKey": "string",
"filterElement": "STARTS_WITH_CASE_SENSITIVE",
"groupNumber": 0,
"index": 0,
"linkingOperator": "OR",
"secondValue": "string",
"value": "string"
},
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"id": "string",
"score": 0,
"value": "string"
}
],
"customFieldSet": {},
"dataType": "GROUP_LINK",
"description": "string",
"editRights": {
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"isAccessibleByAllUsers": true,
"roles": [
"string"
]
},
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"id": "string",
"indexInList": 0,
"isDefault": true,
"isRequired": true,
"lastModifiedDate": "string",
"name": "string",
"state": "DEACTIVATED",
"type": "USER_INFO",
"unique": true,
"validationPattern": "string",
"valueLength": "SHORT",
"values": [
"string"
],
"viewRights": {
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"isAccessibleByAllUsers": true,
"roles": [
"string"
]
}
}
],
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"id": "string",
"indexInList": 0,
"lastModifiedDate": "string",
"name": "string",
"notes": "string",
"type": "USER_INFO",
"usage": "SINGLE"
}
]
400 : Bad Request
bad type filter
{
"returnCode": 4,
"returnStatus": "INVALID_PARAMETERS",
"errorSource": "there is a problem with the input parameters"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | Inline |
400 | Bad Request | Bad Request | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [CustomFieldSetApiV1] | none | none |
» builtInType | string | if this set is part of the set of built-in custom field sets, its type will be shown here | none |
» createdDate | string | the date and time when this custom field set was created | none |
» customFields | [CustomFieldApiV1] | an array of custom field definitions included in this custom field set | none |
»» amounts | object | used when options available for a custom field definition translate to predefined amounts, for example, when the custom field value is used to generate a score | none |
»»» additionalProperties | number | none | none |
»» builtInCustomFieldId | string | if this field is one of the built in custom fiel definitions, this will have a value. These names are reserved and you can not use them for your own custom field definitions | none |
»» creationDate | string | the date on which this custom field definition was created | none |
»» customFieldProductSettings | [CustomFieldLinkApiV1] | none | none |
»»» customFieldEncodedKey | string | the key to the parent custom field definition | none |
»»» encodedKey | string | the automatically generated encoded ID for this item | none |
»»» isDefault | boolean | whether this field is displayed by default when creating a new record | none |
»»» isRequired | boolean | whether this field is required when creating a new record | none |
»»» linkType | string | the type of entity this field represents a link to | none |
»»» productKey | string | when the link type is product, this field should contain the encoded key of the linekd product | none |
»» customFieldSelectionOptions | [CustomFieldSelectionApiV1] | [represents a possible selection for select type custom field definitions] | none |
»»» constraint | CustomFilterConstraintApiV1 | none | none |
»»»» customFieldKey | string | none | none |
»»»» dataFieldType | string | none | none |
»»»» dataFieldValue | string | none | none |
»»»» dataItemType | string | none | none |
»»»» dataType | string | none | none |
»»»» encodedKey | string | none | none |
»»»» filterElement | string | none | none |
»»»» groupNumber | number | none | none |
»»»» index | number | none | none |
»»»» linkingOperator | string | none | none |
»»»» secondValue | string | none | none |
»»»» value | string | none | none |
»»» encodedKey | string | the automatically generated encoded ID for this item | none |
»»» id | string | the ID of this selectable item | none |
»»» score | number | the score assigned to this selection | none |
»»» value | string | display name of this option | none |
»» customFieldSet | CustomFieldSetApiV1 | none | none |
»» dataType | string | the type of custom field definition | none |
»» description | string | a brief description of this custom field definition | none |
»» editRights | UsageRightsApiV1 | none | none |
»»» encodedKey | string | the automatically generated encoded ID for this item | none |
»»» isAccessibleByAllUsers | boolean | none | none |
»»» roles | [string] | none | none |
»» encodedKey | string | the automatically generated encoded ID for this item | none |
»» id | string | the ID for this custom field definition | none |
»» indexInList | number | none | none |
»» isDefault | boolean | whether this field will be included by default on new records | none |
»» isRequired | boolean | whether this field is required when creating a new record | none |
»» lastModifiedDate | string | the date on which this custom field definition was last modified | none |
»» name | string | the name of this custom field definition | none |
»» state | string | whether this field is available for use or has been deactivated | none |
»» type | string | the type of data this custom field definition will contain | none |
»» unique | boolean | whether the data in this custom field definition needs to be a unique value | none |
»» validationPattern | string | a user-provided pattern to which data in this custom field definition must conform where @ represents numbers, # represents letters and $ is either a number or letter. Other special characters used as separators are allowed, for example @@-##-$$$ | none |
»» valueLength | string | whether this field needs to support a large number of characters | none |
»» values | [string] | a list of possible values when the field is a selection field | none |
»» viewRights | UsageRightsApiV1 | none | none |
» encodedKey | string | the automatically generated encoded ID for this item | none |
» id | string | the ID of this custom field set | none |
» indexInList | number | for field sets that can be added to an entity more than once, this number represents the index in the list and is used when changing values | none |
» lastModifiedDate | string | the date on which this custom field set was last modified | none |
» name | string | the name of this custom field set | none |
» notes | string | any notes regarding this custom field set | none |
» type | string | the entity type that this custom field definition is attached to | none |
» usage | string | whether this custom field set can only be used once, or added multiple times to the same entity | none |
Enumerated Values
Property | Value |
---|---|
builtInType | DETAILS |
builtInType | GENERAL |
builtInCustomFieldId | MOBILE_PHONE |
builtInCustomFieldId | EMAIL_ADDRESS |
builtInCustomFieldId | GENDER |
builtInCustomFieldId | MIDDLE_NAME |
builtInCustomFieldId | HOME_PHONE |
builtInCustomFieldId | BIRTHDATE |
builtInCustomFieldId | LAST_NAME |
builtInCustomFieldId | FIRST_NAME |
linkType | CLIENT_ROLE |
linkType | CHANNEL |
linkType | PRODUCT |
dataFieldType | NATIVE |
dataFieldType | CUSTOM |
dataItemType | WRITTEN_OFF_LOANS |
dataItemType | LINE_OF_CREDIT |
dataItemType | INVESTOR_FUND |
dataItemType | TRANSACTION_DETAILS |
dataItemType | DOCUMENT_TEMPLATE |
dataItemType | PRODUCT |
dataItemType | MCC_EXPIRATION |
dataItemType | CENTRE |
dataItemType | REPAYMENT_COLLECTION |
dataItemType | TASK |
dataItemType | OUTSTANDING_PORTFOLIO_AMOUNTS |
dataItemType | REVENUE |
dataItemType | COMPOSED_TRANSACTIONS |
dataItemType | UNION_TRANSACTIONS |
dataItemType | PRINCIPAL_PAYMENT_SETTINGS |
dataItemType | LOANS |
dataItemType | DISBURSEMENT_DETAILS |
dataItemType | SAVINGS_TRANSACTION |
dataItemType | IDENTIFICATION_DOCUMENT |
dataItemType | LOAN_PRODUCT |
dataItemType | DISBURSED_LOANS |
dataItemType | LOAN_GROUP |
dataItemType | TRANSACTION_CHANNEL |
dataItemType | CUSTOM_PREDEFINED_FEE |
dataItemType | JOURNAL_ENTRY |
dataItemType | ATTACHMENT |
dataItemType | PREDEFINED_FEE |
dataItemType | TRANCHE |
dataItemType | TRANSACTION |
dataItemType | INDEX_RATE_SOURCE |
dataItemType | GROUP_ROLE |
dataItemType | LOAN_TRANSACTION |
dataItemType | CLIENT_ROLE |
dataItemType | GROUP |
dataItemType | NOTIFICATION_MESSAGE |
dataItemType | OUTSTANDING_PORTFOLIO_ACCOUNTS |
dataItemType | REPAYMENT |
dataItemType | LOAN_ACCOUNT_GUARANTY |
dataItemType | BRANCH |
dataItemType | CURRENCY |
dataItemType | CARD_TRANSACTION_REVERSAL |
dataItemType | INTEREST_PRODUCT_SETTINGS |
dataItemType | CREATED_ACCOUNTS |
dataItemType | USER |
dataItemType | SAVINGS_PRODUCT |
dataItemType | CLIENT |
dataItemType | PRODUCT_ARREARS_SETTINGS |
dataItemType | SAVINGS |
dataItemType | EXPENSE |
dataItemType | INDEX_RATE |
dataItemType | NOTIFICATION_TEMPLATE |
dataItemType | CUSTOM_FIELD_SELECTION |
dataItemType | ACTIVITY |
dataType | ENUM |
dataType | MONEY |
dataType | NUMBER |
dataType | DATE_UTC |
dataType | JAVA_BLOB |
dataType | OBJECT |
dataType | BOOLEAN |
dataType | DATE |
dataType | PERCENT |
dataType | BIG_DECIMAL |
dataType | STRING |
dataType | KEY |
dataType | LONG |
filterElement | STARTS_WITH_CASE_SENSITIVE |
filterElement | THIS_WEEK |
filterElement | EQUALS |
filterElement | STARTS_WITH |
filterElement | IN |
filterElement | TODAY |
filterElement | THIS_YEAR |
filterElement | BETWEEN |
filterElement | AFTER |
filterElement | LESS_THAN |
filterElement | DIFFERENT_THAN |
filterElement | THIS_MONTH |
filterElement | NOT_EMPTY |
filterElement | BEFORE |
filterElement | EQUALS_CASE_SENSITIVE |
filterElement | LAST_DAYS |
filterElement | MORE_THAN |
filterElement | EMPTY |
filterElement | ON |
linkingOperator | OR |
linkingOperator | AND |
dataType | GROUP_LINK |
dataType | DATE |
dataType | NUMBER |
dataType | CHECKBOX |
dataType | CLIENT_LINK |
dataType | STRING |
dataType | USER_LINK |
dataType | SELECTION |
state | DEACTIVATED |
state | NORMAL |
type | USER_INFO |
type | ASSET_INFO |
type | CLIENT_INFO |
type | LINE_OF_CREDIT |
type | GROUP_INFO |
type | TRANSACTION_CHANNEL_INFO |
type | BRANCH_INFO |
type | SAVINGS_ACCOUNT_INFO |
type | LOAN_ACCOUNT_INFO |
type | GUARANTOR_INFO |
type | CENTRE_INFO |
valueLength | SHORT |
valueLength | LONG |
type | USER_INFO |
type | ASSET_INFO |
type | CLIENT_INFO |
type | LINE_OF_CREDIT |
type | GROUP_INFO |
type | TRANSACTION_CHANNEL_INFO |
type | BRANCH_INFO |
type | SAVINGS_ACCOUNT_INFO |
type | LOAN_ACCOUNT_INFO |
type | GUARANTOR_INFO |
type | CENTRE_INFO |
usage | SINGLE |
usage | GROUPED |
Status Code 400
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | string | none | none |
» returnStatus | string | none | none |
» errorSource | string | none | none |
Custom Fields
Allows you to retrieve the defined custom field definitions. A custom field definition can be a member of a custom field set.
Get Custom Field Definition Details
GET /customfields/{customFieldId}
Get details on a custom field definition
Allows retrieving of a custom field definition based on id/key. The custom field definition can be fetched only based on id/key.
Parameters
Name | Type | Description | In |
---|---|---|---|
customFieldId (required) | string | none | path |
Example Responses
200 : ok
Response containing the custom field definition with IDJOB_TITLE
{
"encodedKey": "8a54e5b44449337f01444a6db5d40006",
"id": "JOB_TITLE",
"name": "Current Job Title",
"type": "CLIENT_INFO",
"dataType": "STRING",
"valueLength": "LONG",
"isDefault": true,
"isRequired": true,
"description": "The current job title for the client.",
"indexInList": 8,
"state": "NORMAL"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | CustomFieldApiV1 |
Database Backups
Allows API users to trigger Mambu database backups and download them once they are ready.
Execution flow example:
- Use POST call to request the database backup to be generated and register/define the callback endpoint.
- This call triggers the database copy creation, which is a prerequisite to download a backup.
- The callback parameter is not required but recommended.
- If a callback parameter is defined, a callback will be sent to the endpoint, confirming that step 1 has been completed and that the database backup can be downloaded.
- The response to this callback should be OK (200).
- The endpoint is useful to ensure that the creation process has finished and step 3 can be performed.
- Use a GET call to request the download of the database backup.
- If an endpoint is defined, it can be triggered immediately after the callback (step 2) is received.
- If there is no endpoint defined, please wait several minutes, up to one hour (depending on the size of your database), to allow Mambu some time to finish the creation of the database from step 1.
Required permissions:
- Download Backups for triggering and downloading a database backup
Initiate Database Backup
POST /database/backup
Initiate database backup
Example callback payload
{
"tenantId":"demo",
"result":"COMPLETE",
"domain":"demo.mambu.com",
"fileName":"demo-MANUAL-DATABASE-BACKUP"
}
Allow the trigger of database backups. The developer can be notified via a callback defined in the POST call when the backup is ready. You can provide the callback either in the JSON body or as a query parameter. After the database backup process is completed, the a payload will be sent to the callback url provided as in the example provided.
Required permission: Download Backups for triggering and downloading a database backup
Please Note:
While a backup is in progress, Mambu will not allow starting another one. If you need to create backups after Mambu's nightly processing, you can setup the "End of Day Processing" / "Accounts Updated" WebHook in Mambu to get notified and then trigger the backup request with this API.
Example requests
Example request using query parameter
https://TENANT_NAME.mambu.com/api/database/backup?callback=https%3A%2F%2Fmy-callback-service.com%2Fsource%3Dmambu%26whatis%3Ddatabse-backup
Example JSON Body with callback
{
"callback": "https://path.to/myserver?callback.php"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
callback | string | URL encoded callback | query |
callback | string(uri) | A valid URL. It will receive a WebHook call from Mambu once the backup is available (Optional). | body |
Example Responses
200 : OK
Success reponse
{
"returnCode": 0,
"returnStatus": "SUCCESS"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | the code of the response | none |
» returnStatus | string | a machine readable explanation of the response | none |
» errorSource | string | a human readable description of the response | none |
Get Latest Database Backup
GET /database/backup/LATEST
Download latest backup
Download the latest database backup that was triggered via the POST call.
The response headers will contain more information about the backup:
- Content-Type: application/zip
- Content-Disposition: attachment; filename="demo_tenantMANUALDATABASEBACKUP.zip"
- LastModified: the date when the database backup execution finished
Required permission: Download Backups for triggering and downloading a database backup.
Example Responses
400 : No current backup
No current backup
400 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | None |
400 | Bad Request | No current backup | Inline |
Response Schema
Status Code 400
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | the code of the response | none |
» returnStatus | string | a machine readable explanation of the response | none |
» errorSource | string | a human readable description of the response | none |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Content-Disposition | string | the file name and encoding of the file to be downloaded | |
200 | Content-Type | string | the file type of the file to be downloaded | |
200 | Last Modified | string | the date when the database backup execution finished |
Documents
Allows you to get, post or delete attachments. This endpoint accepts files up to a maximum size of 50MB.
Attach new Document
POST /documents
Add attachment to entity
Allows for adding attachments of up to 50MB to a client or account. The request should include a JSON body containing metadata about the data being pushed, including the documentHolderType
(e.g. CLIENT
) and documentHolderKey
as well as the base64 encoded document content.
Example requests
A user photo
{
"document": {
"documentHolderKey": "40288a0c3e3cfb4e013e3d00bbzxcvs",
"documentHolderType": "USER",
"name": "john_photo",
"type": "jpg"
},
"documentContent": "[base64encodedString]"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
body | CreateDocumentApiV1 | a new document | body |
Example Responses
200 : OK
Details on an uploaded attachment
{
"encodedKey": "8aa0f78f444f763601444f7fb89e0001",
"id": 1,
"creationDate": "2014-02-20T13:32:54+0000",
"lastModifiedDate": "2014-02-20T13:32:54+0000",
"documentHolderKey": "8a33ae49441c4fe101441c7149cb00fe",
"documentHolderType": "CLIENT",
"name": "document",
"type": "doc",
"fileSize": 14,
"originalFilename": "document",
"location": "8aa0f78f444f763601444f7fb89e0001",
"createdByUserKey": "8a33ae49441c4fe101441c5fe42f0005"
}
400 : Bad Request
Wrong content type specified
{
"returnCode": 973,
"returnStatus": "INCONSISTENT_EXTENSION_WITH_FILE_CONTENT",
"errorSource": "Invalid extension with file content"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | DocumentApiV1 |
400 | Bad Request | Bad Request | Inline |
Response Schema
Status Code 400
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | string | none | none |
» returnStatus | string | none | none |
» errorSource | string | none | none |
Get Documents
GET /documents
Get documents
Allows retrieving a list of documents descriptions based on the owner id/key or type. Documents will be returned as with base64 encoded string. The list of document descriptions can be paginated.
Parameters
Name | Type | Description | In |
---|---|---|---|
ownerType (required) | string | The type of entity holding the documents | query |
ownerId (required) | string | The ID or encoded key of the entity | query |
Enumerated Values
Parameter | Value |
---|---|
ownerType | CLIENT |
ownerType | GROUP |
ownerType | LOAN_ACCOUNT |
ownerType | SAVINGS_ACCOUNT |
ownerType | LOAN_PRODUCT |
ownerType | SAVINGS_PRODUCT |
ownerType | USER |
ownerType | CENTRE |
ownerType | BRANCH |
Example Responses
200 : OK
An array of documents for a loan account
[
{
"encodedKey": "8a19c035747bf5b901747d09c578035e",
"id": 57,
"creationDate": "2020-09-11T12:30:13+0000",
"lastModifiedDate": "2020-09-11T12:30:13+0000",
"documentHolderKey": "8a19b6e4746cc6ed01746cf1436c00c5",
"documentHolderType": "LOAN_ACCOUNT",
"name": "texx",
"type": "txt",
"fileSize": 14,
"originalFilename": "test.txt",
"location": "OZAYCTQRLNPDSDWKMPARVPHLFYHVFO",
"description": "a text file",
"createdByUserKey": "8a194075720ece2c017226fced6f005e",
"userName": "Happy Go Lucky",
"documentHolder": {
"type": "LOAN",
"holderKey": "8a193c26722b51b701722d77c5e423b7",
"accountHolderType": "CLIENT",
"encodedKey": "8a19b6e4746cc6ed01746cf1436c00c5",
"displayName": "BLBE564"
}
},
{
"encodedKey": "8a19c035747bf5b901747c77d78e01c6",
"id": 54,
"creationDate": "2020-09-11T11:51:22+0000",
"lastModifiedDate": "2020-09-11T11:51:22+0000",
"documentHolderKey": "8a19b6e4746cc6ed01746cf1436c00c5",
"documentHolderType": "LOAN_ACCOUNT",
"name": "some other image",
"type": "png",
"fileSize": 32109,
"originalFilename": "some_other_image.png",
"location": "NCYBXXEJCZBQVHAEAJTPITEGUBVXRO",
"description": "this is another image file",
"createdByUserKey": "8a194075720ece2c017226fced6f005e",
"userName": "Holly Go Lightly",
"documentHolder": {
"type": "LOAN",
"holderKey": "8a193c26722b51b701722d77c5e423b7",
"accountHolderType": "CLIENT",
"encodedKey": "8a19b6e4746cc6ed01746cf1436c00c5",
"displayName": "BLBE564"
}
},
{
"encodedKey": "8a19c035747bf5b901747c77d78e01c4",
"id": 53,
"creationDate": "2020-09-11T11:39:33+0000",
"lastModifiedDate": "2020-09-11T11:39:33+0000",
"documentHolderKey": "8a19b6e4746cc6ed01746cf1436c00c5",
"documentHolderType": "LOAN_ACCOUNT",
"name": "file for loan account",
"type": "png",
"fileSize": 8258,
"originalFilename": "Screenshot_2020-04-22_at_14.31.29.png",
"location": "FCLRPXHUTCXURCALXAIFESFUURNUBR",
"description": "a file attached to a loan account",
"createdByUserKey": "8a194075720ece2c017226fced6f005e",
"userName": "Go Go Gadget",
"documentHolder": {
"type": "LOAN",
"holderKey": "8a193c26722b51b701722d77c5e423b7",
"accountHolderType": "CLIENT",
"encodedKey": "8a19b6e4746cc6ed01746cf1436c00c5",
"displayName": "BLBE564"
}
},
{
"encodedKey": "8a19a3337476f2d00174775b6a3001b0",
"id": 44,
"creationDate": "2020-09-10T09:34:51+0000",
"lastModifiedDate": "2020-09-10T09:34:51+0000",
"documentHolderKey": "8a19b6e4746cc6ed01746cf1436c00c5",
"documentHolderType": "LOAN_ACCOUNT",
"name": "loan acc doc",
"type": "png",
"fileSize": 15028,
"originalFilename": "additional_reading_callout.png",
"location": "UTOLWAEQURRYFNBIPNUXXFEXBCPKQR",
"description": "desc loan acc doc",
"createdByUserKey": "8a194075720ece2c017226fced6f005e",
"userName": "Train Go Choo Choo",
"documentHolder": {
"type": "LOAN",
"holderKey": "8a193c26722b51b701722d77c5e423b7",
"accountHolderType": "CLIENT",
"encodedKey": "8a19b6e4746cc6ed01746cf1436c00c5",
"displayName": "BLBE564"
}
}
]
400 : Bad Request
bad ID
{
"returnCode": 4,
"returnStatus": "INVALID_PARAMETERS",
"errorSource": "wrong owner id"
}
500 : Internal Server Error
bad value for ownerType parameter
{
"returnCode": 6,
"returnStatus": "INTERNAL_ERROR"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | DocumentForAccountApiV1 |
400 | Bad Request | Bad Request | ExecutionStatusApiV1 |
500 | Internal Server Error | Internal Server Error | ExecutionStatusApiV1 |
Get Document by ID
GET /documents/{documentId}
Get Document by ID
Allows retrieving the content of a document encoded with base64 based on the document id/key.
Parameters
Name | Type | Description | In |
---|---|---|---|
documentId (required) | string | The ID (encoded key) of the document | path |
Example Responses
200 : OK
Example base64-encoded document
"dGhhbmtzIGZvciBjaGVja2luZywgd2UncmUgYWxsIGZpbmUgaGVyZQ"
400 : Bad Request
Bad Document ID
{
"returnCode": 970,
"returnStatus": "INVALID_DOCUMENT_ID"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | string |
400 | Bad Request | Bad Request | ExecutionStatusApiV1 |
Delete Document
DELETE /documents/{documentId}
Delete a Document
Allows the deletion of attachments based on id/encoded key.
Parameters
Name | Type | Description | In |
---|---|---|---|
documentId (required) | string | The ID (encoded key) of the document | path |
Example Responses
200 : OK
Success Response
{
"returnCode": 0,
"returnStatus": "SUCCESS"
}
403 : Forbidden
Account lacks required permissions
{
"returnCode": 2,
"returnStatus": "INVALID_CREDENTIALS"
}
404 : Not Found
Bad Document ID
{
"returnCode": 970,
"returnStatus": "INVALID_DOCUMENT_ID"
}
503 : Service Unavailable
Account is blocked
{
"returnCode": 24,
"returnStatus": "EXCESSIVE_INVALID_REQUESTS"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ExecutionStatusApiV1 |
403 | Forbidden | Forbidden | ExecutionStatusApiV1 |
404 | Not Found | Not Found | ExecutionStatusApiV1 |
503 | Service Unavailable | Service Unavailable | ExecutionStatusApiV1 |
General Ledger Accounts
Allows you to retrieve GL (General Ledger) accounts by type or specific GL accounts along with their balance. Balance for the GL accounts can be taken from the current moment or from a date range.
Get all GL Accounts
GET /glaccounts
Get All GL Accounts
Retrieve a list of GL accounts.
Parameters
Name | Type | Description | In |
---|---|---|---|
type (required) | string | The type of GL accounts to retrieve. Required if no account id is provided. | query |
from | string | From (start) date to compute the account balance on. | query |
to | string | To (end) date to compute the account balance on. | query |
branchID | string | The branch ID on which to calculate/filter the gl accounts balances. | query |
Enumerated Values
Parameter | Value |
---|---|
type | ASSET |
type | LIABILITY |
type | EQUITY |
type | INCOME |
type | EXPENSE |
Example Responses
200 : OK
An array of GL Accounts
[
{
"encodedKey": "8a193c26722b51b701722d77cd9e26c0",
"creationDate": "2020-05-19T15:05:26+0000",
"lastModifiedDate": "2020-05-19T15:05:26+0000",
"glCode": "11100",
"type": "ASSET",
"usage": "DETAIL",
"name": "Cash on Hand",
"activated": true,
"allowManualJournalEntries": true,
"stripTrailingZeros": true,
"currency": {
"code": "EUR",
"name": "Euro",
"symbol": "€",
"digitsAfterDecimal": 2,
"currencySymbolPosition": "BEFORE_NUMBER",
"isBaseCurrency": true,
"creationDate": "2020-05-18T08:53:31+0000",
"lastModifiedDate": "2020-05-18T08:53:31+0000"
},
"balance": "39147.84"
},
{
"encodedKey": "8a193c26722b51b701722d77cdc826d6",
"creationDate": "2020-05-19T15:05:26+0000",
"lastModifiedDate": "2020-05-19T15:05:26+0000",
"glCode": "11400",
"type": "ASSET",
"usage": "DETAIL",
"name": "Client Savings Bank Account",
"activated": true,
"allowManualJournalEntries": true,
"stripTrailingZeros": true,
"currency": {
"code": "EUR",
"name": "Euro",
"symbol": "€",
"digitsAfterDecimal": 2,
"currencySymbolPosition": "BEFORE_NUMBER",
"isBaseCurrency": true,
"creationDate": "2020-05-18T08:53:31+0000",
"lastModifiedDate": "2020-05-18T08:53:31+0000"
},
"balance": "4253.21"
},
{
"encodedKey": "8a193c26722b51b701722d77cdb126ca",
"creationDate": "2020-05-19T15:05:26+0000",
"lastModifiedDate": "2020-05-19T15:05:26+0000",
"glCode": "11700",
"type": "ASSET",
"usage": "DETAIL",
"name": "Interest Receivable",
"activated": true,
"allowManualJournalEntries": true,
"stripTrailingZeros": true,
"currency": {
"code": "EUR",
"name": "Euro",
"symbol": "€",
"digitsAfterDecimal": 2,
"currencySymbolPosition": "BEFORE_NUMBER",
"isBaseCurrency": true,
"creationDate": "2020-05-18T08:53:31+0000",
"lastModifiedDate": "2020-05-18T08:53:31+0000"
},
"balance": "1305.32"
}
]
400 : Bad Request
bad account ID
{
"returnCode": 601,
"returnStatus": "INVALID_GL_ACCOUNT_TYPE"
}
400 : Bad Request
bad dates
{
"returnCode": 610,
"returnStatus": "INVALID_ACCOUNTING_DATE_ORDER",
"errorSource": "The from date is set after the to date"
}
400 : Bad Request
branch not found
{
"returnCode": 800,
"returnStatus": "INVALID_BRANCH_ID"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad Request | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [GLAccountApiV1] | [A general ledger account] | none |
» activated | boolean | whether this general ledger account is in use | none |
» allowManualJournalEntries | boolean | whether manual entries are allowed for this general ledger account | none |
» balance | number | the current balance of this general ledger account | none |
» creationDate | string(date-time) | the date on which this general ledger account was created | read-only |
» currency | CurrencyApiV1 | none | none |
»» code | string | the three letter ISO code for this currency | none |
»» creationDate | string | the date on which this currency was created | none |
»» currencySymbolPosition | string | indicates where the currency symbol should appear in relation to the numeric value | none |
»» digitsAfterDecimal | number | indicates how many decimal places are allowed for this currency. For example, a currenncy with 100 minor units to 1 major unit, there will be 2 decimal places. | none |
»» isBaseCurrency | boolean | whether this currency is the base currency for your banking institution | none |
»» lastModifiedDate | string | the date on which this currency was last modified | none |
»» name | string | the name of this currency | none |
»» symbol | string | the currency symnbol used for this currency | none |
» description | string | an optional description for this general ledger account | none |
» encodedKey | string | the encoded key of this general ledger account | none |
» glCode | string | the numeric code for this general ledger account | none |
» lastModifiedDate | string(date-time) | the date on which this general ledger account was last modified | read-only |
» migrationEvent | DataMigrationEventApiV1 | details about an import or export operation | none |
»» creationDate | string(date-time) | the date on which the data import was made | none |
»» encodedKey | string | the encoded key of this data migration event | none |
»» numCentresImported | number | the number of centres which were imported during the data migration | none |
»» numClientsImported | number | the number of clients which were imported as part of the data migration | none |
»» numGLAccountsImported | number | the number of general ledger accounts which were imported as part of the data migration | none |
»» numGroupsImported | number | the number of groups which were imported as part of the data migration | none |
»» numLoanRepaymentsImported | number | the number of loan repayment transations which were imported as part of the data migration | none |
»» numLoanTransactionsImported | number | the number of loan transactions which were imported as part of the data migration | none |
»» numLoansImported | number | the number of loan accounts which were imported as part of the data migration | none |
»» numSavingsImported | number | the number of savings accounts which were imported as part of the data migration | none |
»» state | string | whether the data import was accepted, is still in a draft state, or was rejected and all data reverted | none |
»» type | string | the type of migration event | none |
» name | string | the name of this general ledger account | none |
» stripTrailingZeros | boolean | controls how this account is organized into header accounts when there are trailing zeroes, for example, for the account code 1100 , if this field is set to true, only the first two numbers will be recognised | none |
» type | string | the type of general ledger account | none |
» usage | string | whether this general ledger account is a DETAIL account, in which case it will have a value, or a HEADER account, in which case its value will be calculated based on the sum of detail accounts under it. | none |
Enumerated Values
Property | Value |
---|---|
currencySymbolPosition | AFTER_NUMBER |
currencySymbolPosition | BEFORE_NUMBER |
state | REVERTED |
state | DRAFT |
state | APPROVED |
type | IMPORT |
type | EXPORT |
type | INCOME |
type | EXPENSE |
type | LIABILITY |
type | ASSET |
type | EQUITY |
usage | HEADER |
usage | DETAIL |
Status Code 400
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | string | none | none |
» returnStatus | string | none | none |
Get GL Account by ID
GET /glaccounts/{glAccountId}
Get single GL Account
Retrieve details on a specific General Ledger Account.
Parameters
Name | Type | Description | In |
---|---|---|---|
from | string | From (start) date to compute the account balance on. | query |
to | string | To (end) date to compute the account balance on. | query |
branchID | string | The branch ID on which to calculate/filter the gl accounts balances. | query |
glAccountId (required) | string | The ID of the GL account. | path |
Example Responses
200 : OK
example-1
{
"encodedKey": "8a193c26722b51b701722d77cd9e26c0",
"creationDate": "2020-05-19T15:05:26+0000",
"lastModifiedDate": "2020-05-19T15:05:26+0000",
"glCode": "11100",
"type": "ASSET",
"usage": "DETAIL",
"name": "Cash on Hand",
"activated": true,
"allowManualJournalEntries": true,
"stripTrailingZeros": true,
"currency": {
"code": "EUR",
"name": "Euro",
"symbol": "€",
"digitsAfterDecimal": 2,
"currencySymbolPosition": "BEFORE_NUMBER",
"isBaseCurrency": true,
"creationDate": "2020-05-18T08:53:31+0000",
"lastModifiedDate": "2020-05-18T08:53:31+0000"
},
"balance": "-1685.55"
}
400 : Bad Request
bad GL Account ID
{
"returnCode": 600,
"returnStatus": "INVALID_GL_ACCOUNT_ID"
}
400 : Bad Request
bad dates
{
"returnCode": 610,
"returnStatus": "INVALID_ACCOUNTING_DATE_ORDER",
"errorSource": "The from date is set after the to date"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | GLAccountApiV1 |
400 | Bad Request | Bad Request | Inline |
Response Schema
Status Code 400
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | string | none | none |
» returnStatus | string | none | none |
Get GL Journal Entries for a GL Account
GET /glaccounts/{glAccountId}/gljournalentries
Get GL Journal Entries for a GL Account
Get GL Journal Entries for a given GL Account.
Parameters
Name | Type | Description | In |
---|---|---|---|
from (required) | string | Start date - The first booking date you want to retrieve journal entries from. | query |
to (required) | string | End date - The last booking date you want to retrieve journal entries from. | query |
glAccountId (required) | string | The ID of the GL account. | path |
Example Responses
200 : OK
An array of journal entries
[
{
"encodedKey": "8a19a207744d899f01744e8893a50800",
"entryID": 95,
"creationDate": "2020-09-02T11:50:10+0000",
"entryDate": "2020-08-10T00:00:00+0000",
"transactionID": "21",
"accountKey": "8a19c32b72eac4420172efcb0f176bbd",
"productKey": "8a193c26722b51b701722d77ca932614",
"productType": "LOAN",
"amount": "200",
"glAccount": {
"encodedKey": "8a193c26722b51b701722d77cd9e26c0",
"creationDate": "2020-05-19T15:05:26+0000",
"lastModifiedDate": "2020-05-19T15:05:26+0000",
"glCode": "11100",
"type": "ASSET",
"usage": "DETAIL",
"name": "Cash on Hand",
"activated": true,
"allowManualJournalEntries": true,
"stripTrailingZeros": true
},
"type": "DEBIT",
"userKey": "8a194075720ece2c017226fced6f005e",
"bookingDate": "2020-08-10T00:00:00+0000"
},
{
"encodedKey": "8a19a207744d899f01744e83027507f6",
"entryID": 92,
"creationDate": "2020-09-02T11:16:48+0000",
"entryDate": "2020-06-15T00:00:00+0000",
"transactionID": "20",
"accountKey": "8a19c32b72eac4420172efcb0f176bbd",
"productKey": "8a193c26722b51b701722d77ca932614",
"productType": "LOAN",
"amount": "100",
"glAccount": {
"encodedKey": "8a193c26722b51b701722d77cd9e26c0",
"creationDate": "2020-05-19T15:05:26+0000",
"lastModifiedDate": "2020-05-19T15:05:26+0000",
"glCode": "11100",
"type": "ASSET",
"usage": "DETAIL",
"name": "Cash on Hand",
"activated": true,
"allowManualJournalEntries": true,
"stripTrailingZeros": true
},
"type": "DEBIT",
"userKey": "8a194075720ece2c017226fced6f005e",
"bookingDate": "2020-06-15T00:00:00+0000"
}
]
400 : Bad Request
Bad GL Account ID
{
"returnCode": 600,
"returnStatus": "INVALID_GL_ACCOUNT_ID"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad Request | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [GLJournalEntryApiV1] | none | none |
» accountKey | string | the encoded key of the loan or savings account that this journal entry relates to | none |
» amount | number | the amount of the journal entry | none |
» assignedBranchKey | string | the encoded key of the branch that this journal entry is associated with | none |
» bookingDate | string | the booking date of this journal entry | none |
» creationDate | string | the date and time when the transaction that caused this journal entry was created | none |
» encodedKey | string | the automatically generated encoded ID for this item | none |
» entryDate | string | the date on which this journal entry was entered into the ledger | none |
» entryID | number | a unique, incremental ID for ledger entries | none |
» glAccount | GLAccountApiV1 | A general ledger account | none |
»» activated | boolean | whether this general ledger account is in use | none |
»» allowManualJournalEntries | boolean | whether manual entries are allowed for this general ledger account | none |
»» balance | number | the current balance of this general ledger account | none |
»» creationDate | string(date-time) | the date on which this general ledger account was created | read-only |
»» currency | CurrencyApiV1 | none | none |
»»» code | string | the three letter ISO code for this currency | none |
»»» creationDate | string | the date on which this currency was created | none |
»»» currencySymbolPosition | string | indicates where the currency symbol should appear in relation to the numeric value | none |
»»» digitsAfterDecimal | number | indicates how many decimal places are allowed for this currency. For example, a currenncy with 100 minor units to 1 major unit, there will be 2 decimal places. | none |
»»» isBaseCurrency | boolean | whether this currency is the base currency for your banking institution | none |
»»» lastModifiedDate | string | the date on which this currency was last modified | none |
»»» name | string | the name of this currency | none |
»»» symbol | string | the currency symnbol used for this currency | none |
»» description | string | an optional description for this general ledger account | none |
»» encodedKey | string | the encoded key of this general ledger account | none |
»» glCode | string | the numeric code for this general ledger account | none |
»» lastModifiedDate | string(date-time) | the date on which this general ledger account was last modified | read-only |
»» migrationEvent | DataMigrationEventApiV1 | details about an import or export operation | none |
»»» creationDate | string(date-time) | the date on which the data import was made | none |
»»» encodedKey | string | the encoded key of this data migration event | none |
»»» numCentresImported | number | the number of centres which were imported during the data migration | none |
»»» numClientsImported | number | the number of clients which were imported as part of the data migration | none |
»»» numGLAccountsImported | number | the number of general ledger accounts which were imported as part of the data migration | none |
»»» numGroupsImported | number | the number of groups which were imported as part of the data migration | none |
»»» numLoanRepaymentsImported | number | the number of loan repayment transations which were imported as part of the data migration | none |
»»» numLoanTransactionsImported | number | the number of loan transactions which were imported as part of the data migration | none |
»»» numLoansImported | number | the number of loan accounts which were imported as part of the data migration | none |
»»» numSavingsImported | number | the number of savings accounts which were imported as part of the data migration | none |
»»» state | string | whether the data import was accepted, is still in a draft state, or was rejected and all data reverted | none |
»»» type | string | the type of migration event | none |
»» name | string | the name of this general ledger account | none |
»» stripTrailingZeros | boolean | controls how this account is organized into header accounts when there are trailing zeroes, for example, for the account code 1100 , if this field is set to true, only the first two numbers will be recognised | none |
»» type | string | the type of general ledger account | none |
»» usage | string | whether this general ledger account is a DETAIL account, in which case it will have a value, or a HEADER account, in which case its value will be calculated based on the sum of detail accounts under it. | none |
» notes | string | any notes relating to this journal entry | none |
» productKey | string | the product associated with this journal entry | none |
» productType | string | the type of product associated with this journal entry | none |
» reversalEntryKey | string | if this entry was subsequently revered by another journal entry, this field contains the encoded key of that journal entry | none |
» transactionID | string | the transaction ID that caused this journal entry. Please note, multiple journal entries can have the same transaction ID, for example, when a repayment goes to cover fees, princial, taxes etc. | none |
» type | string | whether this journal entry represents funds coming in or going out | none |
» userKey | string | the encoded key of the user who created this journal entry, if it was created manually | none |
Enumerated Values
Property | Value |
---|---|
currencySymbolPosition | AFTER_NUMBER |
currencySymbolPosition | BEFORE_NUMBER |
state | REVERTED |
state | DRAFT |
state | APPROVED |
type | IMPORT |
type | EXPORT |
type | INCOME |
type | EXPENSE |
type | LIABILITY |
type | ASSET |
type | EQUITY |
usage | HEADER |
usage | DETAIL |
productType | LOAN |
productType | SAVINGS |
type | CREDIT |
type | DEBIT |
Status Code 400
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | string | none | none |
» returnStatus | string | none | none |
Group Role Names
Get group role names configured for your organization.
Get Group Role Names
GET /grouprolenames
Get Group Role Names
Get group role names
Example Responses
200 : OK
A list of group roles
[
{
"encodedKey": "8a193c26722b51b701722d77c25e22e6",
"name": "President"
},
{
"encodedKey": "8a193c26722b51b701722d77c3c922e7",
"name": "Secretary"
},
{
"encodedKey": "8a193c26722b51b701722d77c3c922e8",
"name": "Treasurer"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
» encodedKey | string | A unique key for this role. | none |
» name | string | The name of this group role. | none |
Groups
Allows you to retrieve groups. Groups may have associated information such as their custom field values. The custom field values for groups can be changed using patch or delete methods.
Get all Groups
GET /groups
List Groups
Allows retrieving group directly by a group ID or by looking up a client. When retrieving a group, all his associated information such as their custom field values and addresses may also be returned if requested. An empty list is returned if no groups are found.
Example Requests
Get all groups assigned to the branch with id DB
GET /api/groups/?branchId=DB
Get all groups assigned to the centre with id DB and provide full details
GET /api/groups/?centreId=DC&fullDetails=true
Parameters
Name | Type | Description | In |
---|---|---|---|
centreID | string | Looking up a group assigned to a centre using branch ID/key | query |
branchID | string | Looking up a group assigned to a branch using branch ID/key. | query |
offset | integer | Start at index for pagination. | query |
limit | integer | Max results to return. | query |
creditOfficerUsername | string | Looking up by the username of a specific credit officer, required if the user making the call has the "Credit Officer" role and the option "Can access other credit officers clients" is not activated. | query |
fullDetails | boolean | Whether to load all the nested fields for the groups as well. | query |
Example Responses
200 : ok
Array of groups and their basic details
[
{
"encodedKey": "8a193c26722b51b701722d77c969260e",
"id": "237716573",
"creationDate": "2020-05-19T15:05:25+0000",
"lastModifiedDate": "2020-09-07T16:22:43+0000",
"groupName": "Portanica",
"loanCycle": 0,
"preferredLanguage": "SPANISH",
"clientRole": {
"encodedKey": "8a194075720ece2c017226fcf7130069"
}
},
{
"encodedKey": "8a193c26722b51b701722d77ca932611",
"id": "040693245",
"creationDate": "2020-05-19T15:05:25+0000",
"lastModifiedDate": "2020-05-19T15:05:25+0000",
"groupName": "Apache",
"loanCycle": 0,
"preferredLanguage": "ENGLISH",
"clientRole": {
"encodedKey": "8a194075720ece2c017226fcf7130069"
}
}
]
200 : ok
array of groups, full details
[
{
"theGroup": {
"encodedKey": "8a193c26722b51b701722d77c969260e",
"id": "237716573",
"creationDate": "2020-05-19T15:05:25+0000",
"lastModifiedDate": "2020-09-07T16:22:43+0000",
"groupName": "Portanica",
"loanCycle": 0,
"preferredLanguage": "SPANISH",
"clientRole": {
"encodedKey": "8a194075720ece2c017226fcf7130069"
}
},
"addresses": [],
"customInformation": [],
"groupRoles": [
{
"encodedKey": "8a19b592746765a501746960758307e0",
"groupKey": "8a193c26722b51b701722d77c969260e",
"groupRoleNameKey": "8a193c26722b51b701722d77c3c922e7",
"clientKey": "8a193c26722b51b701722d77c67d23d6",
"roleName": "Secretary",
"indexInList": 0
}
],
"groupMembers": [
{
"encodedKey": "8a19b592746765a501746960758307df",
"groupKey": "8a193c26722b51b701722d77c969260e",
"clientKey": "8a193c26722b51b701722d77c67d23d6",
"creationDate": "2020-09-07T16:22:43+0000",
"indexInList": 0
}
]
},
{
"theGroup": {
"encodedKey": "8a193c26722b51b701722d77ca932611",
"id": "040693245",
"creationDate": "2020-05-19T15:05:25+0000",
"lastModifiedDate": "2020-09-24T10:25:39+0000",
"groupName": "Apache",
"notes": "some <i>rich</i> notes about this <b>amazing</b> <u>group</u>",
"assignedUserKey": "8a19dab474909bc8017490f2fb9006a8",
"assignedBranchKey": "8a193c26722b51b701722d779e7122de",
"loanCycle": 0,
"assignedCentreKey": "8a193c26722b51b701722d779e7122e0",
"emailAddress": "apachegroup@yougotma.il",
"mobilePhone1": "+35131429818014",
"homePhone": "+350305551155",
"preferredLanguage": "ENGLISH",
"clientRole": {
"encodedKey": "8a194075720ece2c017226fcf7130069"
}
},
"addresses": [
{
"encodedKey": "8a19a3cc74beb0eb0174bf3f6fe80312",
"parentKey": "8a193c26722b51b701722d77ca932611",
"line1": "5a Group Lane",
"line2": "",
"city": "Big Smoke",
"region": "Big Sky County",
"postcode": "126 GV4",
"country": "Countrystan",
"indexInList": 0
}
],
"customInformation": [
{
"encodedKey": "8a19a3cc74beb0eb0174bf3f6fe80313",
"parentKey": "8a193c26722b51b701722d77ca932611",
"customFieldKey": "8a193c26722b51b701722d77cd292664",
"customField": {
"encodedKey": "8a193c26722b51b701722d77cd292664",
"id": "Central_Office_Groups",
"name": "Central Office",
"type": "GROUP_INFO",
"dataType": "SELECTION",
"valueLength": "SHORT",
"isDefault": false,
"isRequired": false,
"customFieldSet": {
"encodedKey": "8a193c26722b51b701722d77ccaf2638",
"id": "_Office_Groups",
"name": "Office",
"createdDate": "2020-05-19T15:05:25+0000",
"lastModifiedDate": "2020-05-19T15:05:25+0000",
"indexInList": 0,
"type": "GROUP_INFO",
"usage": "SINGLE"
},
"indexInList": -1,
"state": "NORMAL",
"customFieldSelectionOptions": [
{
"encodedKey": "8a193c26722b51b701722d77cd2d2668",
"id": "620330172",
"value": "Catamarca",
"score": "0"
},
{
"encodedKey": "8a193c26722b51b701722d77cd2d2669",
"id": "433019118",
"value": "Chaco",
"score": "1"
},
{
"encodedKey": "8a193c26722b51b701722d77cd2d266a",
"id": "077431565",
"value": "Jujuy",
"score": "10"
}
],
"viewRights": {
"encodedKey": "8a193c26722b51b701722d77cd292665",
"isAccessibleByAllUsers": true,
"roles": []
},
"editRights": {
"encodedKey": "8a193c26722b51b701722d77cd2d2666",
"isAccessibleByAllUsers": true,
"roles": []
},
"unique": false,
"values": [
"Catamarca",
"Chaco",
"Jujuy"
],
"amounts": {
"Catamarca": "0",
"Chaco": "1",
"Jujuy": "10"
}
},
"value": "Chaco",
"amount": "1",
"indexInList": 0,
"customFieldID": "Central_Office_Groups",
"customFieldSetGroupIndex": -1
},
{
"encodedKey": "8a19a3cc74beb0eb0174bf3f6fe80314",
"parentKey": "8a193c26722b51b701722d77ca932611",
"customFieldKey": "8a193c26722b51b701722d77cd32266f",
"customField": {
"encodedKey": "8a193c26722b51b701722d77cd32266f",
"id": "Has_Many_Members_Groups",
"name": "Has Many Members",
"type": "GROUP_INFO",
"dataType": "CHECKBOX",
"valueLength": "SHORT",
"isDefault": false,
"isRequired": false,
"customFieldSet": {
"encodedKey": "8a193c26722b51b701722d77ccd72639",
"id": "_Members_Groups",
"name": "Members",
"createdDate": "2020-05-19T15:05:25+0000",
"lastModifiedDate": "2020-05-19T15:05:25+0000",
"indexInList": 1,
"type": "GROUP_INFO",
"usage": "SINGLE"
},
"indexInList": -1,
"state": "NORMAL",
"customFieldSelectionOptions": [],
"viewRights": {
"encodedKey": "8a193c26722b51b701722d77cd3a2670",
"isAccessibleByAllUsers": true,
"roles": []
},
"editRights": {
"encodedKey": "8a193c26722b51b701722d77cd3a2671",
"isAccessibleByAllUsers": true,
"roles": []
},
"unique": false,
"values": [],
"amounts": {}
},
"value": "TRUE",
"indexInList": 1,
"customFieldID": "Has_Many_Members_Groups",
"customFieldSetGroupIndex": -1
},
{
"encodedKey": "8a19a3cc74beb0eb0174bf3f6fe80315",
"parentKey": "8a193c26722b51b701722d77ca932611",
"customFieldKey": "8a193c26722b51b701722d77cd32266b",
"customField": {
"encodedKey": "8a193c26722b51b701722d77cd32266b",
"id": "Group_Members_Groups",
"name": "Group Members",
"type": "GROUP_INFO",
"dataType": "NUMBER",
"valueLength": "SHORT",
"isDefault": false,
"isRequired": false,
"customFieldSet": {
"encodedKey": "8a193c26722b51b701722d77ccd72639",
"id": "_Members_Groups",
"name": "Members",
"createdDate": "2020-05-19T15:05:25+0000",
"lastModifiedDate": "2020-05-19T15:05:25+0000",
"indexInList": 1,
"type": "GROUP_INFO",
"usage": "SINGLE"
},
"indexInList": -1,
"state": "NORMAL",
"customFieldSelectionOptions": [],
"viewRights": {
"encodedKey": "8a193c26722b51b701722d77cd32266c",
"isAccessibleByAllUsers": true,
"roles": []
},
"editRights": {
"encodedKey": "8a193c26722b51b701722d77cd32266d",
"isAccessibleByAllUsers": true,
"roles": []
},
"unique": false,
"values": [],
"amounts": {}
},
"value": "17",
"indexInList": 2,
"customFieldID": "Group_Members_Groups",
"customFieldSetGroupIndex": -1
}
],
"groupRoles": [
{
"encodedKey": "8a19a3cc74beb0eb0174bfa492ae04d3",
"groupKey": "8a193c26722b51b701722d77ca932611",
"groupRoleNameKey": "8a193c26722b51b701722d77c25e22e6",
"clientKey": "8a193c26722b51b701722d77c66d23b9",
"roleName": "President",
"indexInList": 0
},
{
"encodedKey": "8a19a3cc74beb0eb0174bfa492ae04d4",
"groupKey": "8a193c26722b51b701722d77ca932611",
"groupRoleNameKey": "8a193c26722b51b701722d77c3c922e7",
"clientKey": "8a193c26722b51b701722d77c66d23bc",
"roleName": "Secretary",
"indexInList": 1
}
],
"groupMembers": [
{
"encodedKey": "8a193c26722b51b701722d77ca932612",
"groupKey": "8a193c26722b51b701722d77ca932611",
"clientKey": "8a193c26722b51b701722d77c66d23b9",
"creationDate": "2020-05-19T15:05:25+0000",
"indexInList": 0
},
{
"encodedKey": "8a193c26722b51b701722d77ca932613",
"groupKey": "8a193c26722b51b701722d77ca932611",
"clientKey": "8a193c26722b51b701722d77c66d23bc",
"creationDate": "2020-05-19T15:05:25+0000",
"indexInList": 1
}
]
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | GroupExpandedApiV1 |
Create new Group
POST /groups
Create a group
Allows the creation and update of groups programatically. This method allows creating a group with address information and custom field values.
This method can also be used for editing groups. In order to do so, the encodedKey of the group needs to be provided.
Example requests
A new group with an address and custom field values
{
"group": {
"id": "995577000",
"creationDate": "2014-12-17T11:38:00+0000",
"lastModifiedDate": "2014-12-17T15:55:00+0000",
"groupName": "Secret Group",
"notes": "This group will not be normally available",
"assignedUserKey": "8904193be1b047f9a94202c8bec9b9ef",
"assignedCentreKey": "2a9d604a381a4e10b2da8a4968aa6363",
"assignedBranchKey": "7bd2a83f-b3844729b90ff531a59f3dc4",
"clientRole": {
"encodedKey": "8a34356cf78600abc2ef799123"
}
},
"addresses": [
{
"line1": "The Tea Building",
"line2": "56 Shoreditch High Street",
"city": "London",
"region": "England",
"postcode": "E1 6JJ",
"country": "United Kingdom",
"indexInList": 0
}
],
"customInformation": [
{
"value": "60000",
"customFieldID": "Income"
},
{
"value": "TRUE",
"customFieldID": "Newsletter"
}
],
"groupMembers": [
{
"clientKey": "0a57a959a9354e97a8df11c083efdece",
"creationDate": "2014-12-17T11:38:00+0000"
},
{
"clientKey": "5a3932bfecc84cc5a6c1e495bf4748ed",
"creationDate": "2014-12-17T11:38:00+0000"
}
],
"groupRoles": [
{
"groupRoleNameKey": "e8927b8c01b24936ba806a91872e9652",
"clientKey": "5d1d0328eaf14f718013d9ead2687984"
}
]
}
Parameters
Name | Type | Description | In |
---|---|---|---|
body | GroupApiV1 | A group object | body |
Example Responses
200 Response
{
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"clientRole": {
"encodedKey": "string"
},
"creationDate": "2019-08-24T14:15:22Z",
"emailAddress": "string",
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"groupName": "string",
"homePhone": "string",
"id": "string",
"idPattern": "string",
"lastModifiedDate": "2019-08-24T14:15:22Z",
"loanCycle": 0,
"migrationEvent": {
"creationDate": "2019-08-24T14:15:22Z",
"encodedKey": "string",
"numCentresImported": 0,
"numClientsImported": 0,
"numGLAccountsImported": 0,
"numGroupsImported": 0,
"numLoanRepaymentsImported": 0,
"numLoanTransactionsImported": 0,
"numLoansImported": 0,
"numSavingsImported": 0,
"state": "REVERTED",
"type": "IMPORT"
},
"mobilePhone1": "string",
"preferredLanguage": "PORTUGESE"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | GroupApiV1 |
Search for Groups
POST /groups/search
Search for Groups
Allows you to retrieve groups using dynamic custom filters.
Available group filter values
Filter Selection Parameter | Data Type |
CLIENT_ROLE_KEY | KEY |
BRANCH_KEY | KEY |
CENTRE_KEY | KEY |
CREDIT_OFFICER_KEY | KEY |
ENCODED_KEY | KEY |
GROUP_NAME | STRING |
CREATION_DATE | DATE_UTC |
LAST_MODIFIED_DATE | DATE_UTC |
ID | STRING |
PREFERRED_LANGUAGE | ENUM |
DEPOSITS_BALANCE | MONEY |
LOANS_BALANCE | MONEY |
TOTAL_BALANCE | MONEY |
NUMBER_OF_MEMBERS | NUMBER |
LOAN_CYCLE | NUMBER |
Available filter elements
Filter Element | Number Of affected values | Available for |
EQUALS | ONE_VALUE | BIG_DECIMAL,BOOLEAN,LONG,MONEY,NUMBER,PERCENT,STRING,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_UTC |
ON | ONE_VALUE | DATE,DATE_UTC |
AFTER | ONE_VALUE | DATE,DATE_UTC |
BEFORE | ONE_VALUE | DATE,DATE_UTC |
STARTS_WITH | ONE_VALUE | STRING |
IN | LIST | ENUM,KEY |
TODAY | NO_VALUE | DATE,DATE_UTC |
THIS_WEEK | NO_VALUE | DATE,DATE_UTC |
THIS_MONTH | NO_VALUE | DATE,DATE_UTC |
THIS_YEAR | NO_VALUE | DATE,DATE_UTC |
LAST_DAYS | ONE_VALUE | DATE,DATE_UTC |
EMPTY | NO_VALUE | BIG_DECIMAL,LONG,MONEY,NUMBER,PERCENT,STRING,ENUM,KEY,DATE,DATE_UTC |
NOT_EMPTY | NO_VALUE | BIG_DECIMAL,LONG,MONEY,NUMBER,PERCENT,STRING,ENUM,KEY,DATE,DATE_UTC |
Example requests
A search
{
"filterConstraints": [
{
"dataFieldType": "string",
"dataItemType": "string",
"filterElement": "string",
"filterSelection": "string",
"secondValue": "string",
"value": "string",
"values": [
"string"
]
}
],
"sortDetails": {
"dataFieldType": "string",
"dataItemType": "string",
"sortingColumn": "string",
"sortingOrder": "string"
}
}
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer | none | query |
limit | integer | none | query |
body | FilterApiV1 | none | body |
Example Responses
200 Response
[
{
"assignedBranchKey": "string",
"assignedCentreKey": "string",
"assignedUserKey": "string",
"clientRole": {
"encodedKey": "string"
},
"creationDate": "2019-08-24T14:15:22Z",
"emailAddress": "string",
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"groupName": "string",
"homePhone": "string",
"id": "string",
"idPattern": "string",
"lastModifiedDate": "2019-08-24T14:15:22Z",
"loanCycle": 0,
"migrationEvent": {
"creationDate": "2019-08-24T14:15:22Z",
"encodedKey": "string",
"numCentresImported": 0,
"numClientsImported": 0,
"numGLAccountsImported": 0,
"numGroupsImported": 0,
"numLoanRepaymentsImported": 0,
"numLoanTransactionsImported": 0,
"numLoansImported": 0,
"numSavingsImported": 0,
"state": "REVERTED",
"type": "IMPORT"
},
"mobilePhone1": "string",
"preferredLanguage": "PORTUGESE"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [GroupApiV1] | [A group object] | none |
» assignedBranchKey | string | the encoded key of the branch to which this group is assigned | none |
» assignedCentreKey | string | the encoded key of the centre to which this group is assigned | none |
» assignedUserKey | string | the encoded key of the Mambu user to which this group is assigned | none |
» clientRole | ClientRoleBasicApiV1 | the type of client or group as defined in Mambu in Administration > General Settings > Client Types | none |
»» encodedKey | string | the automatically generated encoded ID for this client or group type | none |
» creationDate | string(date-time) | the date and time when this group was created | read-only |
» emailAddress | string | the email address for this group. This address will be used for automated and manually sent email notifications | none |
» encodedKey | string | the automatically generated encoded ID for this group | none |
» groupName | string | the name of the group | none |
» homePhone | string | the primary landline contact number for this group | none |
» id | string | the ID for this group | none |
» idPattern | string | the pattern used to generate IDs | none |
» lastModifiedDate | string(date-time) | the date on which this group was last modified | read-only |
» loanCycle | number | this number will increment each time this group takes out and fully pays back a loan | none |
» migrationEvent | DataMigrationEventApiV1 | details about an import or export operation | none |
»» creationDate | string(date-time) | the date on which the data import was made | none |
»» encodedKey | string | the encoded key of this data migration event | none |
»» numCentresImported | number | the number of centres which were imported during the data migration | none |
»» numClientsImported | number | the number of clients which were imported as part of the data migration | none |
»» numGLAccountsImported | number | the number of general ledger accounts which were imported as part of the data migration | none |
»» numGroupsImported | number | the number of groups which were imported as part of the data migration | none |
»» numLoanRepaymentsImported | number | the number of loan repayment transations which were imported as part of the data migration | none |
»» numLoanTransactionsImported | number | the number of loan transactions which were imported as part of the data migration | none |
»» numLoansImported | number | the number of loan accounts which were imported as part of the data migration | none |
»» numSavingsImported | number | the number of savings accounts which were imported as part of the data migration | none |
»» state | string | whether the data import was accepted, is still in a draft state, or was rejected and all data reverted | none |
»» type | string | the type of migration event | none |
» mobilePhone1 | string | the primiary mobile contact number for this group | none |
» preferredLanguage | string | the language which shoudl ideally be used when communicating with this group | none |
Enumerated Values
Property | Value |
---|---|
state | REVERTED |
state | DRAFT |
state | APPROVED |
type | IMPORT |
type | EXPORT |
preferredLanguage | PORTUGESE |
preferredLanguage | RUSSIAN |
preferredLanguage | ROMANIAN |
preferredLanguage | ENGLISH |
preferredLanguage | SPANISH |
preferredLanguage | GEORGIAN |
preferredLanguage | BURMESE |
preferredLanguage | PHRASE |
preferredLanguage | CHINESE |
preferredLanguage | FRENCH |
preferredLanguage | INDONESIAN |
Get Group by ID
GET /groups/{groupId}
Get Group by ID
Allows you to retrieve a group directly by its group ID.
Parameters
Name | Type | Description | In |
---|---|---|---|
fullDetails | boolean | none | query |
groupId (required) | string | none | path |
Example Responses
200 : ok
A single group
{
"encodedKey": "8a193c26722b51b701722d77ca932611",
"id": "040693245",
"creationDate": "2020-05-19T15:05:25+0000",
"lastModifiedDate": "2020-09-24T10:25:39+0000",
"groupName": "Apache",
"assignedUserKey": "8a19dab474909bc8017490f2fb9006a8",
"assignedBranchKey": "8a193c26722b51b701722d779e7122de",
"loanCycle": 0,
"assignedCentreKey": "8a193c26722b51b701722d779e7122e0",
"emailAddress": "apachegroup@yougotma.il",
"mobilePhone1": "+35131429818014",
"homePhone": "+350305551155",
"preferredLanguage": "ENGLISH",
"clientRole": {
"encodedKey": "8a194075720ece2c017226fcf7130069"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | GroupApiV1 |
Update Group info
PATCH /groups/{groupId}
Update Group Information
Information for a group can be added/edited using the PATCH method.
To remove all members and/or roles, provide an empty array for these fields.
Example requests
Updated group information
{
"group": {
"id": "445076768",
"groupName": "Village group update",
"notes": "some_notes after update",
"assignedUserKey": "40288a164c31ebec014c31ebf7200004",
"assignedCentreKey": "40288a164c31eca9014c31ef7e510005",
"assignedBranchKey": "40288a164c31eca9014c31ef7e4f0003"
},
"groupMembers": [
{
"clientKey": "40288a164c31eca9014c31ef817100d9"
}
],
"groupRoles": [
{
"groupRoleNameKey": "40288a164c31eca9014c31ef8006000b",
"clientKey": "40288a164c31eca9014c31ef819200da"
}
]
}
Parameters
Name | Type | Description | In |
---|---|---|---|
group | object | none | body |
» id | string | ID of the group. If not provided Mambu will generate one. | body |
» groupName | string | A string with the name of the group. | body |
» notes | string | Free text with notes about the group. | body |
» assignedUserKey | string | Encoded key or ID of the assigned user. | body |
» assignedCentreKey | string | Encoded key or ID of the assigned centre | body |
» assignedBranchKey | string | Encoded key or ID of the assigned branch. | body |
» emailAddress | string | E-mail address associated with the group. | body |
» mobilePhone1 | string | Mobile phone associated with the group. | body |
» homePhone | string | Phone associated with the group. | body |
groupMembers | [object] | an array of group members | body |
» clientKey (required) | string | A string with the encoded key or id of the client being assigned to the group. | body |
groupRoles | [object] | an array of group members and their associated roles | body |
» groupRoleNameKey (required) | string | The encoded key of a group role. | body |
» clientKey (required) | string | A valid encoded key of a client available as a member of the group. | body |
groupId (required) | string | none | path |
Example Responses
200 : OK
Success Response
{
"returnCode": 0,
"returnStatus": "SUCCESS"
}
400 : Bad Request
Bad Client ID
{
"returnCode": 301,
"returnStatus": "INVALID_CLIENT_ID"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad Request | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Status Code 400
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Get Group Comments
GET /groups/{groupId}/comments
Get all group comments
Get all comments for a group.
Parameters
Name | Type | Description | In |
---|---|---|---|
limit | string | none | query |
offset | string | none | query |
groupId (required) | string | the ID of the group | path |
Example Responses
200 : OK
An array of comments
[
{
"encodedKey": "8a19b7057471f4af017472dc0fd80470",
"parentKey": "8a193c26722b51b701722d77c5e423b7",
"userKey": "8a194075720ece2c017226fced6f005e",
"creationDate": "2020-09-09T14:24:42+0000",
"lastModifiedDate": "2020-09-09T14:24:42+0000",
"text": "He might prefer a <div><br /></div><div><u>personal</u></div><div><u><br /></u></div><div><u>loan</u></div>"
},
{
"encodedKey": "8a193c26722b51b701722d77c8bf25ab",
"parentKey": "8a193c26722b51b701722d77c5e423b7",
"creationDate": "2020-05-19T15:05:24+0000",
"lastModifiedDate": "2020-05-19T15:05:24+0000",
"text": "Should suggest she apply for the agriculture loan given the nature of their business"
}
]
400 : Bad Request
Bad Group ID
{
"returnCode": 149,
"returnStatus": "INVALID_ID"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad Request | ExecutionStatusApiV1 |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [CommentApiV1] | none | none |
» creationDate | string(date-time) | the date and time at which this comment was added | none |
» encodedKey | string | a unique key for this comment | none |
» lastModifiedDate | string(date-time) | the date and time at which this comment was last modified | none |
» parentKey | string | the unique key of the parent object for this comment, for example, the client or loan account to which it relates | none |
» text | string | the text of the comment as a string, must be properly JSON escpaped if it contains special characters | none |
» userKey | string | the unique key of the user who created the comment | none |
Create new Group Comment
POST /groups/{groupId}/comments
Create a group Comment
Create new comment for a group.
Example requests
A comment
{
"comment": {
"text": "this is a comment with \" \" all kinds of : \\ / \"non compliant\" stuff & = which has been JSON escaped"
}
}
Parameters
Name | Type | Description | In |
---|---|---|---|
comment | object | an object contining the comment | body |
» text | string | text of the comment to be added. if adding complex content make sure it is properly JSON encoded before making your request | body |
groupId (required) | string | the ID of the group | path |
Example Responses
200 : OK
A comment
{
"encodedKey": "8a19c34574720f9e0174734a039f06e2",
"parentKey": "8a193c26722b51b701722d77c5e423b7",
"userKey": "8a194075720ece2c017226fced6f005e",
"creationDate": "2020-09-09T14:39:36+0000",
"lastModifiedDate": "2020-09-09T14:39:36+0000",
"text": "this is a comment with \" \" all kinds of : \\ / non compliant stuff & = which has been JSON escaped"
}
400 : Bad Request
Extra parameters in the request
{
"returnCode": 27,
"returnStatus": "PARAMETER_NOT_ALLOWED"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | CommentApiV1 |
400 | Bad Request | Bad Request | Inline |
Response Schema
Status Code 400
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Update Group Custom Field Values
PATCH /groups/{groupId}/custominformation
Update custom field values
Update custom field values
Example Requests
Update a single custom field value
{
"customInformation": [
{
"customFieldID": "custom_field_2",
"value": "3"
}
]
}
Update a field in a group
{
"customInformation": [
{
"customFieldID": "cf_grouped_field",
"value": "new value",
"customFieldSetGroupIndex": "0"
}
]
}
Update multiple custom field values
{
"customInformation": [
{
"customFieldID": "cf_grouped_field_2",
"value": "3",
"customFieldSetGroupIndex": "0"
},
{
"customFieldID": "field_3",
"value": "divorced"
}
]
}
Parameters
Name | Type | Description | In |
---|---|---|---|
customInformation | [object] | none | body |
» customFieldID (required) | string | none | body |
» value (required) | string | none | body |
» customFieldSetGroupIndex | string | Required if field to update is part of a group, if the Field Set Group Index is not set, a new group will be created with the value provided. | body |
groupId (required) | string | The ID of the group | path |
Example Responses
200 : OK
Success Response
{
"returnCode": 0,
"returnStatus": "SUCCESS"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Get Group Custom Info
GET /groups/{groupId}/custominformation/{customFieldId}
Get a custom field definition for a group
Allows retrieving a custom field definition for a given group directly by the ID/key of the group and the ID/key of the custom field definition.
Parameters
Name | Type | Description | In |
---|---|---|---|
groupId (required) | string | The ID of the group. | path |
customFieldId (required) | string | The ID of the custom field definition. | path |
Example Responses
200 : OK
A custom field definition
[
{
"encodedKey": "8a19cd6f74674df9017467f25aab02c6",
"parentKey": "8a193c26722b51b701722d779e7122de",
"customFieldKey": "8a19cd6f74674df9017467ef8e6802af",
"customField": {
"encodedKey": "8a19cd6f74674df9017467ef8e6802af",
"id": "cf_group",
"creationDate": "2020-09-07T09:42:33+0000",
"lastModifiedDate": "2020-09-07T09:42:33+0000",
"name": "Example Custom Field Definition",
"type": "BRANCH_INFO",
"dataType": "CHECKBOX",
"valueLength": "SHORT",
"isDefault": false,
"isRequired": false,
"description": "an example of a checkbox custom field definition",
"customFieldSet": {
"encodedKey": "8a19cd6f74674df9017467ef8e6802ae",
"id": "_example_group_custom_field_set",
"name": "example group custom field set",
"notes": "example custom field set",
"createdDate": "2020-09-07T09:41:50+0000",
"lastModifiedDate": "2020-09-07T09:41:50+0000",
"indexInList": 2,
"type": "BRANCH_INFO",
"usage": "SINGLE"
},
"indexInList": 0,
"state": "NORMAL",
"customFieldSelectionOptions": [],
"viewRights": {
"encodedKey": "8a19cd6f74674df9017467ef8e6802b0",
"isAccessibleByAllUsers": false,
"roles": []
},
"editRights": {
"encodedKey": "8a19cd6f74674df9017467ef8e6802b1",
"isAccessibleByAllUsers": false,
"roles": []
},
"unique": false,
"values": [],
"amounts": {}
},
"value": "TRUE",
"indexInList": -1,
"customFieldID": "cf_group",
"customFieldSetGroupIndex": -1
}
]
404 : Not Found
Not found
{
"returnCode": 903,
"returnStatus": "INVALID_CUSTOM_FIELD_ID"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | CustomFieldApiV1 |
404 | Not Found | Not Found | Inline |
Response Schema
Status Code 404
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Update Group Custom Field Value
PATCH /groups/{groupId}/custominformation/{customFieldId}
Update a custom field value for a group
Update a group custom field value
Example requests
Providing a new custom field value
{
"value": "new custom field value"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
value | string | none | body |
groupId (required) | string | The ID of the group. | path |
customFieldId (required) | string | The ID of the custom field definition. | path |
Example Responses
200 : OK
Success Response
{
"returnCode": 0,
"returnStatus": "SUCCESS"
}
400 : Bad Request
Field is part of a group
{
"returnCode": 916,
"returnStatus": "INVALID_CUSTOM_FIELD_GROUP_INDEX",
"errorSource": "cf_group_field_2"
}
404 : Not Found
Not found
{
"returnCode": 903,
"returnStatus": "INVALID_CUSTOM_FIELD_ID"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad Request | Inline |
404 | Not Found | Not Found | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Status Code 400
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
» errorSource | string | none | none |
Status Code 404
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Delete Group Custom Field Value
DELETE /groups/{groupId}/custominformation/{customFieldId}
Delete Group Custom Field Value
Delete a single custom field value
Parameters
Name | Type | Description | In |
---|---|---|---|
groupId (required) | string | The ID of the group. | path |
customFieldId (required) | string | The ID of the custom field definition. | path |
Example Responses
200 : OK
Success Response
{
"returnCode": 0,
"returnStatus": "SUCCESS"
}
400 : Bad Request
Field is part of a group
{
"returnCode": 916,
"returnStatus": "INVALID_CUSTOM_FIELD_GROUP_INDEX",
"errorSource": "cf_group_field_2"
}
404 : Not Found
Not found
{
"returnCode": 903,
"returnStatus": "INVALID_CUSTOM_FIELD_ID"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad Request | Inline |
404 | Not Found | Not Found | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Status Code 400
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
» errorSource | string | none | none |
Status Code 404
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Update Group Custom Field Value (grouped)
PATCH /groups/{groupId}/custominformation/{customFieldId}/{customFieldGroupSetIndex}
Update grouped custom field value
Update custom field value, which is part of a group
Example requests
A new custom field value
{
"value": "new custom field value"
}
Parameters
Name | Type | Description | In |
---|---|---|---|
value | string | none | body |
groupId (required) | string | The ID of the group | path |
customFieldId (required) | string | The ID of the custom field definition. | path |
customFieldGroupSetIndex (required) | string | none | path |
Example Responses
200 : OK
Success Response
{
"returnCode": 0,
"returnStatus": "SUCCESS"
}
400 : Bad Request
Wrong group index provided
{
"returnCode": 916,
"returnStatus": "INVALID_CUSTOM_FIELD_GROUP_INDEX",
"errorSource": "cf_group_field_2"
}
404 : Not Found
Field not found
{
"returnCode": 903,
"returnStatus": "INVALID_CUSTOM_FIELD_ID"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad Request | Inline |
404 | Not Found | Not Found | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Status Code 400
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
» errorSource | string | none | none |
Status Code 404
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Delete Group Custom Field Value (grouped)
DELETE /groups/{groupId}/custominformation/{customFieldId}/{customFieldGroupSetIndex}
Delete grouped custom field value
Delete a custom field value, which is part of a group
Parameters
Name | Type | Description | In |
---|---|---|---|
groupId (required) | string | The ID of the group | path |
customFieldId (required) | string | The ID of the custom field definition. | path |
customFieldGroupSetIndex (required) | string | none | path |
Example Responses
200 : OK
Success Response
{
"returnCode": 0,
"returnStatus": "SUCCESS"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Get Documents for a Group
GET /groups/{groupId}/documents
Get documents for group
Get all documents for a given group
Parameters
Name | Type | Description | In |
---|---|---|---|
offset | integer | offset results. use with limit parameter to achieve paging | query |
limit | integer | max number of records to return | query |
groupId (required) | string | The ID of the group | path |
Example Responses
200 : ok
An array of documents
[
{
"encodedKey": "8a19c035747bf5b901747c5bfb04014b",
"id": 51,
"creationDate": "2020-09-11T08:52:48+0000",
"lastModifiedDate": "2020-09-11T08:52:48+0000",
"documentHolderKey": "8a193c26722b51b701722d779e7122df",
"documentHolderType": "GROUP",
"name": "covid rules",
"type": "png",
"fileSize": 8258,
"originalFilename": "Screenshot_2020-04-22_at_14.31.29.png",
"location": "BRSIDSLFBOGAYZKUUKCOGGQEDOSEOD",
"description": "some guidelines regarding covid",
"createdByUserKey": "8a194075720ece2c017226fced6f005e",
"userName": "big chief"
},
{
"encodedKey": "8a19a3337476f2d00174775b6a3001ae",
"id": 43,
"creationDate": "2020-09-10T09:31:54+0000",
"lastModifiedDate": "2020-09-10T09:31:54+0000",
"documentHolderKey": "8a193c26722b51b701722d779e7122df",
"documentHolderType": "GROUP",
"name": "group doc",
"type": "png",
"fileSize": 32109,
"originalFilename": "clients_duplicate_id.png",
"location": "JRTBQGGVXFQRQRBDGBRWQCTXJNRWXP",
"description": "group doc desc",
"createdByUserKey": "8a194075720ece2c017226fced6f005e",
"userName": "big chief"
}
]
400 : Bad Request
Bad Group ID
{
"returnCode": 4,
"returnStatus": "INVALID_PARAMETERS",
"errorSource": "wrong owner id"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | Inline |
400 | Bad Request | Bad Request | ExecutionStatusApiV1 |
Response Schema
Status Code 200
Name | Type | Description | Restrictions |
---|---|---|---|
anonymous | [DocumentApiV1] | none | none |
» createdByUserKey | string | the encoded key of the user who added this document | none |
» creationDate | string | the date and time when this document was created | none |
» description | string | a description of this document | none |
» documentHolderKey | string | the encoded key of the entity to which this document is attached | none |
» documentHolderType | string | the type of entity, eg. client, loan product, to which this document is attached | none |
» encodedKey | string | the automatically generated encoded ID for this item | none |
» fileSize | number | the size, in bytes, of the attached document | none |
» id | number | an ID for this document | none |
» lastModifiedDate | string | the date on which this document was last modified | none |
» location | string | indicates where the document is saved | none |
» name | string | the display name of this document | none |
» originalFilename | string | the name of the originally uploaded file | none |
» type | string | the file type of the document, eg. png, jpeg, pdf | none |
» userName | string | the name of the user who uploaded the document | none |
Enumerated Values
Property | Value |
---|---|
documentHolderType | BRANCH |
documentHolderType | LOAN_ACCOUNT |
documentHolderType | GROUP |
documentHolderType | DEPOSIT_ACCOUNT |
documentHolderType | LINE_OF_CREDIT |
documentHolderType | LOAN_PRODUCT |
documentHolderType | GL_JOURNAL_ENTRY |
documentHolderType | SAVINGS_PRODUCT |
documentHolderType | USER |
documentHolderType | CLIENT |
documentHolderType | CENTRE |
documentHolderType | ID_DOCUMENT |
Attach Document for a Group
POST /groups/{groupId}/documents
Attach new Document to a group
Attach a new document to a group
Example requests
A document to upload
{
"document": {
"documentHolderKey": "8a193c26722b51b701722d779e7122df",
"documentHolderType": "GROUP",
"name": "some image",
"type": "PNG",
"description": "this is an image file"
},
"documentContent": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAF0CAYAAACudHRvAAABQGlDQ1BJQ0MgUHJvZmlsZQAAKJFjYGASS=="
}
Parameters
Name | Type | Description | In |
---|---|---|---|
body | CreateDocumentApiV1 | a new document to be attached to an entity | body |
groupId (required) | string | The ID of the group | path |
Example Responses
201 : Created
Uploaded document details
{
"encodedKey": "8a19c035747bf5b901747c5bfb04014d",
"id": 52,
"creationDate": "2020-09-11T08:54:53+0000",
"lastModifiedDate": "2020-09-11T08:54:53+0000",
"documentHolderKey": "8a193c26722b51b701722d779e7122df",
"documentHolderType": "GROUP",
"name": "some image",
"type": "png",
"fileSize": 32109,
"originalFilename": "some_image.png",
"location": "RCPOUIUHJFBYDRURQNNHMOGBEFIOQF",
"description": "this is an image file",
"createdByUserKey": "8a194075720ece2c017226fced6f005e"
}
400 : Bad Request
Provided file type does not match actual file uploaded
{
"returnCode": 973,
"returnStatus": "INCONSISTENT_EXTENSION_WITH_FILE_CONTENT",
"errorSource": "Invalid extension with file content"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Created | DocumentApiV1 |
400 | Bad Request | Bad Request | ExecutionStatusApiV1 |
Get Group Document
GET /groups/{groupId}/documents/{documentId}
Get a group Document
Get a specific document attached to a group
Parameters
Name | Type | Description | In |
---|---|---|---|
groupId (required) | string | The ID of the group | path |
documentId (required) | string | The ID of the document | path |
Example Responses
200 : OK
Base64-encoded document
"iVBORw0KGgoAAAANSUhEUgAAAEAAAAA9CAYAAAAd1W/BAAAMY2lDQ1BJQ0MgUHJvZmlsZQAASImVVwdck0cbv3dkkrACEZAR9hJFZgAZIawIAjIFUQlJIGHEmBBE3NRSBesWUZxoVUTRagWkDkSssyhu6yiKqFRqsYoLle8yoNZ+4/c9v9+993+fe+7/jNzlvQNAr5Mvk+Wj+gAUSAvlCZGhrElp6SzSI4ABU0ADtsCTL1DIOPHxMQDKUP93eX0DIKr+qpuK65/j/1UMhSKFAAAkA=="
400 : Bad Request
Bad Document ID
{
"returnCode": 970,
"returnStatus": "INVALID_DOCUMENT_ID"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | string |
400 | Bad Request | Bad Request | ExecutionStatusApiV1 |
Delete Group Document
DELETE /groups/{groupId}/documents/{documentId}
Delete a group Document
Delete a document attached to a group
Parameters
Name | Type | Description | In |
---|---|---|---|
groupId (required) | string | The ID of the group | path |
documentId (required) | string | The ID of the document | path |
Example Responses
200 : OK
Success Response
{
"returnCode": 0,
"returnStatus": "SUCCESS"
}
400 : Bad Request
Bad Document ID
{
"returnCode": 970,
"returnStatus": "INVALID_DOCUMENT_ID"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ExecutionStatusApiV1 |
400 | Bad Request | Bad Request | ExecutionStatusApiV1 |
Get Lines of Credit for a Group
GET /groups/{groupId}/linesofcredit
Get Lines of Credit for a Group
Get lines of credit for a client in a group
Parameters
Name | Type | Description | In |
---|---|---|---|
fullDetails | boolean | none | query |
groupId (required) | string | none | path |
Example Responses
200 : ok
A line of credit for a group and the basic details
[
{
"encodedKey": "8a19a3cc74beb0eb0174bfa5562b04dc",
"id": "ZCS816",
"groupKey": "8a193c26722b51b701722d77ca932611",
"startDate": "2020-09-01T00:00:00+0000",
"expireDate": "2021-09-30T00:00:00+0000",
"creationDate": "2020-09-24T10:35:16+0000",
"approvedDate": "2020-09-24T12:35:16+0000",
"lastModifiedDate": "2020-09-24T10:35:16+0000",
"state": "APPROVED",
"amount": "15000",
"exposureLimitType": "APPROVED_AMOUNT",
"notes": "a line of credit for the apache group",
"availableCreditAmount": "15000"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | LineOfCreditFullApiV1 |
Images
Allows you to retrieve images of client profiles/signatures and any other images via api calls.
Get Image by ID
GET /images/{imageId}
Get Image by ID
Allows retrieving images of client profiles/signatures or any other images via api calls. The iamge ID can be found by, for example, making a GET request for the client.
Images will be returned as a base64 encoded string.
Parameters
Name | Type | Description | In |
---|---|---|---|
size | string | Image size to be returned. | query |
imageId (required) | string | none | path |
Enumerated Values
Parameter | Value |
---|---|
size | LARGE |
size | MEDIUM |
size | SMALL_THUMB |
size | TINY_THUMB |
Example Responses
200 : OK
base 64 encoded string
"bW92ZSBvbiwgbm90aGluZyB0byBzZWUgaGVyZSAuLi4="
400 : Bad Request
Missing Image ID
{
"errorSource": "picture key is required",
"returnCode": 4,
"returnStatus": "INVALID_PARAMETERS"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | string |
400 | Bad Request | Bad Request | Inline |
Response Schema
Status Code 400
Name | Type | Description | Restrictions |
---|---|---|---|
» errorSource | string | none | none |
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Index Rates
Update index rates on the system. For example EURIBOR is updated monthly and this can be automated using this endpoint.
Create or update Index Rates
POST /indexratesources/{indexRateSourceId}/indexrates
Update an Index Rate Source
Updates an index rate source. A valid index source ID is required.
Example requests
An index rate
{
"indexRate": {
"startDate": "2020-04-16",
"rate": "-0.03256",
"notes": "Euribor Apr 2020"
}
}
Parameters
Name | Type | Description | In |
---|---|---|---|
indexRate | object | none | body |
» notes | string | Optional notes about the rate | body |
» rate (required) | string | A number with the interest rate | body |
» startDate (required) | string(date) | Date of the start of the new interest rate | body |
indexRateSourceId (required) | string | none | path |
Example Responses
200 Response
{
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"notes": "string",
"rate": 0,
"rateSource": {
"encodedKey": "8a19b7057471f4af017472dc0fd80472",
"name": "string",
"notes": "string",
"type": "TAX_RATE"
},
"startDate": "string",
"userKey": "string"
}
200 : OK
response
400 : Bad Request
Bad start date
{
"returnCode": 1302,
"returnStatus": "INVALID_INDEX_RATE_START_DATE"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | IndexRateApiV1 |
400 | Bad Request | Bad Request | Inline |
Response Schema
Status Code 400
Name | Type | Description | Restrictions |
---|---|---|---|
» returnCode | integer | none | none |
» returnStatus | string | none | none |
Indicators
Retrieve various performance indicators for the organization. Performance indicator descriptions can be found in our user guide.
Possible indicators to use include:
Clients
NUM_CLIENTS |
NUM_ACTIVE_CLIENTS |
NUM_INACTIVE_CLIENTS |
NUM_OPEN_CLIENTS |
NUM_CLOSED_CLIENTS |
NUM_EXITED_CLIENTS |
NUM_PENDING_APPROVAL_CLIENTS |
Active Pure Groups
NUM_GROUPS_BORROWING |
AVERAGE_GROUP_SIZE |
NUM_GROUP_BORROWERS |
NUM_INDIVIDUAL_BORROWERS |
PERCENTAGE_OF_FEMALE_BORROWERS |
NUM_GROUPS_SAVING |
NUM_INDIVIDUAL_SAVERS |
NUM_GROUP_SAVERS |
NUM_GROUPS |
NUM_HYBRID_GROUPS_BORROWING |
NUM_HYBRID_GROUP_BORROWERS |
Deposits
NUM_ACTIVE_SAVINGS_ACCOUNTS |
TOTAL_DEPOSITS |
INTEREST_PAYABLE |
Loan Portfolio
NUM_LOANS_OUTSTANDING |
NUM_LOANS_PENDING_DISBURSAL |
NUM_LOANS_IN_ARREARS |
NUM_LOANS_AWAITING_APPROVAL |
PORTFOLIO_PENDING_DISBURSAL |
GROSS_LOAN_PORTFOLIO |
AVERAGE_LOAN_BALANCE |
TOTAL_DISBURSED_ACTIVE_LOANS |
PROJECTED_LOAN_INTEREST_EARNINGS |
Loan Transaction
TOTAL_LOANS_DISBURSED |
Risk and Aging
PORTFOLIO_PERCENT_AT_RISK |
PORTFOLIO_VALUE_AT_RISK |
PAR_7_DAYS |
PAR_15_DAYS |
PAR_30_DAYS |
PAR_90_DAYS |
PAR_7_30_DAYS |
PAR_30_90_DAYS |
PAR_90_180_DAYS |
PAR_180_360_DAYS |
VAR_7_DAYS |
VAR_15_DAYS |
VAR_30_DAYS |
VAR_90_DAYS |
INTEREST_IN_SUSPENSE |
Organization Indicators
NUM_BRANCHES |
NUM_CREDIT_OFFICERS |
NUM_LOANS_PER_BRANCH |
NUM_LOANS_PER_CREDIT_OFFICER |
NUM_LOAN_ACCOUNTS |
NUM_USERS |
Get KPIs
GET /indicators/{INDICATOR}
Get