Accounts API
This is the Accounts API that provides programmatic access to various resources and services. The API supports the following areas: Account Management. All endpoints require authentication using a Bearer token.
The savings model
The savings model contains all the information about your savings entities.
Properties
- Name
accountNumber- Type
- string
- Description
Value for accountNumber
- Name
accountName- Type
- string
- Description
Value for accountName
- Name
accountType- Type
- string
- Description
Value for accountType
- Name
availableBalance- Type
- integer
- Description
Integer value for availableBalance
- Name
ledgerBalance- Type
- integer
- Description
Integer value for ledgerBalance
- Name
currency- Type
- string
- Description
Value for currency
- Name
lastTransactionDate- Type
- string
- Description
Value for lastTransactionDate
- Name
accountStatus- Type
- string
- Description
Value for accountStatus
- Name
interestRate- Type
- number
- Description
Decimal number for interestRate
- Name
nextInterestDate- Type
- string
- Description
Value for nextInterestDate
- Name
minimumBalance- Type
- integer
- Description
Integer value for minimumBalance
- Name
overdraftLimit- Type
- integer
- Description
Integer value for overdraftLimit
Fetch Account Balances
Retrieves the current available and ledger balances for a user's accounts.
Required attributes
- Name
accountNo- Type
- string
- Description
Accountno parameter specified in the URL path
Request
curl -G https://api.adiba.app/v1/accounts/{accountNo}/balance \
-H "Authorization: Bearer {token}"
{
"accountNumber": "ACC_001",
"accountName": "John Doe",
"accountType": "SAVINGS",
"availableBalance": 150000,
"ledgerBalance": 150000,
"currency": "NGN",
"lastTransactionDate": "2024-12-01T10:30:00Z",
"accountStatus": "ACTIVE",
"interestRate": 5.5,
"nextInterestDate": "2024-12-31T00:00:00Z",
"minimumBalance": 1000,
"overdraftLimit": 0
}
Fetch Historical Balances
Provides a daily snapshot of account balances over a specified time period.
Required attributes
- Name
accountNo- Type
- string
- Description
Accountno parameter specified in the URL path
Request
curl -G https://api.adiba.app/v1/accounts/{accountNo}/history \
-H "Authorization: Bearer {token}"
{
"accountNumber": "ACC_001",
"accountName": "John Doe",
"currency": "NGN",
"balanceHistory": [
{
"date": "2024-12-01T00:00:00Z",
"availableBalance": 150000,
"ledgerBalance": 150000,
"interestEarned": 250
},
{
"date": "2024-11-30T00:00:00Z",
"availableBalance": 145000,
"ledgerBalance": 145000,
"interestEarned": 240
}
],
"pagination": {
"page": 1,
"size": 10,
"total": 30,
"hasNext": true,
"hasPrevious": false
}
}
Fetch Account Statement
Generates a detailed list of all transactions within a date range.
Required attributes
- Name
accountNo- Type
- string
- Description
Accountno parameter specified in the URL path
Request
curl -G https://api.adiba.app/v1/accounts/{accountNo}/statement \
-H "Authorization: Bearer {token}"
{
"accountNumber": "ACC_001",
"accountName": "John Doe",
"currency": "NGN",
"openingBalance": 100000,
"closingBalance": 150000,
"transactions": [
{
"transactionId": "TXN_001",
"transactionDate": "2024-12-01T10:30:00Z",
"description": "Salary credit",
"type": "CREDIT",
"amount": 50000,
"balance": 150000,
"reference": "SAL_001",
"narration": "Monthly salary"
}
],
"pagination": {
"page": 1,
"size": 10,
"total": 1,
"hasNext": false,
"hasPrevious": false
}
}
List Accounts
Displays a comprehensive list of all banking accounts owned by a customer.
Request
curl -G https://api.adiba.app/v1/accounts \
-H "Authorization: Bearer {token}"
{
"accounts": [
{
"accountNumber": "ACC_001",
"accountName": "John Doe",
"accountType": "SAVINGS",
"availableBalance": 150000,
"ledgerBalance": 150000,
"currency": "NGN",
"accountStatus": "ACTIVE",
"interestRate": 5.5,
"lastTransactionDate": "2024-12-01T10:30:00Z",
"isDefault": true
},
{
"accountNumber": "ACC_002",
"accountName": "John Doe",
"accountType": "CURRENT",
"availableBalance": 50000,
"ledgerBalance": 50000,
"currency": "NGN",
"accountStatus": "ACTIVE",
"interestRate": 0,
"lastTransactionDate": "2024-12-01T09:00:00Z",
"isDefault": false
}
],
"pagination": {
"page": 1,
"size": 10,
"total": 2,
"hasNext": false,
"hasPrevious": false
}
}
Create New Account
Opens a new savings, checking, or other specified account for a user.
Request
curl -X POST https://api.adiba.app/v1/accounts \
-H "Authorization: Bearer {token}" \
-d '{
"accountType": "TARGET_SAVINGS",
"productId": "TARGET_SAVINGS_001",
"initialDeposit": 50000,
"currency": "NGN",
"accountName": "Vacation Fund",
"savingsGoal": 1000000,
"savingsFrequency": "MONTHLY",
"savingsAmount": 50000,
"maturityDate": "2025-12-01T00:00:00Z",
"interestRate": 6,
"sourceAccount": "ACC_001"
}'
{
"status": "SUCCESS",
"accountNumber": "ACC_003",
"accountName": "Vacation Fund",
"accountType": "TARGET_SAVINGS",
"productId": "TARGET_SAVINGS_001",
"initialDeposit": 50000,
"currency": "NGN",
"accountStatus": "ACTIVE",
"interestRate": 6,
"openedAt": "2024-12-01T10:30:00Z",
"savingsGoal": 1000000,
"savingsFrequency": "MONTHLY",
"savingsAmount": 50000,
"maturityDate": "2025-12-01T00:00:00Z",
"message": "Target savings account created successfully"
}
Create Account Closure Application
Initiates the formal process to close a specific bank account. Note process can only finalized by the bank team.
Required attributes
- Name
accountNo- Type
- string
- Description
Accountno parameter specified in the URL path
Request
curl -X POST https://api.adiba.app/v1/accounts/{accountNo}/close \
-H "Authorization: Bearer {token}" \
-d '{
"closureReason": "No longer needed",
"preferredClosureDate": "2024-12-31T00:00:00Z",
"transferAccount": "ACC_001",
"comments": "Account no longer required",
"acknowledgeTerms": true
}'
{
"status": "SUCCESS",
"applicationId": "CLOSE_APP_001",
"accountNumber": "ACC_002",
"closureReason": "No longer needed",
"preferredClosureDate": "2024-12-31T00:00:00Z",
"transferAccount": "ACC_001",
"applicationStatus": "PENDING",
"submittedAt": "2024-12-01T10:30:00Z",
"estimatedProcessingTime": "5-7 business days",
"message": "Account closure application submitted successfully"
}
Read Account Details
Fetches all static information and configurations of a given account.
Required attributes
- Name
accountNo- Type
- string
- Description
Accountno parameter specified in the URL path
Request
curl -G https://api.adiba.app/v1/accounts/{accountNo} \
-H "Authorization: Bearer {token}"
{
"accountNumber": "ACC_001",
"accountName": "John Doe",
"accountType": "SAVINGS",
"productId": "SAVINGS_001",
"productName": "Premium Savings",
"currency": "NGN",
"accountStatus": "ACTIVE",
"openedAt": "2024-01-01T00:00:00Z",
"interestRate": 5.5,
"minimumBalance": 1000,
"overdraftLimit": 0,
"dailyLimit": 500000,
"monthlyLimit": 5000000,
"savingsGoal": null,
"savingsFrequency": null,
"savingsAmount": null,
"maturityDate": null,
"accountFeatures": [
"ONLINE_BANKING",
"MOBILE_BANKING",
"DEBIT_CARD",
"INTEREST_EARNING"
],
"linkedAccounts": [
"ACC_002"
]
}
Configure Account Preferences
Allows users to modify settings like notification and statement delivery. For Target Savings type, this allows user modify savings goal and early closure
Required attributes
- Name
accountNo- Type
- string
- Description
Accountno parameter specified in the URL path
Request
curl -X PUT https://api.adiba.app/v1/accounts/{accountNo}/configure \
-H "Authorization: Bearer {token}" \
-d '{
"savingsGoal": 1500000,
"savingsFrequency": "WEEKLY",
"savingsAmount": 25000,
"maturityDate": "2025-06-01T00:00:00Z",
"notifications": {
"email": true,
"sms": true,
"push": false
},
"statementDelivery": "EMAIL",
"earlyClosureAllowed": true
}'
{
"status": "SUCCESS",
"accountNumber": "ACC_003",
"savingsGoal": 1500000,
"savingsFrequency": "WEEKLY",
"savingsAmount": 25000,
"maturityDate": "2025-06-01T00:00:00Z",
"notifications": {
"email": true,
"sms": true,
"push": false
},
"statementDelivery": "EMAIL",
"earlyClosureAllowed": true,
"updatedAt": "2024-12-01T10:30:00Z",
"message": "Account preferences updated successfully"
}
Fetch Savings Products
Retrieves a list of available savings account types and their associated savings products.
Request
curl -G https://api.adiba.app/v1/account/products/types \
-H "Authorization: Bearer {token}"
{
"products": [
{
"productId": "SAVINGS_001",
"productName": "Premium Savings",
"productType": "SAVINGS",
"description": "High-yield savings account with competitive interest rates",
"interestRate": 5.5,
"minimumBalance": 1000,
"minimumDeposit": 1000,
"maximumBalance": 100000000,
"features": [
"ONLINE_BANKING",
"MOBILE_BANKING",
"DEBIT_CARD",
"INTEREST_EARNING"
],
"eligibilityCriteria": [
"Valid ID",
"Minimum age 18",
"Resident of Nigeria"
],
"isActive": true
},
{
"productId": "TARGET_SAVINGS_001",
"productName": "Target Savings",
"productType": "TARGET_SAVINGS",
"description": "Goal-oriented savings account with automated contributions",
"interestRate": 6,
"minimumBalance": 0,
"minimumDeposit": 1000,
"maximumBalance": 50000000,
"features": [
"AUTOMATED_SAVINGS",
"GOAL_TRACKING",
"HIGHER_INTEREST",
"FLEXIBLE_CONTRIBUTIONS"
],
"eligibilityCriteria": [
"Valid ID",
"Minimum age 18",
"Resident of Nigeria"
],
"isActive": true
}
],
"totalProducts": 5
}