Skip to content

Stripe: Balance schemas

13 Stripe schemas with complete fields and constraints.

← Balance operations · All schemas

List all balance transactions — balance get Balance History — request body — query

FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
createdJSONOptional
created (anyOf 1)objectAlternative
created (anyOf 1).gtintegerOptional
created (anyOf 1).gteintegerOptional
created (anyOf 1).ltintegerOptional
created (anyOf 1).lteintegerOptional
created (anyOf 2)integerAlternative
currencystringOptionalFormat: currency
ending_beforestringOptionalMaximum length: 5000
expandarrayOptional
expand[]stringEach itemMaximum length: 5000
limitintegerOptional
payoutstringOptionalMaximum length: 5000
sourcestringOptionalMaximum length: 5000
starting_afterstringOptionalMaximum length: 5000
typestringOptionalMaximum length: 5000

Retrieve a balance transaction — balance get Balance History Id — response body

FieldTypePresenceDescription and constraints
$objectRootBalance transactions represent funds moving through your Stripe account.
Stripe creates them for every type of transaction that enters or leaves your Stripe account balance.

Related guide: [Balance transaction types](https://docs.stripe.com/reports/balance-transaction-types)
amountJSONRequired within parent
amount (anyOf 1)integerAlternativeGross amount of this transaction (in cents (or local equivalent)). A positive value represents funds charged to another party, and a negative value represents funds sent to another party.
amount (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
available_onJSONRequired within parent
available_on (anyOf 1)integerAlternativeThe date that the transaction's net funds become available in the Stripe balance.
Format: unix-time
available_on (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
balance_typestringRequired within parentThe balance that this transaction impacts.
Known values: issuing, payments, refund_and_dispute_prefunding, risk_reserved
createdJSONRequired within parent
created (anyOf 1)integerAlternativeTime at which the object was created. Measured in seconds since the Unix epoch.
Format: unix-time
created (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
currencystringRequired within parentThree-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
Format: currency
descriptionJSONOptional
description (anyOf 1)stringAlternativeAn arbitrary string attached to the object. Often useful for displaying to users.
Maximum length: 5000
description (anyOf 2)nullAlternative
exchange_rateJSONOptional
exchange_rate (anyOf 1)JSONAlternative
exchange_rate (anyOf 1) (anyOf 1)numberAlternativeIf applicable, this transaction uses an exchange rate. If money converts from currency A to currency B, then the `amount` in currency A, multiplied by the `exchange_rate`, equals the `amount` in currency B. For example, if you charge a customer 10.00 EUR, the PaymentIntent's `amount` is `1000` and `currency` is `eur`. If this converts to 12.34 USD in your Stripe account, the BalanceTransaction's `amount` is `1234`, its `currency` is `usd`, and the `exchange_rate` is `1.234`.
exchange_rate (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
exchange_rate (anyOf 2)nullAlternative
feeJSONRequired within parent
fee (anyOf 1)integerAlternativeFees (in cents (or local equivalent)) paid for this transaction. Represented as a positive integer when assessed.
fee (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
fee_detailsarrayRequired within parentDetailed breakdown of fees (in cents (or local equivalent)) paid for this transaction.
fee_details[]ModelEach itemExpand Retrieve a balance transaction — balance get Balance History Id — response body — fee details item
idstringRequired within parentUnique identifier for the object.
Maximum length: 5000
netJSONRequired within parent
net (anyOf 1)integerAlternativeNet impact to a Stripe balance (in cents (or local equivalent)). A positive value represents incrementing a Stripe balance, and a negative value decrementing a Stripe balance. You can calculate the net impact of a transaction on a balance by `amount` - `fee`
net (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
objectstringRequired within parentString representing the object's type. Objects of the same type share the same value.
Known values: balance_transaction
reporting_categorystringRequired within parentLearn more about how [reporting categories](https://stripe.com/docs/reports/reporting-categories) can help you understand balance transactions from an accounting perspective.
Maximum length: 5000
sourceJSONOptional
source (anyOf 1)JSONAlternativeThis transaction relates to the Stripe object.
source (anyOf 1) (anyOf 1)stringAlternativeMaximum length: 5000
source (anyOf 1) (anyOf 2)ModelAlternativeExpand Post Application Fees Id Refund — response body
source (anyOf 1) (anyOf 3)ModelAlternativeExpand Create a charge — response body
source (anyOf 1) (anyOf 4)ModelAlternativeExpand Retrieve a balance transaction — balance.getBalanceHistoryId — response body — source / This transaction relates to the Stripe object / object: connect collection transfer
source (anyOf 1) (anyOf 5)ModelAlternativeExpand Fund a test mode cash balance — response body
source (anyOf 1) (anyOf 6)ModelAlternativeExpand Close a dispute — response body
source (anyOf 1) (anyOf 7)ModelAlternativeExpand Create an application fee refund — response body
source (anyOf 1) (anyOf 8)ModelAlternativeExpand Update an authorization — response body
source (anyOf 1) (anyOf 9)ModelAlternativeExpand Create a dispute — response body
source (anyOf 1) (anyOf 10)ModelAlternativeExpand Update a transaction — response body
source (anyOf 1) (anyOf 11)ModelAlternativeExpand Cancel a payout — response body
source (anyOf 1) (anyOf 12)ModelAlternativeExpand Cancel a refund — response body
source (anyOf 1) (anyOf 13)ModelAlternativeExpand Retrieve a balance transaction — balance.getBalanceHistoryId — response body — source / This transaction relates to the Stripe object / object: reserve transaction
source (anyOf 1) (anyOf 14)ModelAlternativeExpand Retrieve a balance transaction — balance.getBalanceHistoryId — response body — source / This transaction relates to the Stripe object / object: tax deducted at source
source (anyOf 1) (anyOf 15)ModelAlternativeExpand Cancel a top-up — response body
source (anyOf 1) (anyOf 16)ModelAlternativeExpand Create a transfer — response body
source (anyOf 1) (anyOf 17)ModelAlternativeExpand Update a reversal — response body
source (anyOf 2)nullAlternative
statusstringRequired within parentThe transaction's net funds status in the Stripe balance, which are either `available` or `pending`.
Maximum length: 5000
typestringRequired within parentTransaction type: `tax_fund`, `adjustment`, `advance`, `advance_funding`, `anticipation_repayment`, `application_fee`, `application_fee_refund`, `charge`, `climate_order_purchase`, `climate_order_refund`, `connect_collection_transfer`, `contribution`, `inbound_transfer`, `inbound_transfer_reversal`, `issuing_authorization_hold`, `issuing_authorization_release`, `issuing_dispute`, `issuing_dispute_provisional_credit`, `issuing_dispute_provisional_credit_reversal`, `issuing_transaction`, `obligation_outbound`, `obligation_reversal_inbound`, `payment`, `payment_failure_refund`, `payment_network_reserve_hold`, `payment_network_reserve_release`, `payment_refund`, `payment_reversal`, `payment_unreconciled`, `payout`, `payout_cancel`, `payout_failure`, `payout_minimum_balance_hold`, `payout_minimum_balance_release`, `refund`, `refund_failure`, `reserve_transaction`, `reserved_funds`, `reserve_hold`, `reserve_release`, `stripe_fee`, `stripe_fx_fee`, `stripe_balance_payment_debit`, `stripe_balance_payment_debit_reversal`, `tax_fee`, `topup`, `topup_reversal`, `transfer`, `transfer_cancel`, `transfer_failure`, `transfer_refund`, or `fee_credit_funding`. Learn more about [balance transaction types and what they represent](https://stripe.com/docs/reports/balance-transaction-types). To classify transactions for accounting purposes, consider `reporting_category` instead.
Known values: adjustment, advance, advance_funding, anticipation_repayment, application_fee, application_fee_refund, charge, climate_order_purchase, climate_order_refund, connect_collection_transfer, contribution, fee_credit_funding, inbound_transfer, inbound_transfer_reversal, issuing_authorization_hold, issuing_authorization_release, issuing_dispute, issuing_dispute_provisional_credit, issuing_dispute_provisional_credit_reversal, issuing_transaction, obligation_outbound, obligation_reversal_inbound, payment, payment_failure_refund, payment_network_reserve_hold, payment_network_reserve_release, payment_refund, payment_reversal, payment_unreconciled, payout, payout_cancel, payout_failure, payout_minimum_balance_hold, payout_minimum_balance_release, refund, refund_failure, reserve_hold, reserve_release, reserve_transaction, reserved_funds, stripe_balance_payment_debit, stripe_balance_payment_debit_reversal, stripe_fee, stripe_fx_fee, tax_fee, tax_fund, topup, topup_reversal, transfer, transfer_cancel, transfer_failure, transfer_refund

Referenced models: Post Application Fees Id Refund — response body, Create a charge — response body, Retrieve a balance transaction — balance.getBalanceHistoryId — response body — source / This transaction relates to the Stripe object / object: connect collection transfer, Fund a test mode cash balance — response body, Close a dispute — response body, Retrieve a balance transaction — balance get Balance History Id — response body — fee details item, Create an application fee refund — response body, Update an authorization — response body, Create a dispute — response body, Update a transaction — response body, Cancel a payout — response body, Cancel a refund — response body, Retrieve a balance transaction — balance.getBalanceHistoryId — response body — source / This transaction relates to the Stripe object / object: reserve transaction, Retrieve a balance transaction — balance.getBalanceHistoryId — response body — source / This transaction relates to the Stripe object / object: tax deducted at source, Cancel a top-up — response body, Create a transfer — response body, Update a reversal — response body

Retrieve a balance transaction — balance get Balance History Id — response body — fee details item

FieldTypePresenceDescription and constraints
$objectRoot
amountJSONRequired within parent
amount (anyOf 1)integerAlternativeAmount of the fee, in cents.
amount (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
applicationJSONOptional
application (anyOf 1)stringAlternativeID of the Connect application that earned the fee.
Maximum length: 5000
application (anyOf 2)nullAlternative
currencystringRequired within parentThree-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
Format: currency
descriptionJSONOptional
description (anyOf 1)stringAlternativeAn arbitrary string attached to the object. Often useful for displaying to users.
Maximum length: 5000
description (anyOf 2)nullAlternative
typestringRequired within parentType of the fee, one of: `application_fee`, `payment_method_passthrough_fee`, `stripe_fee`, `tax`, or `withheld_tax`.
Maximum length: 5000

Retrieve a balance transaction — balance.getBalanceHistoryId — response body — source / This transaction relates to the Stripe object / object: connect collection transfer

FieldTypePresenceDescription and constraints
$objectRoot
amountJSONRequired within parent
amount (anyOf 1)integerAlternativeAmount transferred, in cents (or local equivalent).
amount (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
currencystringRequired within parentThree-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
Format: currency
destinationJSONRequired within parentID of the account that funds are being collected for.
destination (anyOf 1)stringAlternativeMaximum length: 5000
destination (anyOf 2)ModelAlternativeExpand Create an account — response body
idstringRequired within parentUnique identifier for the object.
Maximum length: 5000
livemodebooleanRequired within parentIf the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`.
objectstringRequired within parentString representing the object's type. Objects of the same type share the same value.
Known values: connect_collection_transfer

Referenced models: Create an account — response body

Retrieve a balance transaction — balance.getBalanceHistoryId — response body — source / This transaction relates to the Stripe object / object: reserve transaction

FieldTypePresenceDescription and constraints
$objectRoot
amountJSONRequired within parent
amount (anyOf 1)integerAlternative
amount (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
currencystringRequired within parentThree-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
Format: currency
descriptionJSONOptional
description (anyOf 1)stringAlternativeAn arbitrary string attached to the object. Often useful for displaying to users.
Maximum length: 5000
description (anyOf 2)nullAlternative
idstringRequired within parentUnique identifier for the object.
Maximum length: 5000
objectstringRequired within parentString representing the object's type. Objects of the same type share the same value.
Known values: reserve_transaction

Retrieve a balance transaction — balance.getBalanceHistoryId — response body — source / This transaction relates to the Stripe object / object: tax deducted at source

FieldTypePresenceDescription and constraints
$objectRoot
idstringRequired within parentUnique identifier for the object.
Maximum length: 5000
objectstringRequired within parentString representing the object's type. Objects of the same type share the same value.
Known values: tax_deducted_at_source
period_endJSONRequired within parent
period_end (anyOf 1)integerAlternativeThe end of the invoicing period. This TDS applies to Stripe fees collected during this invoicing period.
Format: unix-time
period_end (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
period_startJSONRequired within parent
period_start (anyOf 1)integerAlternativeThe start of the invoicing period. This TDS applies to Stripe fees collected during this invoicing period.
Format: unix-time
period_start (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
tax_deduction_account_numberstringRequired within parentThe TAN that was supplied to Stripe when TDS was assessed
Maximum length: 5000

Retrieve balance — response body

FieldTypePresenceDescription and constraints
$objectRootThis is an object representing your Stripe balance. You can retrieve it to see
the balance currently on your Stripe account.

The top-level `available` and `pending` comprise your "payments balance."

Related guide: [Balances and settlement time](https://docs.stripe.com/payments/balances), [Understanding Connect account balances](https://docs.stripe.com/connect/account-balances)
availablearrayRequired within parentAvailable funds that you can transfer or pay out automatically by Stripe or explicitly through the [Transfers API](https://docs.stripe.com/api#transfers) or [Payouts API](https://docs.stripe.com/api#payouts). You can find the available balance for each currency and payment type in the `source_types` property.
available[]ModelEach itemExpand Retrieve balance — response body — pending item
connect_reservedarrayOptionalFunds held due to negative balances on connected accounts where [account.controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts. You can find the connect reserve balance for each currency and payment type in the `source_types` property.
connect_reserved[]ModelEach itemExpand Retrieve balance — response body — pending item
instant_availablearrayOptionalFunds that you can pay out using Instant Payouts.
instant_available[]ModelEach itemExpand Retrieve balance — response body — instant available item
issuingModelOptionalExpand Retrieve balance — response body — issuing
livemodebooleanRequired within parentIf the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`.
objectstringRequired within parentString representing the object's type. Objects of the same type share the same value.
Known values: balance
pendingarrayRequired within parentFunds that aren't available in the balance yet. You can find the pending balance for each currency and each payment type in the `source_types` property.
pending[]ModelEach itemExpand Retrieve balance — response body — pending item
refund_and_dispute_prefundingModelOptionalExpand Retrieve balance — response body — refund and dispute prefunding

Referenced models: Retrieve balance — response body — pending item, Retrieve balance — response body — instant available item, Retrieve balance — response body — issuing, Retrieve balance — response body — refund and dispute prefunding

Retrieve balance — response body — instant available item

FieldTypePresenceDescription and constraints
$objectRoot
amountJSONRequired within parent
amount (anyOf 1)integerAlternativeBalance amount.
amount (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
currencystringRequired within parentThree-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
Format: currency
net_availablearrayOptionalBreakdown of balance by destination.
net_available[]ModelEach itemExpand Retrieve balance — response body — instant available item net available item
source_typesModelOptionalExpand Retrieve balance — response body — pending item source types

Referenced models: Retrieve balance — response body — pending item source types, Retrieve balance — response body — instant available item net available item

Retrieve balance — response body — instant available item net available item

FieldTypePresenceDescription and constraints
$objectRoot
amountJSONRequired within parent
amount (anyOf 1)integerAlternativeNet balance amount, subtracting fees from platform-set pricing.
amount (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
destinationstringRequired within parentID of the external account for this net balance (not expandable).
Maximum length: 5000
source_typesModelOptionalExpand Retrieve balance — response body — pending item source types

Referenced models: Retrieve balance — response body — pending item source types

Retrieve balance — response body — issuing

FieldTypePresenceDescription and constraints
$objectRoot
availablearrayRequired within parentFunds that are available for use.
available[]ModelEach itemExpand Retrieve balance — response body — pending item

Referenced models: Retrieve balance — response body — pending item

Retrieve balance — response body — pending item

FieldTypePresenceDescription and constraints
$objectRoot
amountJSONRequired within parent
amount (anyOf 1)integerAlternativeBalance amount.
amount (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
currencystringRequired within parentThree-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
Format: currency
source_typesModelOptionalExpand Retrieve balance — response body — pending item source types

Referenced models: Retrieve balance — response body — pending item source types

Retrieve balance — response body — pending item source types

FieldTypePresenceDescription and constraints
$objectRoot
bank_accountJSONOptional
bank_account (anyOf 1)integerAlternativeAmount coming from [legacy US ACH payments](https://docs.stripe.com/ach-deprecated).
bank_account (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
cardJSONOptional
card (anyOf 1)integerAlternativeAmount coming from most payment methods, including cards as well as [non-legacy bank debits](https://docs.stripe.com/payments/bank-debits).
card (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
fpxJSONOptional
fpx (anyOf 1)integerAlternativeAmount coming from [FPX](https://docs.stripe.com/payments/fpx), a Malaysian payment method.
fpx (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$

Retrieve balance — response body — refund and dispute prefunding

FieldTypePresenceDescription and constraints
$objectRoot
availablearrayRequired within parentFunds that are available for use.
available[]ModelEach itemExpand Retrieve balance — response body — pending item
pendingarrayRequired within parentFunds that are pending
pending[]ModelEach itemExpand Retrieve balance — response body — pending item

Referenced models: Retrieve balance — response body — pending item

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.