Developer Center

Savings API

Last Updated: Oct 03, 2018 02:51PM CEST
​​

URL

/api/savings/{ID}
/api/clients/{CLIENT_ID}/savings/{ID}
/api/groups/{GROUP_ID}/savings/{ID}
/api/savings/{ID}/custominformation/{customFieldId}
/api/savings/search
api/savings/{ID}/templates/{templateId}
/api/savings/{ID}/funding

Description

Allows you to retrieve and update savings (deposit) accounts for clients or groups.

Methods

GET Savings

branchId The ID/encodedKey of the branch to which the savings accounts are assigned to
centreId The ID/encodedKey of the centre to which the savings accounts are assigned to
creditOfficerUsername The username of the credit officer to whom the savings are assigned to *
accountState The desired state of the accounts to filter on (eg: APPROVED)
fullDetails Whether the full details of the savings account (such as custom fields) are retrieved. Boolean value ("true"/"false"). "false" by default.
offset The offset of results
limit Maximum results to return
startDate Used when retrieving a specific document for deposit account with transaction history from this date.
endDate Used when retrieving a specific document for deposit account with transaction history up to this date.

* creditOfficerUsername is required if the user making the call has the "Credit Officer" role and the option "Can access other credit officers clients" is not activated.

* When retrieving templates, in order to get the template ID for a loan, use the Loan Products API.

Usage examples

//get a savings account by id
GET /api/savings/OHNP076

//get all the savings accounts for a client with id 8
GET /api/clients/8/savings

//get all the savings for branch id 2 for credit officer 'tom' with accountstate 'APPROVED' (default pagination)
GET /api/savings?branchId=2&creditOfficerUsername=creditofficer&accountState=APPROVED

//get all the savings for centre id with 2 (default pagination)
GET /api/savings?centreId=2

//same as above but paginated to a limit of 5
GET /api/savings?branchId=2&creditOfficerUsername=creditofficer&accountState=APPROVED&offset=0&limit=5

// get a specific document for a savings account
GET /api/savings/ABC999/templates/8a0aa3874e25265c014e253529d801e5​

// get a specific document for a savings account with transaction history
GET /api/savings/ABC999/templates/8a0aa3874e25265c014e253529d801e5​?startDate=2015-01-01&endDate=2015-01-31

// get the loans funded by a deposit account
GET /api/savings/QWE999/funding

Samples responses

