---
title: "List Bank Account Connections"
method: GET
path: "/v1/platform/businesses/{business_id}/bank-accounts/"
tags: ["Bank Accounts Management"]
---

# List Bank Account Connections

`GET /v1/platform/businesses/{business_id}/bank-accounts/`

## Request

- Base URL: `https://docs.thredfi.com` (the document declares no server; this is the origin it was published from)
- URL: `https://docs.thredfi.com/v1/platform/businesses/{business_id}/bank-accounts/`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer
  - HTTP basic
  - HTTP bearer
  - HTTP bearer

Retrieve a paginated list of bank account connections with advanced filtering options and statistics.

        **Default Behavior:**
        - Returns all bank account connections for the authenticated partner's businesses
        - Uses summary serializer for list view (lighter payload)
        - Includes statistics for the filtered results

        **Statistics Included:**
        - Total account counts (total, active, inactive)
        - Sync status counts (synced, never synced)
        - Mapping status counts (mapped, unmapped)
        - Provider breakdown
        - Currency breakdown
        - Balance summary (total, average, min, max, account counts)

        **Filtering Options:**

        **Status Filters:**
        - `is_active`: Filter by active status (true/false)

        **Provider & Business Filters:**
        - `provider`: Filter by provider (e.g., 'plaid')
        - `bank_link_status`: Filter by bank link status
        - `business_id`: Filter by specific business UUID
        - `business_name`: Search business names

        **Account Filters:**
        - `currency`: Filter by currency code (USD, EUR, etc.)
        - `balance_min`: Minimum balance filter
        - `balance_max`: Maximum balance filter
        - `has_mapped_account`: Filter by whether account is mapped to chart of accounts
        - `mapped_account_id`: Filter by specific mapped account ID

        **Date Filters:**
        - `updated_after`: Accounts updated after date
        - `updated_before`: Accounts updated before date
        - `first_sync_after`: Accounts first synced after date
        - `first_sync_before`: Accounts first synced before date
        - `has_been_synced`: Filter by whether account has been synced

        **Search:**
        - `search`: Search across account names, keys, masks, and business names

        **Ordering:**
        - `ordering`: Order by any field (prefix with '-' for descending)
        - Default: `-created_at` (newest first)

        **Examples:**
        - Get all active accounts: `?is_active=true`
        - Get accounts for specific business: `?business_id=123e4567-e89b-12d3-a456-426614174000`
        - Get accounts that have been synced: `?has_been_synced=true`
        - Get mapped accounts: `?has_mapped_account=true`
        - Search for accounts: `?search=checking`
        - Order by balance: `?ordering=-balance`

## Path parameters

- `business_id` string, uuid, required

## Query parameters

- `account_key` string
- `balance_max` number, double
- `balance_min` number, double
- `bank_link_status` 'active' | 'error' | 'revoked'
- `business_id` string
- `business_name` string
- `currency` string
- `display_name` string
- `first_sync_after` string, date-time
- `first_sync_before` string, date-time
- `has_been_synced` boolean
- `has_mapped_account` boolean
- `is_active` boolean
- `mapped_account` string, uuid
- `mapped_account_id` string, uuid
- `ordering` string
- `page` integer
- `page_size` integer
- `provider` string
- `search` string
- `updated_after` string, date-time
- `updated_before` string, date-time

## Response `200`

- PaginatedBankAccountConnectionSummaryList
  - `count` integer, required: Total number of items
  - `page_info` object, required
    - `total_count` integer, required: Total number of items (same as count)
    - `current_page` integer, required: Current page number (1-indexed)
    - `total_pages` integer, required: Total number of pages
    - `page_size` integer, required: Number of items per page
  - `results` BankAccountConnectionSummary[], required
    - `id` string, uuid, required: Unique bank account connection identifier
    - `display_name` string: User-friendly account name (e.g., 'Business Current Account')
    - `official_name` string: Official bank account name from the financial institution
    - `mask` string: Last 4 digits of account number for identification (e.g., '1234')
    - `balance` number, double, nullable, required: Current account balance in decimal format (e.g., 12500.50 for £12,500.50) - for backward compatibility
    - `balance_cents` integer, required: Current account balance in cents (e.g., 1250050 for £12,500.50)
    - `currency` string: Account currency code (GBP, EUR, USD)
    - `is_active` boolean: Whether this account connection is active and syncing transactions (false if disconnected)
    - `bank_link_status` string, required: Bank link connection status (active, revoked, error)
    - `business_name` string, required: Business name for display purposes
    - `provider` string, required: Banking data provider (e.g., plaid, open_banking)
    - `created_at` string, date-time, required: Timestamp when bank account was first connected

## Other responses

- `400`: Validation errors in request data
- `401`: Authentication required - missing or invalid API key
- `403`: Permission denied - insufficient privileges
- `404`: Resource not found
- `409`: Conflict - resource already exists or invalid state transition
- `422`: Unprocessable entity - business logic validation failed
- `500`: Internal server error

---

[API](https://skmtc.dev/thredfi/apis/thredfi-accounting-platform-api.md) - [All operations](https://skmtc.dev/thredfi/apis/thredfi-accounting-platform-api/llms.txt) - [OpenAPI document](https://skmtc.dev/thredfi/apis/thredfi-accounting-platform-api/revisions/0c1918254db3?raw)
