---
title: "List Balance Transactions"
method: GET
path: "/v1/balance_transactions"
tags: ["Balance Transactions"]
---

# List Balance Transactions

`GET /v1/balance_transactions`

Returns a list of Balance transactions.

## Query parameters

- `balance_transaction_id` string, nullable — Filter by a specific balance transaction ID.
- `payout_id` string, nullable — Filter by payout ID to see transactions included in a specific payout.
- `reporting_category` string, nullable — Filter by reporting category.
- `type` string, nullable — Filter by transaction type.
- `flex_payment_intent_id` string, nullable — Filter by Flex payment intent ID. Returns balance transactions linked to that payment intent.
- `source_id` string, nullable — Filter by Flex source ID. Returns balance transactions whose source object is the given Flex charge, refund, or payout (e.g., `fch_…`).
- `starting_after` string, nullable — A cursor for use in pagination. `starting_after` is a balance transaction ID that defines your place in the list. For instance, if you make a list request and receive 20 balance transactions, ending with `fbt_xyz`, your subsequent call can include `starting_after=fbt_xyz` to fetch the next page.
- `ending_before` string, nullable — A cursor for use in pagination. `ending_before` is a balance transaction ID that defines your place in the list. For instance, if you make a list request and receive 20 balance transactions, starting with `fbt_abc`, your subsequent call can include `ending_before=fbt_abc` to fetch the previous page.
- `limit` integer, nullable — A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

## Response `200`

An envelope wrapping a list of balance transaction objects.

- MultipleBalanceTransactionsBodyForBalanceTransaction — An envelope wrapping a list of balance transaction objects.
  - `balance_transactions` BalanceTransaction[], required — The list of balance transactions.
    - `balance_transaction_id` string, required — Unique identifier for the balance transaction, prefixed with `fbtxn_`.
    - `amount` integer, required — Gross amount of the transaction, in the smallest currency unit (e.g., `1000` = $10.00 USD). Positive for funds added to your balance (e.g., charges) and negative for funds removed (e.g., refunds, payouts, dispute debits).
    - `available_on` string — A timestamp encoded as an RFC 3339 / ISO 8601 string (e.g. `2026-06-15T14:30:00Z`).
    - `created_at` string — A timestamp encoded as an RFC 3339 / ISO 8601 string (e.g. `2026-06-15T14:30:00Z`).
    - `exchange_rate` number, double, nullable — The exchange rate applied if the transaction involved a currency conversion. `null` when no conversion took place.
    - `fee` integer, required — Total processing fee deducted from `amount`, in the smallest currency unit (e.g., `30` = $0.30 USD). `0` when no fee applies.
    - `net` integer, required — Net amount that affects your balance after `fee` is applied (`net = amount - fee`), in the smallest currency unit (e.g., `970` = $9.70 USD).
    - `reporting_category` string, nullable — High-level accounting category for the transaction. `null` if not yet categorized.
    - `checkout_session_id` string, nullable — ID of the Checkout Session that originated this transaction, if it stems from a checkout.
    - `client_reference_id` string, nullable — Your own identifier for the originating object, carried over from the checkout session or payment.
    - `status` 'available' | 'pending', required — Availability status of the funds in a balance transaction. - `available`: Funds have settled and are available to be paid out. - `pending`: Funds are not yet available.
    - `source_id` string, nullable — ID of the Flex object that produced this transaction (e.g., a Charge `fch_`, Refund `fre_`, or Payout `fpo_`). `null` if the source has not been resolved to a Flex object.
    - `type` string, nullable — The type of transaction.
    - `flex_payment_intent_id` string, nullable — ID of the Payment Intent associated with this transaction, if any. `null` for transactions not tied to a payment (e.g., payouts).
    - `test_mode` boolean, required — Whether this transaction was created in test mode. `true` for test-mode data, `false` for live data.
    - `mid` string, nullable — Merchant identifier (MID) for the account that processed the transaction.
    - `currency` string, nullable — Three-letter ISO currency code, in lowercase (e.g., `usd`).
    - `metadata` object, nullable — Set of key-value pairs you can attach to the object for storing additional structured information.
    - `transaction_fee_amount` integer, nullable — Portion of `fee` attributable to standard transaction processing, in the smallest currency unit. `null` if not broken out.
    - `interchange_fee_amount` integer, nullable — Portion of `fee` attributable to card-network interchange, in the smallest currency unit. `null` if not broken out.
    - `lmn_fee_amount` integer, nullable — Portion of `fee` attributable to Letter of Medical Necessity (LMN) processing, in the smallest currency unit. `null` if not applicable.
    - `dispute_fee_amount` integer, nullable — Portion of `fee` attributable to a dispute, in the smallest currency unit. `null` if not applicable.
    - `card_type` string, nullable — Card funding type used for the transaction.
    - `card_network` string, nullable — Card network used for the transaction (e.g., `visa`, `mastercard`).

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `409` — Conflict
- `422` — Validation Error
- `429` — Too Many Requests

---

[API](https://skmtc.dev/withflex/apis/flex-api.md) · [All operations](https://skmtc.dev/withflex/apis/flex-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/withflex/flex-api/revisions/b1560fc2f199/schema)
