---
title: "Get Cash Balances"
method: GET
path: "/insights/v2/assets/balances"
tags: ["Assets"]
---

# Get Cash Balances

`GET /insights/v2/assets/balances`

## Request

- Base URL: `https://sandbox.leantech.me`
- URL: `https://sandbox.leantech.me/insights/v2/assets/balances`
- Auth: HTTP bearer

The Cash Balances API provides a comprehensive view of both **Personal** or **Business** cash balances, offering insights into current, historical, and average balances.
The data in this API allows financial companies to monitor liquidity trends and assess the financial health of bank accounts over time. Additionally, it provides information on the frequency and amount of contributions. You can use these insights to evaluate repayment capacity.
> **"Supported for both retail and corporate accounts"**

## Query parameters

- `entity_id` string, uuid, required
- `async` boolean
- `start_date` string, date, required

## Response `200`

OK

- InsightsResult
  - `status` 'OK' | 'PENDING' | 'FAILED' | 'CONSENT_EXPIRED' | 'RECONNECT_REQUIRED' | 'PROCESSING_STARTED', required: The status of the request
  - `results_id` string, uuid, required: The unique identifier for the request
  - `message` string, required: A message describing the status of the request
  - `meta` object, nullable: Meta information about the request
  - `timestamp` string, date-time, required: The datetime of when the request was made
  - `status_detail` StatusDetail, nullable
    - `granular_status_code` string, nullable: Granular status code
    - `status_additional_info` string, nullable: Additional information about the status
  - `type` 'income' | 'employment' | 'cashflow' | 'credits-obligations' | 'non-credits-obligations' | 'expenses' | 'cash-balances' | 'freelancer-cashflow' | 'cashflow-patterns' | 'credit-assessments' | 'account-controls' | 'credit-obligations' | 'spending': type of insight
  - `insights` union
    - CashflowPatterns: Cashflow pattern analysis results.
      - `cashflow_patterns` CashflowPattern[], required: List of identified cashflow patterns.
        - `credit_debit_indicator` 'CREDIT' | 'DEBIT', required: Indicates whether the cashflow pattern is a credit or debit.
        - `primary_category` string, required: The primary category of the cashflow pattern.
        - `secondary_category` string, required: The secondary category of the cashflow pattern.
        - `counter_party` string, required: The merchant, employer, sender, or receiver associated with the cashflow pattern.
        - `total_amount` CurrencyAmount, required
          - `currency` string, required: The ISO 3 letter currency code
          - `amount` number, required: The amount of money in the currency specified.
        - `transaction_count` integer, required: The total number of transactions over the analysis period.
        - `monthly_totals` CashFlowPatternMonthlyTotal[], required: Monthly breakdown over the analysis period.
          - `month` string, required: The month in YYYY-MM format.
          - `amount` CurrencyAmount, required
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `transaction_count` integer, required: The number of transactions in this month.
        - `regularity` CashflowRegularity, required
          - `days_of_month_numbers` integer[], required: The day(s) of the month when the transaction typically occurs.
          - `days_of_month_names` string[], required: The day name(s) of the week (e.g. Sunday, Monday) on which the transaction typically occurs.
          - `interval` CashflowInterval, required
            - `minimum_days` integer, required: The minimum number of days between transactions.
            - `maximum_days` integer, required: The maximum number of days between transactions.
          - `average_interval_days` number, required: The average number of days between transactions.
          - `frequency` 'WEEKLY' | 'MONTHLY' | 'QUARTERLY' | 'ANNUALLY', required: The frequency of the cashflow pattern.
          - `activity_status` 'STARTED_AND_ONGOING' | 'STARTED_AND_STOPPED' | 'STOPPED' | 'ONGOING', required: The lifecycle status of the cashflow pattern within the analysis window: `STARTED_AND_ONGOING` — the pattern first appeared inside the window and is still active; `STARTED_AND_STOPPED` — the pattern both started and stopped within the window; `STOPPED` — the pattern predates the window and has since stopped; `ONGOING` — the pattern predates the window and is still active.
    - IncomeVerificationResponsePayload
      - `salary` IncomeCategoryPayload
        - `currency` string: Currency of the account
        - `total` IncomeTotal
          - `amount` number: The total amount of transactions
          - `count` integer: The total number of transactions within the time period.
          - `last_date_time` string, date-time: End date for transactions range
          - `first_date_time` string, date-time: Start date for transactions range
          - `average_monthly_amount` number: The average of all transaction amounts per month within the time period.
          - `average_monthly_count` number: The average number of transactions per month within the period.
          - `average_monthly_received_value` number: The average received value calculated as total amount divided by the count of months that had income (excluding zero months).
          - `maximum_monthly_amount` MonthlyAmount
            - `month` integer: The transaction month
            - `year` integer: The transaction year
            - `amount` number: The transaction amount
          - `minimum_monthly_amount` MonthlyAmount
            - `month` integer: The transaction month
            - `year` integer: The transaction year
            - `amount` number: The transaction amount
        - `monthly_totals` IncomeMonthlyTotal[]
          - `month` integer: The month of the reporting period
          - `year` integer: The year of the reporting period
          - `amount` number: The total amount of transactions in the Month
          - `count` integer: Number of transactions in the month
          - `is_month_complete` boolean: Indicates whether the data for this month is complete
        - `transactions` IncomeTransaction[]
          - `account_id` string, uuid, required: The account ID associated with the transaction
          - `transaction_id` string, required: The unique transaction identifier
          - `transaction_information` string, required: Additional information about the transaction
          - `booking_date_time` string, date-time, required: The date and time when the transaction was booked
          - `amount` number, required: The transaction amount
          - `income_source` IncomeSourceDetails, nullable
            - `type` 'EMPLOYMENT' | 'RETIREMENT' | 'HOUSING_BENEFIT' | 'GIG_ECONOMY' | 'UNEMPLOYMENT' | 'RENTAL' | 'TRANSFER_FROM_OWN_APPLICATION' | 'STUDENT_STIPEND' | 'INVESTMENTS' | 'CITIZEN_ACCOUNT' | 'SOCIAL_SECURITY' | 'SIDE_BUSINESS' | 'BONUS' | 'CASH_DEPOSIT': Classification of income source type (combined enum for all income sources)
            - `name` string: The name of the employer or the source of the incoming transaction if available
        - `income_factors` IncomeFactors
          - `periods` IncomeFactorsPeriod[]: Array of income periods with their respective statistics
            - `period` string: The time period in months, represented as P1M, P2M, P3M, P6M, P9M or P12M
            - `income_variation` number: The variation in income for this period
            - `average_income` CurrencyAmount
              - …
          - `delta_min_max` number: Ratio of the maximum salary amount to minimum salary amount
          - `average_monthly_income_change` number: Average of Percentage Change Month on Month within the time period.
      - `non_salary` IncomeCategoryPayload
        - `currency` string: Currency of the account
        - `total` IncomeTotal
          - `amount` number: The total amount of transactions
          - `count` integer: The total number of transactions within the time period.
          - `last_date_time` string, date-time: End date for transactions range
          - `first_date_time` string, date-time: Start date for transactions range
          - `average_monthly_amount` number: The average of all transaction amounts per month within the time period.
          - `average_monthly_count` number: The average number of transactions per month within the period.
          - `average_monthly_received_value` number: The average received value calculated as total amount divided by the count of months that had income (excluding zero months).
          - `maximum_monthly_amount` MonthlyAmount
            - `month` integer: The transaction month
            - `year` integer: The transaction year
            - `amount` number: The transaction amount
          - `minimum_monthly_amount` MonthlyAmount
            - `month` integer: The transaction month
            - `year` integer: The transaction year
            - `amount` number: The transaction amount
        - `monthly_totals` IncomeMonthlyTotal[]
          - `month` integer: The month of the reporting period
          - `year` integer: The year of the reporting period
          - `amount` number: The total amount of transactions in the Month
          - `count` integer: Number of transactions in the month
          - `is_month_complete` boolean: Indicates whether the data for this month is complete
        - `transactions` IncomeTransaction[]
          - `account_id` string, uuid, required: The account ID associated with the transaction
          - `transaction_id` string, required: The unique transaction identifier
          - `transaction_information` string, required: Additional information about the transaction
          - `booking_date_time` string, date-time, required: The date and time when the transaction was booked
          - `amount` number, required: The transaction amount
          - `income_source` IncomeSourceDetails, nullable
            - `type` 'EMPLOYMENT' | 'RETIREMENT' | 'HOUSING_BENEFIT' | 'GIG_ECONOMY' | 'UNEMPLOYMENT' | 'RENTAL' | 'TRANSFER_FROM_OWN_APPLICATION' | 'STUDENT_STIPEND' | 'INVESTMENTS' | 'CITIZEN_ACCOUNT' | 'SOCIAL_SECURITY' | 'SIDE_BUSINESS' | 'BONUS' | 'CASH_DEPOSIT': Classification of income source type (combined enum for all income sources)
            - `name` string: The name of the employer or the source of the incoming transaction if available
        - `income_factors` IncomeFactors
          - `periods` IncomeFactorsPeriod[]: Array of income periods with their respective statistics
            - `period` string: The time period in months, represented as P1M, P2M, P3M, P6M, P9M or P12M
            - `income_variation` number: The variation in income for this period
            - `average_income` CurrencyAmount
              - …
          - `delta_min_max` number: Ratio of the maximum salary amount to minimum salary amount
          - `average_monthly_income_change` number: Average of Percentage Change Month on Month within the time period.
    - EmploymentPayload
      - `employment_details` EmploymentDetails[]
        - `bank_employer_name` string, nullable, required: The name of the employer as it appears in bank transaction descriptions. This is the raw employer name extracted directly from salary payment transaction records.
        - `matched_reference_employer` EmployerDetails, required
          - `name` Translation, nullable
            - `en` string, required: Employer name in English.
            - `ar` string, required: Employer name in Arabic.
          - `cr_number` integer, nullable: Employer’s Commercial Registration (CR) number.
        - `salary_consistent` boolean, nullable, required: Boolean indicator that determines if the salary payments from this employer follow a consistent pattern. true indicates stable payment patterns, while false indicates irregularity. This is calculated by comparing both date and amount variances against predefined thresholds (typically 5 days for dates and 1000 currency units for amounts).
        - `salary_date_variance` number, double, nullable, required: A statistical measure of the variability in the timing of salary payments, expressed as the standard deviation of intervals (in days) between consecutive salary payments. Lower values indicate more consistent payment timing. A value of 0 means all payments were made at exactly the same interval.
        - `salary_amount_variance` number, double, nullable, required: A statistical measure of the variability in salary payment amounts, expressed as the standard deviation of payment amounts. Lower values indicate more consistent payment amounts. A value of 0 means all payments were exactly the same amount.
        - `first_salary_date` string, date-time, nullable, required: The timestamp of the earliest detected salary payment from this employer. This indicates when the employment relationship began or when the earliest available transaction record starts.
    - CashFlow
      - `total` object
        - `inwards` CashFlowCategoryAmountCount[]
          - `category` string: The category of the cash flow
          - `amount` CurrencyAmount
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `count` integer: The count of transactions in this category
        - `outwards` CashFlowCategoryAmountCount[]
          - `category` string: The category of the cash flow
          - `amount` CurrencyAmount
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `count` integer: The count of transactions in this category
        - `net` CashFlowNet
          - `overall_amount` CurrencyAmount
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `net_cashflow` CurrencyAmount
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
      - `monthly_totals` CashFlowMonthlyTotal[]
        - `month` integer: The month of the reporting period
        - `year` integer: The year of the reporting period
        - `is_month_complete` boolean: Indicates whether the data for this month is complete
        - `inwards` CashFlowCategoryAmountCount[]
          - `category` string: The category of the cash flow
          - `amount` CurrencyAmount
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `count` integer: The count of transactions in this category
        - `outwards` CashFlowCategoryAmountCount[]
          - `category` string: The category of the cash flow
          - `amount` CurrencyAmount
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `count` integer: The count of transactions in this category
        - `net` CashFlowNet
          - `overall_amount` CurrencyAmount
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `net_cashflow` CurrencyAmount
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
      - `credit_debit_behaviour` CreditDebitBehaviour
        - `periods` CreditDebitBehaviourPeriod[], required
          - `period` string, required: The time period
          - `grand_average_credit_amount` CurrencyAmount, required
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `grand_average_credit_count` integer, required: The average credit transaction count
          - `grand_average_debit_amount` CurrencyAmount, required
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `grand_average_debit_count` integer, required: The average debit transaction count
          - `grand_average_credit_debit_amount_ratio` number, required: The ratio of credit to debit amounts
          - `grand_average_credit_debit_count_ratio` number, required: The ratio of credit to debit transaction counts
          - `total_volume_of_credit` CurrencyAmount, required
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `total_volume_of_debit` CurrencyAmount, required
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `total_volume_of_credit_debit_ratio` number, required: The ratio of total credit to debit volumes
      - `big_payments` BigPayments
        - `periods` BigPaymentsPeriod[], required
          - `period` string, required: The time period
          - `average_max_monthly_credit_amount` CurrencyAmount, required
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `average_max_monthly_debit_amount` CurrencyAmount, required
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `average_max_monthly_credit_debit_amount_ratio` number, required: The ratio of credit to debit amounts
    - CashBalance
      - `total` CashBalanceTotal
        - `average_balance` CurrencyAmount
          - `currency` string, required: The ISO 3 letter currency code
          - `amount` number, required: The amount of money in the currency specified.
        - `initial_balance` CurrencyAmount
          - `currency` string, required: The ISO 3 letter currency code
          - `amount` number, required: The amount of money in the currency specified.
        - `current_balance` CurrencyAmount
          - `currency` string, required: The ISO 3 letter currency code
          - `amount` number, required: The amount of money in the currency specified.
        - `available_balance` CurrencyAmount
          - `currency` string, required: The ISO 3 letter currency code
          - `amount` number, required: The amount of money in the currency specified.
        - `frequency_of_contributions` string: How often deposits are made to the account
      - `monthly_totals` CashBalanceMonthlyTotal[]
        - `month` integer: The month of the reporting period
        - `year` integer: The year of the reporting period
        - `is_month_complete` boolean: Indicates whether the data for this month is complete
        - `monthly_growth_rate` number: The growth rate for the month
        - `contribution_amount` CurrencyAmount
          - `currency` string, required: The ISO 3 letter currency code
          - `amount` number, required: The amount of money in the currency specified.
        - `average_balance` CurrencyAmount
          - `currency` string, required: The ISO 3 letter currency code
          - `amount` number, required: The amount of money in the currency specified.
        - `initial_balance` CurrencyAmount
          - `currency` string, required: The ISO 3 letter currency code
          - `amount` number, required: The amount of money in the currency specified.
      - `balance_factors` BalanceFactors
        - `periods` BalanceFactorsPeriod[], required
          - `period` string: The time period
          - `average_balance` number: The average balance for the period
        - `balance_trend_average_month_on_month` number, required: Ratio of average percentage of positive balance trends to negative balance trends.
        - `current_balance` number, required: The current balance amount
        - `balance_trend` integer, required: Number of times the balance increased month over month
        - `inflow_factors` CashBalanceInflowFactors, required
          - `median_transaction_amount` number, required: Median of all transactions
          - `max_transaction_amount` number, required: Maximum of all transactions amount
          - `min_transaction_amount` number, required: Minimum of all transactions amount
          - `weekday_transaction_count` integer, required: Count of all transactions on weekdays (Mon-Fri)
          - `weekend_transaction_count` integer, required: Count of all transactions on weekend (Sat, Sun)
          - `average_time` number, required: Average of all transactions time
          - `percent_greater_than_x` number, required: Percentage of all transactions amount greater than X
          - `recurring_average` number, required: Average of all recurring transactions amount
          - `median_days` number, double, required: Median of difference between transaction dates
        - `outflow_factors` CashBalanceOutflowFactors, required
          - `median_transaction_amount` number, required: Median of all transactions
          - `max_transaction_amount` number, required: Maximum of all transactions amount
          - `min_transaction_amount` number, required: Minimum of all transactions amount
          - `weekday_transaction_count` integer, required: Count of all transactions on weekdays (Mon-Fri)
          - `weekend_transaction_count` integer, required: Count of all transactions on weekend (Sat, Sun)
          - `average_time` number, required: Average of all transactions time
          - `percent_greater_than_x` number, required: Percentage of all transactions amount greater than X
          - `recurring_average` number, required: Average of all recurring transactions amount
          - `median_days` number, double, required: Median of difference between transaction dates
        - `daily_net_cashflow_estimate` number, double, required: Total difference between inflows and outflows
    - Expenses
      - `currency` string, required: The 3 Letter ISO code denominating the currency that the salary is provided in. This will be local currency (AED in _UAE).
      - `total` ExpensesTotal, required
        - `count` integer: Number of expenses transactions within the time period.
        - `amount` number, required: Total expenses since start_date.
        - `first_date_time` string, date-time: UTC datetime of first expense transaction since start_date.
        - `last_date_time` string, date-time: UTC datetime of last expense transaction.
        - `average_monthly_count` number: Average number of expenses transactions per month since start_date.
        - `average_monthly_amount` number: Average expenses amount per month since start_date.
        - `minimum_monthly_amount` ExpensesMonthlyAmount
          - `month` integer: Number of month within the year (e.g.: January is represented as 1 and December is represented as 12)
          - `year` integer: Year
          - `amount` number, required: Total expenses for the month
        - `maximum_monthly_amount` ExpensesMonthlyAmount
          - `month` integer: Number of month within the year (e.g.: January is represented as 1 and December is represented as 12)
          - `year` integer: Year
          - `amount` number, required: Total expenses for the month
        - `breakdown` Breakdown[], required: Breakdown of expenses by category.
          - `by` string, required: Criteria by which we are breaking down the expenses.
          - `breakdowns` BreakdownElement[], required: List of breakdown elements.
            - union
              - …
      - `monthly_totals` MonthlyTotalExpenses[], required: Total expenses for all months from start_date until today.
        - `month` integer: Number of month within the year (e.g.: January is represented as 1 and December is represented as 12)
        - `year` integer: Year.
        - `amount` number, required: Total expenses for the month.
        - `count` integer: Number of expense transactions in the month.
        - `is_month_complete` boolean: Determines if Lean retrieved the data for all days for the month. This will always be `true`, except for the first and last month retrieved.
        - `breakdown` Breakdown[], required: Breakdown of expenses by category.
          - `by` string, required: Criteria by which we are breaking down the expenses.
          - `breakdowns` BreakdownElement[], required: List of breakdown elements.
            - union
              - …
      - `transactions` ExpensesTransaction[], required: List of expense transactions (internal use only, not serialized in API response)
        - `account_id` string, uuid, required: The account ID for the transaction
        - `transaction_id` string, required: The unique transaction identifier
        - `transaction_information` string, nullable: Additional information about the transaction
        - `booking_date_time` string, date-time, required: The date and time when the transaction was booked
        - `amount` number, required: The transaction amount
        - `category` string, required: The expense category
    - CreditObligations
      - `current_credit_cards_balance` CurrentCreditCardsBalance, required
        - `amount` CurrencyAmount
          - `currency` string, required: The ISO 3 letter currency code
          - `amount` number, required: The amount of money in the currency specified.
      - `number_of_credit_cards` integer, nullable, required: Total number of credit cards
      - `total` CreditObligationsTotal, required
        - `loan_repayments` AmountCount
          - `amount` CurrencyAmount, required
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `count` integer, nullable: The total number of transactions
        - `minimum_loan_repayment` CurrencyAmount
          - `currency` string, required: The ISO 3 letter currency code
          - `amount` number, required: The amount of money in the currency specified.
        - `maximum_loan_repayment` CurrencyAmount
          - `currency` string, required: The ISO 3 letter currency code
          - `amount` number, required: The amount of money in the currency specified.
        - `average_loan_repayment` CurrencyAmount
          - `currency` string, required: The ISO 3 letter currency code
          - `amount` number, required: The amount of money in the currency specified.
        - `last_loan_repayment_date_time` string, date-time, nullable: Date and time of the last loan repayment transaction
        - `loan_received` AmountCount
          - `amount` CurrencyAmount, required
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `count` integer, nullable: The total number of transactions
        - `minimum_loan_received` CurrencyAmount
          - `currency` string, required: The ISO 3 letter currency code
          - `amount` number, required: The amount of money in the currency specified.
        - `maximum_loan_received` CurrencyAmount
          - `currency` string, required: The ISO 3 letter currency code
          - `amount` number, required: The amount of money in the currency specified.
        - `average_loan_received` CurrencyAmount
          - `currency` string, required: The ISO 3 letter currency code
          - `amount` number, required: The amount of money in the currency specified.
        - `last_loan_received_date_time` string, date-time, nullable: Date and time of the last loan received transaction
        - `credit_cards_repayments` AmountCount
          - `amount` CurrencyAmount, required
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `count` integer, nullable: The total number of transactions
        - `credit_cards_spending` AmountCount
          - `amount` CurrencyAmount, required
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `count` integer, nullable: The total number of transactions
        - `credit_cards_balance` BalanceInsights
          - `average_balance` CurrencyAmount
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `initial_balance` CurrencyAmount
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `current_balance` CurrencyAmount
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `available_balance` CurrencyAmount
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `frequency_of_contributions` 'MONTHLY' | 'WEEKLY' | 'DAILY': Frequency of contributions
      - `monthly_totals` CreditObligationsMonthlyTotal[], nullable, required
        - `month` integer: The month number (1-12)
        - `year` integer: The year
        - `is_month_complete` boolean: Indicates if the month has complete data
        - `loan_repayments` AmountCount
          - `amount` CurrencyAmount, required
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `count` integer, nullable: The total number of transactions
        - `loan_received` AmountCount
          - `amount` CurrencyAmount, required
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `count` integer, nullable: The total number of transactions
        - `credit_cards_repayments` AmountCount
          - `amount` CurrencyAmount, required
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `count` integer, nullable: The total number of transactions
        - `credit_cards_spending` AmountCount
          - `amount` CurrencyAmount, required
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `count` integer, nullable: The total number of transactions
        - `credit_cards_balance` BalanceInsights
          - `average_balance` CurrencyAmount
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `initial_balance` CurrencyAmount
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `current_balance` CurrencyAmount
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `available_balance` CurrencyAmount
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `frequency_of_contributions` 'MONTHLY' | 'WEEKLY' | 'DAILY': Frequency of contributions
    - NonCreditObligations
      - `total` NonCreditObligationsTotal
        - `amount` CurrencyAmount
          - `currency` string, required: The ISO 3 letter currency code
          - `amount` number, required: The amount of money in the currency specified.
        - `count` integer: Total number of transactions
        - `first_date_time` string, date-time, nullable: Date and time of the first transaction
        - `last_date_time` string, date-time, nullable: Date and time of the last transaction
        - `average_monthly_amount` CurrencyAmount, required
          - `currency` string, required: The ISO 3 letter currency code
          - `amount` number, required: The amount of money in the currency specified.
        - `average_monthly_count` number: Average number of transactions per month
        - `maximum_monthly_amount` NonCreditObligationsMonthlyAmount
          - `month` string: The month name (e.g., "September", "October")
          - `amount` CurrencyAmount
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
        - `minimum_monthly_amount` NonCreditObligationsMonthlyAmount
          - `month` string: The month name (e.g., "September", "October")
          - `amount` CurrencyAmount
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
        - `breakdown` NonCreditObligationsBreakdownBy[], nullable
          - `by` string: The breakdown category type (e.g., RECURRING_TRANSACTIONS)
          - `breakdowns` NonCreditObligationsBreakdown[], nullable
            - `transaction_name` string: Name of the recurring transaction
            - `amount` CurrencyAmount
              - …
            - `count` integer, required: Total number of transactions
            - `fraction_of_total_obligations` number, nullable: Fraction of this transaction type relative to total obligations
            - `average_monthly_amount` CurrencyAmount
              - …
            - `average_monthly_count` integer, required: Average number of transactions per month
            - `maximum_monthly_amount` NonCreditObligationsMonthlyAmount
              - …
            - `minimum_monthly_amount` NonCreditObligationsMonthlyAmount
              - …
      - `monthly_totals` NonCreditObligationsMonthlyTotal[], nullable
        - `month` integer: The month number (1-12)
        - `year` integer: The year
        - `is_month_complete` boolean: Indicates if the month has complete data
        - `amount` CurrencyAmount
          - `currency` string, required: The ISO 3 letter currency code
          - `amount` number, required: The amount of money in the currency specified.
        - `count` integer, required: Total number of transactions for this month
    - FreelancerCashFlow
      - `account_information` FreelancerAccountInformation
        - `account_holder_full_name` string: Full name of the account holder
        - `account_holder_short_name` string: Short form of the account holder name
        - `account_holder_identifier` FreelancerAccountHolderIdentifier: A government-issued identifier and the scheme it was issued under. The two schemes are mutually exclusive for a given person: Saudi citizens have a national ID, residents have an Iqama number.
          - `type` 'NATIONAL_ID' | 'IQAMA_NUMBER': The identification scheme the value belongs to
          - `value` string: The identifier value
        - `bank_name` string: Name of the bank holding the account
        - `account_opening_date` string, date-time: Date when the account was opened
      - `total` FreelancerCashFlowTotal
        - `current_balance_amount` CurrencyAmount
          - `currency` string, required: The ISO 3 letter currency code
          - `amount` number, required: The amount of money in the currency specified.
        - `average_monthly_balance_amount` CurrencyAmount
          - `currency` string, required: The ISO 3 letter currency code
          - `amount` number, required: The amount of money in the currency specified.
        - `inflows` FreelancerInflowsOutflows
          - `total_amount` CurrencyAmount
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `transactions_count` integer: Total number of transactions
          - `periods` FreelancerPeriodFactors[]: Historical data for different periods
            - `period` 'P12M' | 'P9M' | 'P6M' | 'P3M': Time period for historical data
            - `total_amount` CurrencyAmount
              - …
            - `average_amount` CurrencyAmount
              - …
        - `outflows` FreelancerInflowsOutflows
          - `total_amount` CurrencyAmount
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `transactions_count` integer: Total number of transactions
          - `periods` FreelancerPeriodFactors[]: Historical data for different periods
            - `period` 'P12M' | 'P9M' | 'P6M' | 'P3M': Time period for historical data
            - `total_amount` CurrencyAmount
              - …
            - `average_amount` CurrencyAmount
              - …
      - `monthly_totals` FreelancerCashFlowMonthlyTotal[]: Monthly breakdown of cashflow data
        - `month` integer, required: The month of the reporting period from 1 to 12
        - `year` integer, required: The year of the reporting period
        - `is_month_complete` boolean, required: Indicates whether the data for this month is complete or not
        - `inflows` FreelancerMonthlyFlows
          - `monthly_average_amount` CurrencyAmount
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `total_amount` CurrencyAmount
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `transactions_count` integer: Total number of inflow/outflow transactions in the month
        - `outflows` FreelancerMonthlyFlows
          - `monthly_average_amount` CurrencyAmount
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `total_amount` CurrencyAmount
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `transactions_count` integer: Total number of inflow/outflow transactions in the month
        - `balance` FreelancerMonthlyBalance
          - `monthly_average_amount` CurrencyAmount
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `initial_balance_amount` CurrencyAmount
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
    - SpendingPayload: Insights payload wrapper carrying the spend aggregations on debit transactions
      - `spending` Spending, required: Spending insights aggregating debit transactions over a period: three breakdown sections (by category, by merchant, by location), each carrying its own detected-* counts and entry breakdown.
        - `by_category` SpendingCategorySection, required: Category breakdown with detected-category counts.
          - `detected_primary_category_count` integer, required: Number of distinct primary categories detected.
          - `detected_secondary_category_count` integer, required: Number of distinct (primary, secondary) category combinations detected.
          - `transaction_count` integer, required: Total number of classifiable debit transactions in the analysis window.
          - `breakdown` SpendingCategoryBreakdown[], required: One entry per (primary_category, secondary_category) combination.
            - `primary_category` string, required: Primary category name.
            - `secondary_category` string, required: Secondary category name.
            - `merchant_names` string[], required: Distinct merchant names observed within this category.
            - `merchant_count` integer, required: Number of distinct merchants in this category.
            - `total_amount` CurrencyAmount, required
              - …
            - `average_transaction_amount` CurrencyAmount, required
              - …
            - `transaction_count` integer, required: Number of transactions in this category.
            - `average_monthly_transactions` number, double, required: Average monthly transaction count across the full analysis window.
            - `average_monthly_transactions_active` number, double, required: Average monthly transaction count across months that had at least one transaction in this category.
            - `average_monthly_amount` CurrencyAmount, required
              - …
            - `average_monthly_amount_active` CurrencyAmount, required
              - …
            - `first_transaction_date` string, date-time, required: Timestamp of the first transaction in this category.
            - `last_transaction_date` string, date-time, required: Timestamp of the most recent transaction in this category.
            - `active_months` integer, required: Number of months with at least one transaction in this category.
        - `by_merchant` SpendingMerchantSection, required: Merchant breakdown with detected-merchant count.
          - `detected_merchant_count` integer, required: Number of distinct merchants detected.
          - `transaction_count` integer, required: Total number of classifiable debit transactions in the analysis window.
          - `breakdown` SpendingMerchantBreakdown[], required: One entry per detected merchant.
            - `merchant_name` string, required: Merchant name.
            - `transaction_count` integer, required: Number of transactions with this merchant.
            - `total_amount` CurrencyAmount, required
              - …
            - `average_transaction_amount` CurrencyAmount, required
              - …
            - `average_monthly_transactions` number, double, required: Average monthly transaction count for this merchant across the full analysis window.
            - `average_monthly_transactions_active` number, double, required: Average monthly transaction count for this merchant across active months only.
            - `average_monthly_amount` CurrencyAmount, required
              - …
            - `average_monthly_amount_active` CurrencyAmount, required
              - …
            - `first_transaction_date` string, date-time, required: Timestamp of the first transaction with this merchant.
            - `last_transaction_date` string, date-time, required: Timestamp of the most recent transaction with this merchant.
            - `active_months` integer, required: Number of months with at least one transaction with this merchant.
        - `by_location` SpendingLocationSection, required: Location breakdown with detected-location count.
          - `detected_location_count` integer, required: Number of distinct locations detected.
          - `transaction_count` integer, required: Total number of classifiable debit transactions in the analysis window.
          - `breakdown` SpendingLocationBreakdown[], required: One entry per detected location.
            - `location` string, required: Location name where transactions occurred.
            - `transaction_count` integer, required: Number of transactions in this location.
            - `total_amount` CurrencyAmount, required
              - …
            - `average_transaction_amount` CurrencyAmount, required
              - …
            - `average_monthly_transactions` number, double, required: Average monthly transaction count in this location across the full analysis window.
            - `average_monthly_transactions_active` number, double, required: Average monthly transaction count in this location across active months only.
            - `average_monthly_amount` CurrencyAmount, required
              - …
            - `average_monthly_amount_active` CurrencyAmount, required
              - …
            - `first_transaction_date` string, date-time, required: Timestamp of the first transaction in this location.
            - `last_transaction_date` string, date-time, required: Timestamp of the most recent transaction in this location.
            - `active_months` integer, required: Number of months with at least one transaction in this location.
    - CreditObligationsV2Payload: Insights payload wrapper carrying the lender-oriented credit-obligations
      - `credit_obligations` CreditObligationsV2, required: Lender-oriented view of credit activity, split into repayments and disbursements.
        - `repayments` CreditObligationsRepayments, required: Repayment aggregates and breakdown by lender_name, credit_type.
          - `overall` CreditObligationsOverall, required: Aggregate totals across all lenders for a credit activity type.
            - `transaction_count` integer, required: Total number of transactions across all lenders.
            - `total_amount` CurrencyAmount, required
              - …
            - `average_monthly_amount` CurrencyAmount, required
              - …
            - `average_monthly_amount_active` CurrencyAmount, required
              - …
            - `average_monthly_transactions` number, double, required: Average number of transactions per month across the full analysis window (all months, not just active months).
            - `active_months` integer, required: Number of months that contained at least one transaction.
            - `lender_count` integer, required: Number of distinct lender organizations detected.
            - `lender_organizations` string[], required: Distinct lender organization names detected.
          - `breakdown` CreditObligationsRepaymentBreakdown[], required: One entry per lender that received repayments.
            - `lender_name` string, required: Lender organization name.
            - `credit_type` string, required: The type of credit product (e.g. "BNPL").
            - `transaction_count` integer, required: Number of repayment transactions with this lender.
            - `total_amount` CurrencyAmount, required
              - …
            - `average_monthly_amount` CurrencyAmount, required
              - …
            - `average_monthly_amount_active` CurrencyAmount, required
              - …
            - `first_transaction_date` string, date, required: Date of the first repayment transaction with this lender.
            - `last_transaction_date` string, date, required: Date of the most recent repayment transaction with this lender.
            - `active_months` integer, required: Number of months with at least one repayment to this lender.
        - `disbursements` CreditObligationsDisbursements, required: Disbursement aggregates and breakdown by lender_name.
          - `overall` CreditObligationsOverall, required: Aggregate totals across all lenders for a credit activity type.
            - `transaction_count` integer, required: Total number of transactions across all lenders.
            - `total_amount` CurrencyAmount, required
              - …
            - `average_monthly_amount` CurrencyAmount, required
              - …
            - `average_monthly_amount_active` CurrencyAmount, required
              - …
            - `average_monthly_transactions` number, double, required: Average number of transactions per month across the full analysis window (all months, not just active months).
            - `active_months` integer, required: Number of months that contained at least one transaction.
            - `lender_count` integer, required: Number of distinct lender organizations detected.
            - `lender_organizations` string[], required: Distinct lender organization names detected.
          - `breakdown` CreditObligationsDisbursementBreakdown[], required: One entry per lender that disbursed credit.
            - `lender_name` string, required: Lender organization name.
            - `transaction_count` integer, required: Number of disbursement transactions from this lender.
            - `total_amount` CurrencyAmount, required
              - …
            - `average_monthly_amount` CurrencyAmount, required
              - …
            - `average_monthly_amount_active` CurrencyAmount, required
              - …
            - `first_transaction_date` string, date, required: Date of the first disbursement transaction from this lender.
            - `last_transaction_date` string, date, required: Date of the most recent disbursement transaction from this lender.
            - `active_months` integer, required: Number of months with at least one disbursement from this lender.
    - CreditAssessmentPayload: Insights payload wrapper carrying the credit evaluation data
      - `credit_assessments` CreditAssessments, required: Credit evaluation data including income, expenses, balance, and computed indicators.
        - `income` CreditAssessmentIncome, required: Income components used in credit assessment.
          - `employment_income` CreditAssessmentEmploymentIncome, required: Employment income details for credit assessment.
            - `breakdown` CreditAssessmentIncomeBreakdownItem[], required: Breakdown of non-employment income by source.
              - …
          - `other_income` CreditAssessmentOtherIncome, required: Non-employment income sources for credit assessment.
            - `breakdown` CreditAssessmentIncomeBreakdownItem[], required: Breakdown of non-employment income by source.
              - …
          - `total_contributed_monthly_income` CurrencyAmount, required
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
        - `expenses` CreditAssessmentExpenses, required: Monthly expense breakdown used for credit assessment.
          - `average_monthly_credit_repayments` CurrencyAmount, required
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `average_monthly_essential_expenses` CurrencyAmount, required
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `average_monthly_discretionary_expenses` CurrencyAmount, required
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `average_monthly_total_expenses` CurrencyAmount, required
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `defined_essential_categories` string[], required: List of expense categories classified as essential for this evaluation.
        - `balance` CreditAssessmentBalance, required: Balance statistics over the analysis period.
          - `average_balance` CurrencyAmount, required
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `minimum_balance` CurrencyAmount, required
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `maximum_balance` CurrencyAmount, required
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
        - `computed_indicators` CreditAssessmentComputedIndicators, required: Derived financial indicators used in credit assessment decisions.
          - `average_monthly_net_cashflow` CurrencyAmount, required
            - `currency` string, required: The ISO 3 letter currency code
            - `amount` number, required: The amount of money in the currency specified.
          - `dbr` CreditAssessmentRatioIndicator, required: A ratio-based credit indicator including the computed rate, regulatory ceiling, and derived maximum installment.
            - `rate` number, required: The computed ratio as a decimal between 0 and 1.
            - `ceiling` number, required: The regulatory or policy ceiling for this ratio as a decimal between 0 and 1.
            - `maximum_monthly_installment` CurrencyAmount, required
              - …
          - `affordability` CreditAssessmentRatioIndicator, required: A ratio-based credit indicator including the computed rate, regulatory ceiling, and derived maximum installment.
            - `rate` number, required: The computed ratio as a decimal between 0 and 1.
            - `ceiling` number, required: The regulatory or policy ceiling for this ratio as a decimal between 0 and 1.
            - `maximum_monthly_installment` CurrencyAmount, required
              - …
    - AccountControlsPayload: Insights payload wrapper carrying aggregated eligibility verdict for underwriting decisions
      - `account_controls` AccountControls, required: Account Controls assessment of a connected account: config-independent observable signals, configurable threshold-gate flags, and an aggregated eligibility verdict for underwriting decisions.
        - `signals` AccountControlsSignals, required: Config-independent observable facts about the account.
          - `account_age_months` integer, required: Months since the account was opened.
          - `is_current_account` boolean, required: Whether the account is a current account.
          - `has_salary_income` boolean, required: Whether salaried income was detected.
          - `has_non_salary_income` boolean, required: Whether non-salary income was detected.
          - `has_inflows` boolean, required: Whether any credit (inflow) transaction was detected.
          - `has_loan_repayments` boolean, required: Whether loan-repayment outflows were detected.
          - `has_loan_disbursements` boolean, required: Whether loan-disbursement inflows were detected.
          - `is_expense_account` boolean, required: Whether the account is used primarily for expenses.
          - `has_self_transfers` boolean, required: Whether the self transfer is detected for the connected accounts
          - `self_transfer_sources` SelfTransferSource[], required: Detected self transfers between connected accounts. Empty when no self transfer was detected.
            - `iban` string, nullable: The IBAN of the counterparty account. Null when the IBAN could not be resolved from the transaction.
            - `bank_identifier` string, nullable, required: The Lean identifier for the counterparty bank. Null when the bank could not be resolved from the transaction.
        - `thresholds` AccountControlsThresholds, required: Result of evaluating each configurable gate. A null flag means the gate is not configured/enabled for this client and is excluded from the verdict.
          - `meets_minimum_average_salary` boolean, nullable, required: Detected average salary is greater than or equal to the configured minimum salary.
          - `meets_minimum_average_non_salary` boolean, nullable, required: Detected average non-salary income is greater than or equal to the configured minimum non-salary income.
          - `meets_minimum_account_age` boolean, nullable, required: account_age_months is greater than or equal to the configured minimum account age.
          - `meets_minimum_current_balance` boolean, nullable, required: Current balance is greater than or equal to the configured minimum current balance.
        - `verdict` AccountControlsVerdict, required: True only if all enabled thresholds pass
          - `eligible` boolean, required: True only if all enabled thresholds pass

## Other responses

- `202`: Accepted
- `501`: Not Implemented

---

[API](https://skmtc.dev/leantech/apis/insights-api-account-controls.md) - [All operations](https://skmtc.dev/leantech/apis/insights-api-account-controls/llms.txt) - [OpenAPI document](https://skmtc.dev/leantech/apis/insights-api-account-controls/revisions/6a904c24f1e4?raw)
