Command Palette

Search for a command to run...

GET
/fineract-provider/api/v1/savingsaccounts

List savings accounts

Retrieves a list of all savings accounts. Supports filtering by client, product type, and status.

Query Parameters

sqlSearchstring

SQL-style search query

externalIdstring

Filter by external ID

offsetinteger

Pagination offset

Returns

200List of savings accounts

Request

curl
curl --request GET \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/savingsaccounts" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json"

Response

json
{
  "totalFilteredRecords": 25,
  "pageItems": [
    {
      "id": 1,
      "displayName": "Sample Item 1",
      "status": "active"
    },
    {
      "id": 2,
      "displayName": "Sample Item 2",
      "status": "active"
    }
  ]
}
GET
/fineract-provider/api/v1/savingsaccounts/{accountId}

Retrieve savings account

Gets detailed information about a specific savings account including balance, transactions, and charges.

Path Parameters

accountIdintegerrequired

Savings account ID

Query Parameters

associationsstring

Include associated data (transactions, charges)

staffInSelectedOfficeOnlyboolean

Filter staff to selected office

Returns

200Savings account details
404Account not found

Request

curl
curl --request GET \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/savingsaccounts/:accountId" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json"

Response

json
{
  "id": 1,
  "status": {
    "id": 300,
    "code": "statusType.active",
    "value": "Active"
  },
  "officeId": 1,
  "officeName": "Head Office",
  "createdDate": "2024-01-15",
  "lastModifiedDate": "2024-01-20"
}
GET
/fineract-provider/api/v1/savingsaccounts/template

Retrieve savings account template

Returns template data needed to create a new savings account.

Query Parameters

clientIdinteger

Client ID

groupIdinteger

Group ID

productIdinteger

Product ID

Returns

200Savings account template

Request

curl
curl --request GET \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/savingsaccounts/template" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json"

Response

json
{
  "totalFilteredRecords": 25,
  "pageItems": [
    {
      "id": 1,
      "displayName": "Sample Item 1",
      "status": "active"
    },
    {
      "id": 2,
      "displayName": "Sample Item 2",
      "status": "active"
    }
  ]
}
POST
/fineract-provider/api/v1/savingsaccounts

Submit new savings application

Opens a new savings account application for a client with the specified product and settings.

Request Bodyrequired

Savings account details

clientIdinteger

Client ID

groupIdinteger

Group ID (for group accounts)

productIdinteger

Savings product ID

fieldOfficerIdinteger

Assigned staff member

submittedOnDatestring

Submission date

externalIdstring

External reference

nominalAnnualInterestRatenumber

Override interest rate

interestCompoundingPeriodTypeinteger

Compounding period

interestPostingPeriodTypeinteger

Interest posting period

interestCalculationTypeinteger

Interest calculation method

interestCalculationDaysInYearTypeinteger

Days in year for calculation

minRequiredOpeningBalancenumber

Minimum opening balance

lockinPeriodFrequencyinteger

Lock-in period

lockinPeriodFrequencyTypeinteger

Lock-in period type

withdrawalFeeForTransfersboolean

Apply withdrawal fee on transfers

allowOverdraftboolean

Allow overdraft

overdraftLimitnumber

Overdraft limit amount

enforceMinRequiredBalanceboolean

Enforce minimum balance

minRequiredBalancenumber

Minimum required balance

withHoldTaxboolean

Withhold tax on interest

dateFormatstring
localestring

Returns

200Savings account created

Request

curl
curl --request POST \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/savingsaccounts" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json" \
  --data '{
  "clientId": 1,
  "groupId": 1,
  "productId": 1,
  "fieldOfficerId": 1,
  "submittedOnDate": "01 January 2024",
  "externalId": "sample_externalId",
  "nominalAnnualInterestRate": 1000,
  "interestCompoundingPeriodType": 1,
  "interestPostingPeriodType": 1,
  "interestCalculationType": 1,
  "interestCalculationDaysInYearType": 1,
  "minRequiredOpeningBalance": 1000,
  "lockinPeriodFrequency": 1,
  "lockinPeriodFrequencyType": 1,
  "withdrawalFeeForTransfers": true,
  "allowOverdraft": true,
  "overdraftLimit": 1000,
  "enforceMinRequiredBalance": true,
  "minRequiredBalance": 1000,
  "withHoldTax": true,
  "dateFormat": "01 January 2024",
  "locale": "sample_locale"
}'

Response

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
PUT
/fineract-provider/api/v1/savingsaccounts/{accountId}

Modify savings application

Updates a savings account application that is still in 'Submitted and pending approval' status.

Path Parameters

accountIdintegerrequired

Account ID

Request Bodyrequired

Updated account details

nominalAnnualInterestRatenumber
minRequiredOpeningBalancenumber
externalIdstring
dateFormatstring
localestring

Returns

200Account updated

Request

