---
title: "List chart of accounts"
method: GET
path: "/v1/platform/businesses/{business_id}/general-ledger/chart-of-accounts/"
tags: ["General Ledger"]
---

# List chart of accounts

`GET /v1/platform/businesses/{business_id}/general-ledger/chart-of-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}/general-ledger/chart-of-accounts/`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer
  - HTTP basic
  - HTTP bearer
  - HTTP bearer

List all accounts with current balances for a business.

        **Features:**
        - Filter by account type (Assets, Liabilities, Equity, Revenue, Expenses)
        - Filter by fiscal year (accounts with activity in that year)
        - Filter by specific accounting period (year + month)
        - Filter by parent account (hierarchical view)
        - Search by account name or code
        - Include/exclude zero balance accounts
        - Group accounts by type (Assets, Liabilities, etc.)
        - Pagination support (default: 20 per page, max: 100)

        **Response includes:**
        - Account code, name, type, sub-type
        - Current balance (from ledger)
        - Formatted balance with currency symbol (€, £, $)
        - Period-specific balance (if period filters applied)
        - Debit and credit balances
        - Parent/child account relationships
        - Hierarchy level and children indicator

        **Grouping:**
        Use `group_by=type` to get accounts grouped by:
        - Assets (Current, Fixed, Other)
        - Liabilities (Current, Long-term)
        - Equity
        - Revenue
        - Expenses (Operating, COGS)

        **Period Filtering:**
        Use both `period_year` and `period_month` together to get period-specific balances.
        Example: `period_year=2024&period_month=11` for November 2024.

        **Account Types (5 fundamental types):**
        - `asset`: Asset (use account_subtype for current/fixed/other)
        - `liability`: Liability (use account_subtype for current/long_term)
        - `equity`: Equity
        - `revenue`: Revenue
        - `expense`: Expense (use account_subtype for operating/cogs)

## Path parameters

- `business_id` string, uuid, required

## Query parameters

- `account_type` string
- `fiscal_year` integer
- `group_by` string
- `include_zero_balance` boolean
- `is_active` boolean
- `page` integer
- `page_size` integer
- `parent_account_id` string, uuid
- `period_month` integer
- `period_year` integer
- `search` string

## Response `200`

- PaginatedChartOfAccountListList
  - `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` ChartOfAccountList[], required
    - `id` string, uuid, required: Unique account identifier
    - `code` string, required: Account code from chart of accounts (e.g., '1000', '4000')
    - `name` string, required: Account name from chart of accounts
    - `currency` string, required: Account currency from business base currency (GBP, EUR, USD)
    - `account_type` 'asset' | 'liability' | 'equity' | 'revenue' | 'expense', required: Account type code (asset, liability, equity, revenue, expense) * `asset` - Asset * `liability` - Liability * `equity` - Equity * `revenue` - Revenue * `expense` - Expense
    - `account_type_display` string, nullable, required: Human-readable account type (e.g., 'Current Asset', 'Revenue')
    - `account_subtype` 'current_assets' | 'non_current_assets' | 'current_liabilities' | 'non_current_liabilities' | 'share_capital' | 'share_premium' | 'reserves' | 'retained_earnings' | 'revenue' | 'other_operating_income' | 'finance_income' | 'direct_costs' | 'operating_expenses' | 'finance_costs' | 'income_tax', required: Account subtype code for more granular classification (bank, cash, etc.) * `current_assets` - Current Assets * `non_current_assets` - Non-current Assets * `current_liabilities` - Current Liabilities * `non_current_liabilities` - Non-current Liabilities * `share_capital` - Share Capital * `share_premium` - Share Premium * `reserves` - Reserves * `retained_earnings` - Retained Earnings * `revenue` - Revenue * `other_operating_income` - Other Operating Income * `finance_income` - Finance Income * `direct_costs` - Direct Costs * `operating_expenses` - Operating Expenses * `finance_costs` - Finance Costs * `income_tax` - Income Tax
    - `account_subtype_display` string, nullable, required: Account subtype for more granular classification
    - `parent_account_code` string, nullable, required: Parent account code if this is a sub-account (null for top-level accounts)
    - `current_balance` integer, required: Current balance in cents
    - `current_balance_formatted` string, required: Formatted balance with currency symbol (e.g., '£12,500.50')
    - `debit_balance` integer, required: Debit balance in cents
    - `credit_balance` integer, required: Credit balance in cents
    - `period_balance` integer, required: Period balance in cents (null if no period filter applied)
    - `period_balance_formatted` string, nullable, required: Formatted period balance with currency symbol (null if no period filter)
    - `has_children` boolean, required: Whether this account has sub-accounts (nested hierarchy)
    - `hierarchy_level` integer, required: Depth in account hierarchy (0 for root accounts)
    - `is_active` boolean, required: Whether this account is active and accepting transactions

## 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)
