# Aggregate portfolio across all fund accounts

> 🔒 **Private label — [contact sales](mailto:sales@boyahq.com).** Requires a private-label entitlement on your API client.

Aggregate portfolio across all fund accounts

Endpoint: GET /investments/portfolio
Version: 2.0.0
Security: oauth2ClientCredentials

## Query parameters:

  - `refresh` (string, required)

## Header parameters:

  - `Idempotency-Key` (string)
    Required on write endpoints (POST). UUID per submission. Middleware dedupes for 24h.

  - `org_wallet_ref` (string)

  - `business_id` (string, required)

## Response 200 fields (application/json):

  - `account_count` (number, required)
    Example: 2

  - `accounts` (array, required)

  - `accounts.fund_account_id` (string, required)
    Customer's fund account ID
    Example: fa_01HXYZ...

  - `accounts.fund_id` (string, required)
    Catalogue fund ID
    Example: fund_britam_kes_mmf

  - `accounts.fund_name` (string, required)
    Example: Britam KES Money Market Fund

  - `accounts.vendor` (string, required)
    Example: BRITAM

  - `accounts.product` (string, required)
    Example: MONEY_MARKET

  - `accounts.currency` (string, required)
    Example: KES

  - `accounts.org_wallet_ref` (string)
    Organization wallet reference for this fund account currency.
    Example: 1

  - `accounts.account_reference` (string)
    External account reference (display-only)
    Example: BA100020873BOYA

  - `accounts.approval_ref` (string)
    Approval request reference for pending opt-in records.
    Example: INV-OPT-123456

  - `accounts.investment_wallet_id` (string)
    Boya wallet id of the MMF investment account. Used by the dashboard as the destination when topping up the investment account from a business wallet.
    Example: I622957

  - `accounts.state` (string, required)
    Enum: "opt_in_pending", "active", "closing", "opt_in_failed"

  - `accounts.invested` (object, required)
    Total invested principal (native currency)

  - `accounts.invested.amount` (number, required)
    Numeric amount
    Example: 125000.5

  - `accounts.invested.currency` (string, required)
    ISO 4217 currency code
    Example: KES

  - `accounts.wallet_available_balance` (object)
    Available cash in the investment wallet before it is invested with the custodian.

  - `accounts.opt_in_date` (string)
    Opt-in date (date-only, ISO 8601)
    Example: 2024-08-12

  - `accounts.treasury_operators` (array)
    Employee ids permitted to transfer funds from this account (the wallet's employees_allowed_to_make_payments). Drives the Treasury Operators panel.
    Example: ["64f0a1b2c3d4e5f600112233","64f0a1b2c3d4e5f600445566"]

  - `accounts.investment_permissions` (array)

  - `accounts.investment_permissions.employee_id` (string, required)
    Example: 64f0a1b2c3d4e5f600112233

  - `accounts.investment_permissions.actions` (array, required)

  - `accounts.available_balance` (object)
    Live Britam balance for the account (uncached upstream call).

  - `accounts.pending_investment` (object)
    Aggregate pending-investment total awaiting custodian confirmation.

  - `accounts.native_currency` (string, required)
    Currency of the native account totals.
    Example: KES

  - `totals_by_currency` (array, required)

  - `totals_by_currency.currency` (string, required)
    Example: KES

  - `totals_by_currency.account_count` (number, required)
    Example: 1