//basic full savings details of an active savings account
{
   "encodedKey":"402832b4380a2d8801380a380c9f0004",
   "id":"DAML394",
   "accountHolderKey":"402832b43809601c013809639e64011c",
   "accountHolderType":"CLIENT",
   "name":"Daily Savings",
   "creationDate":"2012-06-20T16:07:21+0200",
   "activationDate":"2012-06-20T14:07:34+0200",
   "lastModifiedDate":"2012-06-29T11:49:17+0200",
   "lastInterestCalculationDate":"2012-06-23T00:00:00+0200",
   "lastAccountAppraisalDate":"2012-06-23T11:02:43+0200",
   "productTypeKey":"402832b43809601c01380963a8de033d",
   "accountType":"REGULAR_SAVINGS",
   "accountState":"ACTIVE",
   "balance":"35",
   "accruedInterest":"4.5",
   "overdraftInterestAccrued":"0",
   "overdraftAmount":"0",
   "interestDue":"0",
   "feesDue":"0",
   "allowOverdraft":false,
   "allowTechnicalOverdraft": false,
   "notes":"Some notes",
   "interestPaymentPoint":"ON_ACCOUNT_MATURITY",
   "interestPaymentDates":[
      {
          "dayOfMonth":1,
          "monthOfYear":4,
          "year":0
       }
     ]
   }
   "customFieldValues":[
      {
         "encodedKey":"8ac91de9437b5b7b01437c938fac002a",
         "parentKey":"402832b43809601c013809639d6400e5",
         "customFieldKey":"8ac91de9430fd40201430fdc15a60361",
         "customField":{
            "encodedKey":"8ac91de9430fd40201430fdc15a60361",
            "id":"INTEREST",
            "name":"Interest",
            "type":"SAVINGS_ACCOUNT_INFO",
            "dataType":"SELECTION",
            "valueLength":"SHORT",
            "isDefault":false,
            "isRequired":false,
            "values":[
               "None",
               "One",
               "Ten"
            ],
            "amounts":{
               "Ten":"10",
               "None":"0",
               "One":"1"
            },
            "customFieldSet":{
               "encodedKey":"8ac91de9430fd40201430fdc15580350",
               "name":"Savings Account Info",
               "createdDate":"2013-12-20T11:55:18+0000",
               "indexInList":0,
               "type":"SAVINGS_ACCOUNT_INFO"
            },
            "indexInList":-1,
            "state":"NORMAL"
         },
         "value":"Ten",
         "amount":"10",
         "indexInList":-1,
         "customFieldID":"INTEREST"
      },
      {
         "encodedKey":"8ac91de9437b5b7b01437c938fac002b",
         "parentKey":"402832b43809601c013809639d6400e5",
         "customFieldKey":"8ac91de9430fd40201430fdc15ae0363",
         "customField":{
            "encodedKey":"8ac91de9430fd40201430fdc15ae0363",
            "id":"HAS_CHILDREN_INFO",
            "name":"Is more than salary",
            "type":"IS_MORE_THAN_SALARY",
            "dataType":"CHECKBOX",
            "valueLength":"SHORT",
            "isDefault":false,
            "isRequired":false,
            "customFieldSet":{
               "encodedKey":"8ac91de9430fd40201430fdc15580350",
               "name":"Savings account info",
               "createdDate":"2013-12-20T11:55:18+0000",
               "indexInList":0,
               "type":"SAVINGS_ACCOUNT_INFO"
            },
            "indexInList":-1,
            "state":"NORMAL"
         },
         "value":"TRUE",
         "indexInList":-1,
         "customFieldID":"IS_MORE_THAN_SALARY"
      }
   ]
}

POST Savings

Create savings accounts for clients and groups. The savings account details must be connected to a specific active product. If the identifier or encoded key will be provided an update will be executed(for now only the custom fields can be updated via JSON).

See Custom Fields API for more information about custom fields and custom fields sets.


Parameters

Using URL-Encoded calls basic savings accounts can be created. No updates are allowed using this approach (See JSON calls for update).
encodedKey EncodedKey of the savings account to update.
id ID of the savings account.
accountHolderType The account holder type.(CLIENT/GROUP). Required.
accountHolderKey The account holder Key.Required.
productTypeKey Encoded key of the product to use as the basis for this account. Required.
name Desired account name
accountType Required Can have one of the following types:
  • CURRENT_ACCOUNT - A transactional account where a client1 may perform regular deposit and withdrawals, accrue interest and may optionally be allowed to go into overdraft.
  • REGULAR_SAVINGS - A standard savings account where a client1 may perform regular deposit and withdrawals and accrue interest over time.
  • FIXED_DEPOSIT - A type of deposit where an account is being opened with a certain balance and is fixed for a certain time period with a given interest rate after which point the client1 may withdraw their money.
  • SAVINGS_PLAN - A type of deposit product with a maturity before which withdrawals cannot be made. Ideally, a certain amount is deposited into the account at regular interval to reach a deposit goal.
  • INVESTOR_ACCOUNT - A type of account used for investing funds in other borrowers loan accounts. The client earns interest after loan investments, instead of the traditional interest paid into account by the organization.