curl
curl --request PUT \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/savingsaccounts/:accountId" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json" \
  --data '{
  "nominalAnnualInterestRate": 1000,
  "minRequiredOpeningBalance": 1000,
  "externalId": "sample_externalId",
  "dateFormat": "01 January 2024",
  "locale": "sample_locale"
}'

Response

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
DELETE
/fineract-provider/api/v1/savingsaccounts/{accountId}

Delete savings application

Deletes a savings account application that is still in 'Submitted and pending approval' status.

Path Parameters

accountIdintegerrequired

Account ID to delete

Returns

200Account deleted

Request

curl
curl --request DELETE \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/savingsaccounts/:accountId" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json"

Response

json
{
  "resourceId": 1,
  "changes": {}
}
POST
/fineract-provider/api/v1/savingsaccounts/{accountId}?command=approve

Approve savings application

Approves a pending savings account application.

Path Parameters

accountIdintegerrequired

Account ID to approve

Request Bodyrequired

Approval details

approvedOnDatestring
notestring
dateFormatstring
localestring

Returns

200Account approved

Request

curl
curl --request POST \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/savingsaccounts/:accountId?command=approve" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json" \
  --data '{
  "approvedOnDate": "01 January 2024",
  "note": "sample_note",
  "dateFormat": "01 January 2024",
  "locale": "sample_locale"
}'

Response

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
POST
/fineract-provider/api/v1/savingsaccounts/{accountId}?command=undoApproval

Undo savings approval

Reverts an approved savings account back to pending status.

Path Parameters

accountIdintegerrequired

Account ID

Request Bodyrequired

Undo details

notestring

Returns

200Approval undone

Request

curl
curl --request POST \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/savingsaccounts/:accountId?command=undoApproval" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json" \
  --data '{
  "note": "sample_note"
}'

Response

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
POST
/fineract-provider/api/v1/savingsaccounts/{accountId}?command=reject

Reject savings application

Rejects a pending savings account application.

Path Parameters

accountIdintegerrequired

Account ID to reject

Request Bodyrequired

Rejection details

rejectedOnDatestring
notestring
dateFormatstring
localestring

Returns

200Account rejected

Request

curl
curl --request POST \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/savingsaccounts/:accountId?command=reject" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json" \
  --data '{
  "rejectedOnDate": "01 January 2024",
  "note": "sample_note",
  "dateFormat": "01 January 2024",
  "locale": "sample_locale"
}'

Response

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
POST
/fineract-provider/api/v1/savingsaccounts/{accountId}?command=activate

Activate savings account

Activates an approved savings account, making it ready for transactions.

Path Parameters

accountIdintegerrequired

Account ID to activate

Request Bodyrequired

Activation details

activatedOnDatestring
dateFormatstring
localestring

Returns

200Account activated

Request

curl
curl --request POST \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/savingsaccounts/:accountId?command=activate" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json" \
  --data '{
  "activatedOnDate": "01 January 2024",
  "dateFormat": "01 January 2024",
  "locale": "sample_locale"
}'

Response

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
POST
/fineract-provider/api/v1/savingsaccounts/{accountId}?command=close

Close savings account

Closes an active savings account. The balance must be zero or transferred.

Path Parameters

accountIdintegerrequired

Account ID to close

Request Bodyrequired

Closure details

closedOnDatestring
withdrawBalanceboolean

Withdraw remaining balance

paymentTypeIdinteger

Payment type for withdrawal

notestring
dateFormatstring
localestring

Returns

200Account closed

Request

curl
curl --request POST \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/savingsaccounts/:accountId?command=close" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json" \
  --data '{
  "closedOnDate": "01 January 2024",
  "withdrawBalance": true,
  "paymentTypeId": 1,
  "note": "sample_note",
  "dateFormat": "01 January 2024",
  "locale": "sample_locale"
}'

Response

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
POST
/fineract-provider/api/v1/savingsaccounts/{accountId}?command=calculateInterest

Calculate interest

Calculates accrued interest on the savings account without posting it.

Path Parameters

accountIdintegerrequired

Account ID

Returns

200Interest calculated

Request

curl
curl --request POST \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/savingsaccounts/:accountId?command=calculateInterest" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json"

Response

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
POST
/fineract-provider/api/v1/savingsaccounts/{accountId}?command=postInterest

Post interest

Posts accrued interest to the savings account balance.

Path Parameters

accountIdintegerrequired

Account ID

Returns

200Interest posted

Request

curl
curl --request POST \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/savingsaccounts/:accountId?command=postInterest" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json"

Response

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
POST
/fineract-provider/api/v1/savingsaccounts/{accountId}?command=block

Block savings account

Blocks all transactions on a savings account.

Path Parameters

accountIdintegerrequired

Account ID to block

Request Bodyrequired

Block reason

reasonForBlockstring

Returns

200Account blocked

Request

curl
curl --request POST \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/savingsaccounts/:accountId?command=block" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json" \
  --data '{
  "reasonForBlock": "sample_reasonForBlock"
}'

Response

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
POST
/fineract-provider/api/v1/savingsaccounts/{accountId}?command=unblock

