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

GET
/v1/accounts/{accountNo}/balance
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

GET
/v1/accounts/{accountNo}/history
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

GET
/v1/accounts/{accountNo}/statement
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

GET
/v1/accounts
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

POST
/v1/accounts
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

POST
/v1/accounts/{accountNo}/close
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

GET
/v1/accounts/{accountNo}
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

PUT
/v1/accounts/{accountNo}/configure
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

GET
/v1/account/products/types
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
}

Was this page helpful?