accountState The desired account state (PENDING_APPROVAL, APPROVED) Required
balance Current account balance
accruedInterest The amount of interest that has been accrued in the account
maturityDate For fixed or compulsory savings plans, this is when the account matures
targetAmount The monthly/weekly/daily deposits should may lead towards a savings goal. May be tied with the maturity date of fixed or compulsory savings
recommendedDepositAmount The recomended amount for this deposit
maxWidthdrawlAmount The maximum withdrawal amount.
lockedBalance Locked balance of the account(it is included in balance). No operation can modify the balance of the account and get it lower than this locked balance
overdrafAmount How much money has been taken out in overdraft
overdraftInterestAccrued The amount of overdraft interest that has been accrued in the account
overdraftExpiryDate The date after which the account is considered in arrears
overdraftLimit How much money can be withdrawn as overdraft. Default is 0. If this field is omitted or null, then the default value is set.
allowOverdraft Whether to allow or deny withdrawing money past the 0 balance (overdraft). This has always the same value as the "allowOverdraft" in the corresponding product. It is Required only if the value is true in the corresponding product configuration.
allowTechnicalOverdraft Specifies if the account may have technicalOverdraft or not. Further details can be found on our Support page
assignedBranchKey The branch key on which the account is assigned to
assignedCentreKey The centre key on which the account is assigned to
interestPaymentPoint The desired interest payment point
  • FIRST_DAY_OF_MONTH
  • EVERY_WEEK
  • EVERY_OTHER_WEEK
  • EVERY_MONTH
  • EVERY_3_MONTHS
  • ON_FIXED_DATES
  • ON_ACCOUNT_MATURITY
interestPaymentDates List of all dates on which the interest is payed into savings account
withholdingTaxSourceKey Encoded key of the tax source
notes Any additional rich text html notes about the savings
currencyCode The code of the currency in which we want to create the account (e.g. USD).
interestSettings Wrapper that maintains the positive interest related fields (details for the fields below).
overdraftInterestSettings Wrapper that maintains the overdraft interest related fields (details for the fields below).

Parameters for Interest Settings on savings (to be used only with the wrapper)

interestRate The interest rate of the savings account, expressed as a full number (e.g. 1.25% interest rate is expressed as 1.25).
interestChargeFrequency The interval used for determining how often is interest charged. It can be: ANNUALIZED, EVERY_MONTH, EVERY_FOUR_WEEKS, EVERY_WEEK, EVERY_DAY, EVERY_X_DAYS
interestChargeFrequencyCount The count of units to apply over the frequency interval

Parameters for Overdraft Interest Settings on savings (to be used only with the wrapper)

interestRate The interest rate on the overdraft amounts
interestRateSource The source of the interest rate of the overdraft. Either FIXED_INTEREST_RATE or INDEX_INTEREST_RATE
interestChargeFrequency The interval used for determining how often is interest charged. It can be: ANNUALIZED, EVERY_MONTH, EVERY_FOUR_WEEKS, EVERY_WEEK, EVERY_DAY, EVERY_X_DAYS
interestChargeFrequencyCount The count of units to apply over the frequency interval
interestSpread The spread that will be added to the Index Rate, so the total will define the Overdraft Interest Rate that will be charged if the account has a negative balance.
interestRateReviewCount The number of units when the overdraft interest rate review will occur
interestRateReviewUnit The unit of time of the overdraft interest rate, it can be one from DAYS, WEEKS or MONTHS

Parameters for Custom Fields