Unblock savings account

Removes the block on a savings account, allowing transactions again.

Path Parameters

accountIdintegerrequired

Account ID to unblock

Returns

200Account unblocked

Request

curl
curl --request POST \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/savingsaccounts/:accountId?command=unblock" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json"

Response

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
POST
/fineract-provider/api/v1/savingsaccounts/{accountId}/transactions?command=deposit

Make a deposit

Records a deposit transaction to the savings account.

Path Parameters

accountIdintegerrequired

Savings account ID

Request Bodyrequired

Deposit details

transactionDatestring
transactionAmountnumber
paymentTypeIdinteger

Payment method

accountNumberstring
checkNumberstring
routingCodestring
receiptNumberstring
bankNumberstring
notestring
dateFormatstring
localestring

Returns

200Deposit successful

Request

curl
curl --request POST \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/savingsaccounts/:accountId/transactions?command=deposit" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json" \
  --data '{
  "transactionDate": "01 January 2024",
  "transactionAmount": 1000,
  "paymentTypeId": 1,
  "accountNumber": "sample_accountNumber",
  "checkNumber": "sample_checkNumber",
  "routingCode": "sample_routingCode",
  "receiptNumber": "sample_receiptNumber",
  "bankNumber": "sample_bankNumber",
  "note": "sample_note",
  "dateFormat": "01 January 2024",
  "locale": "sample_locale"
}'

Response

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
POST
/fineract-provider/api/v1/savingsaccounts/{accountId}/transactions?command=withdrawal

Make a withdrawal

Records a withdrawal transaction from the savings account.

Path Parameters

accountIdintegerrequired

Savings account ID

Request Bodyrequired

Withdrawal details

transactionDatestring
transactionAmountnumber
paymentTypeIdinteger
accountNumberstring
checkNumberstring
routingCodestring
receiptNumberstring
bankNumberstring
notestring
dateFormatstring
localestring

Returns

200Withdrawal successful

Request

curl
curl --request POST \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/savingsaccounts/:accountId/transactions?command=withdrawal" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json" \
  --data '{
  "transactionDate": "01 January 2024",
  "transactionAmount": 1000,
  "paymentTypeId": 1,
  "accountNumber": "sample_accountNumber",
  "checkNumber": "sample_checkNumber",
  "routingCode": "sample_routingCode",
  "receiptNumber": "sample_receiptNumber",
  "bankNumber": "sample_bankNumber",
  "note": "sample_note",
  "dateFormat": "01 January 2024",
  "locale": "sample_locale"
}'

Response

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
POST
/fineract-provider/api/v1/savingsaccounts/{accountId}/transactions?command=holdAmount

Hold amount

Places a hold on a portion of the savings balance, making it unavailable for withdrawal.

Path Parameters

accountIdintegerrequired

Account ID

Request Bodyrequired

Hold details

transactionDatestring
transactionAmountnumber

Amount to hold

reasonForBlockstring
dateFormatstring
localestring

Returns

200Amount held

Request

curl
curl --request POST \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/savingsaccounts/:accountId/transactions?command=holdAmount" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json" \
  --data '{
  "transactionDate": "01 January 2024",
  "transactionAmount": 1000,
  "reasonForBlock": "sample_reasonForBlock",
  "dateFormat": "01 January 2024",
  "locale": "sample_locale"
}'

Response

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
POST
/fineract-provider/api/v1/savingsaccounts/{accountId}/transactions/{transactionId}?command=releaseAmount

Release held amount

Releases a previously held amount, making it available again.

Path Parameters

accountIdintegerrequired

Account ID

transactionIdintegerrequired

Hold transaction ID

Returns

200Amount released

Request

curl
curl --request POST \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/savingsaccounts/:accountId/transactions/:transactionId?command=releaseAmount" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json"

Response

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
GET
/fineract-provider/api/v1/savingsaccounts/{accountId}/transactions/{transactionId}

Retrieve savings transaction

Gets details of a specific savings account transaction.

Path Parameters

accountIdintegerrequired

Account ID

transactionIdintegerrequired

Transaction ID

Returns

200Transaction details

Request

curl
curl --request GET \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/savingsaccounts/:accountId/transactions/:transactionId" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json"

Response

json
{
  "id": 1,
  "status": {
    "id": 300,
    "code": "statusType.active",
    "value": "Active"
  },
  "officeId": 1,
  "officeName": "Head Office",
  "createdDate": "2024-01-15",
  "lastModifiedDate": "2024-01-20"
}
POST
/fineract-provider/api/v1/savingsaccounts/{accountId}/transactions/{transactionId}?command=undo

Undo savings transaction

Reverses a savings account transaction.

Path Parameters

accountIdintegerrequired

Account ID

transactionIdintegerrequired

Transaction ID to undo

Returns

200Transaction undone

Request

curl
curl --request POST \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/savingsaccounts/:accountId/transactions/:transactionId?command=undo" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json"

Response

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}

Was this page helpful?