customFieldID The custom field Id. Required.
value The custom field Value. Required.
  • if for update the "customInformation":[] will not be provided the custom fields will not be update
  • in order to remove all custom fields, an empty array for them must be provided (example: {savingsAccount: {encodedKey:"abc", //other client information}, "customInformation": []}
  • in order to remove custom fields from database, the information that will not be provided in the arrays
    • example: 3 custom fields in database, only one provided in the "customInformation" array for update, the other 2 from the database will get deleted and the one from the array will get stored/updated
    • the matching to determine the difference between an updated and a new field is done using customFieldID
    • if the custom field ID is invalid or the value is invalid an exception code will be returned
  • all used custom fields must be previously created in order to be used (for 'Field Type': 'Savings' in Administration), otherwise an exception code will be returned

Usage


//POST create simple account with currency and without custom fields using JSON
{  
   "savingsAccount":{  
      "accountHolderKey":"40288a13437b71d201437b87ab1a00fb",
      "accountHolderType":"CLIENT",
      "productTypeKey":"40288a13437b71d201437b87afe90341",
      "accountType":"CURRENT_ACCOUNT",
      "accountState":"PENDING_APPROVAL",
      "currency":{  
         "code":"USD"
      },
      "interestSettings": {
         "interestRate":"1.25"
      },
      "overdraftInterestSettings": {
         "interestRate": "2.5"
      }
   }
}
//POST create simple account with custom fields using JSON
{
   "savingsAccount":{
      "accountHolderKey":"40288a13437b71d201437b87ab1a00fb",
      "accountHolderType":"CLIENT",
      "productTypeKey":"40288a13437b71d201437b87afe90341",
      "accountType":"REGULAR_SAVINGS",
      "accountState":"PENDING_APPROVAL"
   },
   "customInformation":[
      {
         "customFieldID":"Is_more_than_salary_Deposit_Acco",
         "value":"true"
      },
      {
         "customFieldID":"Interest_Deposit_Accounts",
         "value":"nice interest"
      }
   ]
}
//POST create account with custom fields using JSON(many parameters)
{
   "savingsAccount":{
      "accountHolderKey":"40288a13437b71d201437b87ab1a00fb",
      "accountHolderType":"CLIENT",
      "name":"Daily Savings",
      "creationDate":"2014-01-14T13:05:32+0200",
      "activationDate":"2013-08-05T07:40:57+0300",
      "lastModifiedDate":"2014-01-14T13:05:32+0200",
      "productTypeKey":"40288a13437b71d201437b87afe90341",
      "accountType":"REGULAR_SAVINGS",
      "accountState":"PENDING_APPROVAL",
      "balance":"0",
      "accruedInterest":"0",
      "overdraftInterestAccrued":"0",
      "overdraftAmount":"0",
      "interestDue":"0",
      "feesDue":"0",
      "allowOverdraft":false,
      "notes":"some_notes",
      "lockedBalance":"0"
   },
   "customInformation":[
      {
         "customFieldID":"Is_more_than_salary_Deposit_Acco",
         "value":"true"
      },
      {
         "customFieldID":"Interest_Deposit_Accounts",
         "value":"nice interest"
      }
   ]
}
//POST create account with custom interest payment point and date
{
   "savingsAccount":{
      "accountHolderKey":"40288a13437b71d201437b87ab1a00fb",
      "accountHolderType":"CLIENT",
      "name":"Daily Savings",
      "creationDate":"2014-01-14T13:05:32+0200",
      "activationDate":"2013-08-05T07:40:57+0300",
      "lastModifiedDate":"2014-01-14T13:05:32+0200",
      "productTypeKey":"40288a13437b71d201437b87afe90341",
      "accountType":"REGULAR_SAVINGS",
      "accountState":"PENDING_APPROVAL",
      "balance":"0",
      "accruedInterest":"0",
      "overdraftInterestAccrued":"0",
      "overdraftAmount":"0",
      "interestDue":"0",
      "feesDue":"0",
      "allowOverdraft":false,
      "notes":"some_notes",
      "lockedBalance":"0",
      "interestPaymentPoint":"ON_ACCOUNT_MATURITY",
      "interestPaymentDates":[
           {
              "dayOfMonth":1,
              "monthOfYear":4,
              "year":0
           }
       ]
    }
}
//POST update account custom fields using JSON(only custom fields can be updated for now, minimal parameters)
POST /api/savings/34242adsafas3qedasdq2
{
   "savingsAccount":{
      "accountHolderKey":"40288a13437b71d201437b87ab1a00fb",
      "productTypeKey":"40288a13437b71d201437b87afe90341"
   },
   "customInformation":[
      {
         "customFieldID":"Is_more_than_salary_Deposit_Acco",
         "value":"true"
      },
      {
         "customFieldID":"Interest_Deposit_Accounts",
         "value":"nice interest"
      }
   ]
}
}'
//POST update account custom fields using JSON(remove all custom fields)
POST /api/savings/34242adsafas3qedasdq2
{
   "savingsAccount":{
      "accountHolderKey":"40288a13437b71d201437b87ab1a00fb",
      "productTypeKey":"40288a13437b71d201437b87afe90341"
   },
   "customInformation":[ ]
}
//POST update account custom fields using JSON(only custom fields can be updated for now, more parameters)
POST /api/savings/34242adsafas3qedasdq2
{
   "savingsAccount": {
      "id":"HOAN043",
      "accountHolderKey":"402880c8572885a60157288f00cf0484",
      "accountHolderType":"CLIENT",
      "accountType": "CURRENT_ACCOUNT",
      "name":"Current Account",
      "accountState": "PENDING_APPROVAL",
      "productTypeKey":"402880c857289d5f015728a606be0004",
      "allowOverdraft":true,
      "interestPaymentPoint":"FIRST_DAY_OF_MONTH",
      "balance":"0",
      "accruedInterest":"0",
      "overdraftInterestAccrued":"0",
      "overdraftAmount":"0",
      "interestSettings": {
          "interestRate": "5",
          "interestChargeFrequency": "ANNUALIZED",
          "interestChargeFrequencyCount": 1
      },
      "overdraftInterestSettings": {
          "interestRate": "5",
          "interestChargeFrequencyCount": 1,
          "interestChargeFrequency": "ANNUALIZED",
          "interestRateSource": "FIXED_INTEREST_RATE"
      }
    },
   "customInformation":[
      {
         "customFieldID":"Is_more_than_salary_Deposit_Acco",
         "value":"true"
      }
   ]
}

DELETE savings account

Allows the deletion of savings accounts based attachment id/encoded key

Usage example

//delete savings account using url-encoded call(id is used for account identification)
DELETE /api/savings/67

//delete  savings account with encoded key 8aa0f78f444f763601444f7fb89e0001
DELETE /api/savings/8aa0f78f444f763601444f7fb89e0001

Response

A success return code will be returned when the deletion is successful.
{
  "returnCode":0,
  "returnStatus":"SUCCESS"
}

PATCH Savings Account Fields

Some account fields can be updated separately without posting the full account. Patching works only for non-closed account states.
Keyword Description Account state availability
overdraftLimit New value for the overdraft limit(How much may be taken out as overdraft). Validated to be between product constraints.
  • Pending Approval
  • Approved
  • Active
  • Active in Arrears
overdraftExpiryDate The date until when the overdraft needs to be paid.
  • Pending Approval
  • Approved
  • Active
  • Active in Arrears
maxWithdrawalAmount The maximum amount that can withdrawn in a transaction.
  • Pending Approval
  • Approved
  • Active
  • Active in Arrears
recommendedDepositAmount Informational field, represents the amount to be deposited by the customer. Available for Current Accounts, Savings Accounts and Savings Plans.
  • Pending Approval
  • Approved
  • Active
  • Active in Arrears
targetAmount The targeted account balance for Saving Plans.
  • Pending Approval
  • Approved
  • Active
  • Active in Arrears
interestSettings Wrapper that maintains the positive interest related fields to be updated (details for the fields below).
overdraftInterestSettings Wrapper that maintains the overdraft interest related fields to be updated (details for the fields below).

Parameters for PATCH Interest Settings on savings (to be used only with the wrapper)

Keyword Description Account state availability
interestRate The account interest rate for positive account balance. Can be set only if the product has interest paid into account enabled. 
  • Pending Approval

Parameters for PATCH Overdraft Interest Settings on savings (to be used only with the wrapper)

Keyword Description Account state availability
interestRate The account daily interest rate for negative account balance. Can be set only if the product has overdrafts enabled.
  • Pending Approval
  • Approved
  • Active
  • Active in Arrears
interestSpread The account daily interest rate spread for negative account balance. Can be set only if the product has overdrafts enabled.
  • Pending Approval
  • Approved
  • Active
  • Active in Arrears

Usage Example

// Update the savings account SVS123 with a new overdraft amount limit and interest settings.
PATCH api/savings/SVS123
{  
   "savingsAccount":{  
      "overdraftLimit":"1000",
      "interestSettings": {
    	    "interestRate": "2",
      },
      "overdraftInterestSettings": {
            "interestRate": "2",
            "interestSpread": "3"
      }
   }
}}'

PATCH Savings Custom Field Values

Custom field values for a savings account can be added/edited using PATCH method. The new custom field value is validated based on the cusotm field type defined in the Custom Field.

Parameters for PATCH custom fields method for savings

value New value for custom field. Required.
customFieldID The id of the custom field to be edited. Required when editing multiple.
customFieldSetGroupIndex The index of the custom field set to be edited. If it isn't provided, a new set is added.

Usage Example

// Update the custom field value to "10" based on the savings account id(abc123) and on the custom field id(family_members)
PATCH '{ "value": "10" }' /api/savings/abc123/custominformation/family_members

// Update the custom field value to "2012-10-10" based on the savings key(40288a134887e7e9014887f0eb720003) and on the custom field key(8a27a878491d417601491d48203100d9)
PATCH '{ "value": "2012-10-10" }' /api/savings/40288a134887e7e9014887f0eb720003/custominformation/8a27a878491d417601491d48203100d9

// Update(add / edit) multiple grouped and / or standard fields from different groups for the savings account with the id 1111. 
// For a grouped custom field, if customFieldSetGroupIndex is present, 
// value is updated, if is missing, a new group is created. 
PATCH '{
  "customInformation": [
    {
      "customFieldID" : "IBAN",
      "value" : "DE123456789121243546783"
    },
    {
      "customFieldID" : "BIC",
      "value" : "1234566441",
      "customFieldSetGroupIndex" : "0"
    },
    {
      "customFieldID" : "BANK_ACCOUNT_TYPE",
      "value" : "Current Account",
      "customFieldSetGroupIndex" : "1"
    }
  ]
}' /api/savings/1111/custominformation/

Response

A 200 Response is returned if the savings account custom field value was successfully created/updated.

GET Savings Custom Field Values

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

Usage Example

//get the custom field value of the custom field with the ID "family_members" for the savings account having ID "abc123"
GET /api/savings/abc123/custominformation/family_members
//get the custom field value of the custom field with the encoded key "8a8080a254a98efe0154a99ad86f00ef" for the savings account having key "8a8080a254a98efe0154a99ad8c400f6"
GET /api/savings/8a8080a254a98efe0154a99ad8c400f6/custominformation/8a8080a254a98efe0154a99ad86f00ef

Response

//response for a single custom field
[
  {
    "encodedKey": "8a8080a254a98efe0154a99ad9d301be",
    "parentKey": "8a8080a254a98efe0154a99ad8c400f6",
    "customFieldKey": "8a8080a254a98efe0154a99ad86f00ef",
    "customField": {
      "encodedKey": "8a8080a254a98efe0154a99ad86f00ef",
      "id": "Position_Clients",
      "creationDate": "2016-05-18T14:39:13+0000",
      "lastModifiedDate": "2016-05-18T14:40:19+0000",
      "name": "Position",
      "type": "SAVINGS_ACCOUNT_INFO",
      "dataType": "STRING",
      "valueLength": "SHORT",
      "isDefault": false,
      "isRequired": false,
      "description": "",
      "customFieldSet": {
        "encodedKey": "8a8080a254a98efe0154a99ad84200ee",
        "name": "Custom Fields",
        "createdDate": "2016-05-13T10:12:58+0000",
        "indexInList": 0,
        "type": "SAVINGS_ACCOUNT_INFO",
        "usage": "SINGLE"
      },
      "indexInList": 3,
      "state": "NORMAL",
      "customFieldSelectionOptions": [],
      "viewRights": {
        "encodedKey": "8a8080a254a98efe0154a99ad87200f0",
        "isAccessibleByAllUsers": false,
        "roles": []
      },
      "editRights": {
        "encodedKey": "8a8080a254a98efe0154a99ad87300f1",
        "isAccessibleByAllUsers": false,
        "roles": []
      },
      "unique": false,
      "values": [],
      "amounts": {}
    },
    "value": "Promotions manager",
    "indexInList": 0,
    "customFieldID": "Position_Clients",
    "customFieldSetGroupIndex": -1
  }
]
//response for a grouped custom field
[
  {
    "encodedKey": "8a8080a254c4397d0154c450f88d0034",
    "parentKey": "8a8080a254a98efe0154a99ad8c800fa",
    "customFieldKey": "8a8080a254c4397d0154c45093f4002a",
    "customField": {
      "encodedKey": "8a8080a254c4397d0154c45093f4002a",
      "id": "ccc1",
      "creationDate": "2016-05-18T14:41:36+0000",
      "lastModifiedDate": "2016-05-18T14:41:36+0000",
      "name": "cccc1",
      "type": "SAVINGS_ACCOUNT_INFO",
      "dataType": "STRING",
      "valueLength": "SHORT",
      "isDefault": false,
      "isRequired": false,
      "description": "",
      "customFieldSet": {
        "encodedKey": "8a8080a254c4397d0154c450633e0029",
        "name": "groupedcfs",
        "notes": "",
        "createdDate": "2016-05-18T14:41:23+0000",
        "indexInList": 2,
        "type": "SAVINGS_ACCOUNT_INFO",
        "usage": "GROUPED"
      },
      "indexInList": 14,
      "state": "NORMAL",
      "customFieldSelectionOptions": [],
      "viewRights": {
        "encodedKey": "8a8080a254c4397d0154c45093f4002b",
        "isAccessibleByAllUsers": false,
        "roles": []
      },
      "editRights": {
        "encodedKey": "8a8080a254c4397d0154c45093f4002c",
        "isAccessibleByAllUsers": false,
        "roles": []
      },
      "unique": false,
      "values": [],
      "amounts": {}
    },
    "value": "111",
    "indexInList": 0,
    "customFieldID": "ccc1",
    "customFieldSetGroupIndex": 0
  },
  {
    "encodedKey": "8a8080a254c4397d0154c4545f410037",
    "parentKey": "8a8080a254a98efe0154a99ad8c800fa",
    "customFieldKey": "8a8080a254c4397d0154c45093f4002a",
    "customField": {
      "encodedKey": "8a8080a254c4397d0154c45093f4002a",
      "id": "ccc1",
      "creationDate": "2016-05-18T14:41:36+0000",
      "lastModifiedDate": "2016-05-18T14:41:36+0000",
      "name": "cccc1",
      "type": "SAVINGS_ACCOUNT_INFO",
      "dataType": "STRING",
      "valueLength": "SHORT",
      "isDefault": false,
      "isRequired": false,
      "description": "",
      "customFieldSet": {
        "encodedKey": "8a8080a254c4397d0154c450633e0029",
        "name": "groupedcfs",
        "notes": "",
        "createdDate": "2016-05-18T14:41:23+0000",
        "indexInList": 2,
        "type": "CLIENT_INFO",
        "usage": "GROUPED"
      },
      "indexInList": 14,
      "state": "NORMAL",
      "customFieldSelectionOptions": [],
      "viewRights": {
        "encodedKey": "8a8080a254c4397d0154c45093f4002b",
        "isAccessibleByAllUsers": false,
        "roles": []
      },
      "editRights": {
        "encodedKey": "8a8080a254c4397d0154c45093f4002c",
        "isAccessibleByAllUsers": false,
        "roles": []
      },
      "unique": false,
      "values": [],
      "amounts": {}
    },
    "value": "222",
    "indexInList": 2,
    "customFieldID": "ccc1",
    "customFieldSetGroupIndex": 1
  },
  {
    "encodedKey": "8a8080a254c4397d0154c4545f410039",
    "parentKey": "8a8080a254a98efe0154a99ad8c800fa",
    "customFieldKey": "8a8080a254c4397d0154c45093f4002a",
    "customField": {
      "encodedKey": "8a8080a254c4397d0154c45093f4002a",
      "id": "ccc1",
      "creationDate": "2016-05-18T14:41:36+0000",
      "lastModifiedDate": "2016-05-18T14:41:36+0000",
      "name": "cccc1",
      "type": "SAVINGS_ACCOUNT_INFO",
      "dataType": "STRING",
      "valueLength": "SHORT",
      "isDefault": false,
      "isRequired": false,
      "description": "",
      "customFieldSet": {
        "encodedKey": "8a8080a254c4397d0154c450633e0029",
        "name": "groupedcfs",
        "notes": "",
        "createdDate": "2016-05-18T14:41:23+0000",
        "indexInList": 2,
        "type": "SAVINGS_ACCOUNT_INFO",
        "usage": "GROUPED"
      },
      "indexInList": 14,
      "state": "NORMAL",
      "customFieldSelectionOptions": [],
      "viewRights": {
        "encodedKey": "8a8080a254c4397d0154c45093f4002b",
        "isAccessibleByAllUsers": false,
        "roles": []
      },
      "editRights": {
        "encodedKey": "8a8080a254c4397d0154c45093f4002c",
        "isAccessibleByAllUsers": false,
        "roles": []
      },
      "unique": false,
      "values": [],
      "amounts": {}
    },
    "value": "333",
    "indexInList": 4,
    "customFieldID": "ccc1",
    "customFieldSetGroupIndex": 2
  }
]

DELETE Savings Custom Field Values

Specific custom field values for a savings account can be deleted based on savings account id and custom field id.

Usage Example

// DELETE the custom field value based on the savings account id(abc123) and on the custom field id(family_members)
DELETE /api/savings/abc123/custominformation/family_members

// DELETE the custom field value based on the savings account key(40288a134887e7e9014887f0eb720003) and on the custom field key(8a27a878491d417601491d48203100d9)
DELETE /api/savings/40288a134887e7e9014887f0eb720003/custominformation/8a27a878491d417601491d48203100d9

Response

A 200 Response is returned if the savings account custom field value was successfully deleted.

Note

You might see a property named "customFieldProductSettings" in the custom field object from loan and savings JSON. Please take in consideration that this property will be stripped from the accounts JSON content in the next release.

POST Search

Allows to retrieve deposit accounts using dynamic custom filters.

Parameters

Parameter Value
filterConstraints A JSON array of constraints.
filterSelection The field on which the constraint will be applied. Available deposit account filter selections can be found bellow.
filterElement The constraint operator. Available filter elements can be found bellow.
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.

Available deposit account filter values

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

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

Usage examples

// get all deposit accounts that are having the overdraft amount between the given values
POST {
   "filterConstraints":[
      {
         "filterSelection":"OVERDRAFT_AMOUNT",
         "filterElement":"BETWEEN",
         "value":"1600",
         "secondValue":"1800"
      }
   ]
} /api/savings/search

// get all closed deposit accounts
POST {
   "filterConstraints":[
      {
         "filterSelection":"ACCOUNT_STATE",
         "filterElement":"EQUALS",
         "value":"CLOSED"
      }
   ]
} /api/savings/search

// get all deposit accounts created this month
POST {
   "filterConstraints":[
      {
         "filterSelection":"CREATION_DATE",
         "filterElement":"THIS_MONTH"
      }
   ]
} /api/savings/search

Response

The deposit accounts that match the search will be returned
support@mambu.com
https://cdn.desk.com/
false
desk
Loading
seconds ago
a minute ago
minutes ago
an hour ago
hours ago
a day ago
days ago
about
false
Invalid characters found
/customer/en/portal/articles/autocomplete