Skip to content

Stripe: Financial connections schemas

13 Stripe schemas with complete fields and constraints.

← Financial connections operations · All schemas

Retrieve a Transaction — financial Connections get Financial Connections Transactions Transaction — response body

FieldTypePresenceDescription and constraints
$objectRootA Transaction represents a real transaction that affects a Financial Connections Account balance.
accountstringRequired within parentThe ID of the Financial Connections Account this transaction belongs to.
Maximum length: 5000
amountJSONRequired within parent
amount (anyOf 1)integerAlternativeThe amount of this transaction, 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).
Maximum length: 5000
descriptionstringRequired within parentThe description of this transaction.
Maximum length: 5000
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: financial_connections.transaction
statusstringRequired within parentThe status of the transaction.
Known values: pending, posted, void
status_transitionsModelRequired within parentExpand Retrieve a Transaction — financial Connections get Financial Connections Transactions Transaction — response body — status transitions
transacted_atJSONRequired within parent
transacted_at (anyOf 1)integerAlternativeTime at which the transaction was transacted. Measured in seconds since the Unix epoch.
Format: unix-time
transacted_at (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
transaction_refreshstringRequired within parentThe token of the transaction refresh that last updated or created this transaction.
Maximum length: 5000
updatedJSONRequired within parent
updated (anyOf 1)integerAlternativeTime at which the object was last updated. Measured in seconds since the Unix epoch.
Format: unix-time
updated (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$

Referenced models: Retrieve a Transaction — financial Connections get Financial Connections Transactions Transaction — response body — status transitions

Retrieve a Transaction — financial Connections get Financial Connections Transactions Transaction — response body — status transitions

FieldTypePresenceDescription and constraints
$objectRoot
posted_atJSONOptional
posted_at (anyOf 1)JSONAlternative
posted_at (anyOf 1) (anyOf 1)integerAlternativeTime at which this transaction posted. Measured in seconds since the Unix epoch.
Format: unix-time
posted_at (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
posted_at (anyOf 2)nullAlternative
void_atJSONOptional
void_at (anyOf 1)JSONAlternative
void_at (anyOf 1) (anyOf 1)integerAlternativeTime at which this transaction was voided. Measured in seconds since the Unix epoch.
Format: unix-time
void_at (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
void_at (anyOf 2)nullAlternative

Subscribe to data refreshes for an Account — response body

FieldTypePresenceDescription and constraints
$objectRootA Financial Connections Account represents an account that exists outside of Stripe, to which you have been granted some degree of access.
account_holderJSONOptional
account_holder (anyOf 1)JSONAlternativeThe account holder that this account belongs to.
account_holder (anyOf 1) (anyOf 1)ModelAlternativeExpand Create a Session — linkAccountSessions.postLinkAccountSessions — response body — account_holder / value / type: account, customer
account_holder (anyOf 2)nullAlternative
account_numbersJSONOptional
account_numbers (anyOf 1)arrayAlternativeDetails about the account numbers.
account_numbers (anyOf 1)[]ModelEach itemExpand Subscribe to data refreshes for an Account — response body — account numbers Details about the account numbers item
account_numbers (anyOf 2)nullAlternative
balanceJSONOptional
balance (anyOf 1)JSONAlternativeThe most recent information about the account's balance.
balance (anyOf 1) (anyOf 1)ModelAlternativeExpand Subscribe to data refreshes for an Account — response body — balance / value / type: cash, credit
balance (anyOf 2)nullAlternative
balance_refreshJSONOptional
balance_refresh (anyOf 1)JSONAlternativeThe state of the most recent attempt to refresh the account balance.
balance_refresh (anyOf 1) (anyOf 1)ModelAlternativeExpand Subscribe to data refreshes for an Account — response body — balance_refresh / value / status: failed, pending, succeeded
balance_refresh (anyOf 2)nullAlternative
categorystringRequired within parentThe type of the account. Account category is further divided in `subcategory`.
Known values: cash, credit, investment, other
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]+)?$
display_nameJSONOptional
display_name (anyOf 1)stringAlternativeA human-readable name that has been assigned to this account, either by the account holder or by the institution.
Maximum length: 5000
display_name (anyOf 2)nullAlternative
idstringRequired within parentUnique identifier for the object.
Maximum length: 5000
institution_namestringRequired within parentThe name of the institution that holds this account.
Maximum length: 5000
last4JSONOptional
last4 (anyOf 1)stringAlternativeThe last 4 digits of the account number. If present, this will be 4 numeric characters.
Maximum length: 5000
last4 (anyOf 2)nullAlternative
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: financial_connections.account
ownershipJSONOptional
ownership (anyOf 1)JSONAlternativeThe most recent information about the account's owners.
ownership (anyOf 1) (anyOf 1)stringAlternativeMaximum length: 5000
ownership (anyOf 1) (anyOf 2)ModelAlternativeExpand Subscribe to data refreshes for an Account — response body — ownership / value / object: financial connections account ownership
ownership (anyOf 2)nullAlternative
ownership_refreshJSONOptional
ownership_refresh (anyOf 1)JSONAlternativeThe state of the most recent attempt to refresh the account owners.
ownership_refresh (anyOf 1) (anyOf 1)ModelAlternativeExpand Subscribe to data refreshes for an Account — response body — ownership_refresh / value / status: failed, pending, succeeded
ownership_refresh (anyOf 2)nullAlternative
permissionsJSONOptional
permissions (anyOf 1)arrayAlternativeThe list of permissions granted by this account.
permissions (anyOf 1)[]stringEach itemKnown values: balances, ownership, payment_method, transactions
permissions (anyOf 2)nullAlternative
statusstringRequired within parentThe status of the link to the account.
Known values: active, disconnected, inactive
status_detailsModelOptionalExpand Subscribe to data refreshes for an Account — response body — status details
subcategorystringRequired within parentIf `category` is `cash`, one of:

- `checking`
- `savings`
- `other`

If `category` is `credit`, one of:

- `mortgage`
- `line_of_credit`
- `credit_card`
- `other`

If `category` is `investment` or `other`, this will be `other`.
Known values: checking, credit_card, line_of_credit, mortgage, other, savings
subscriptionsJSONOptional
subscriptions (anyOf 1)arrayAlternativeThe list of data refresh subscriptions requested on this account.
subscriptions (anyOf 1)[]stringEach itemKnown values: transactions
subscriptions (anyOf 2)nullAlternative
supported_payment_method_typesarrayRequired within parentThe [PaymentMethod type](https://docs.stripe.com/api/payment_methods/object#payment_method_object-type)(s) that can be created from this account.
supported_payment_method_types[]stringEach itemKnown values: link, us_bank_account
transaction_refreshJSONOptional
transaction_refresh (anyOf 1)JSONAlternativeThe state of the most recent attempt to refresh the account transactions.
transaction_refresh (anyOf 1) (anyOf 1)ModelAlternativeExpand Subscribe to data refreshes for an Account — response body — transaction_refresh / value / status: failed, pending, succeeded
transaction_refresh (anyOf 2)nullAlternative

Referenced models: Subscribe to data refreshes for an Account — response body — account numbers Details about the account numbers item, Subscribe to data refreshes for an Account — response body — status details, Create a Session — linkAccountSessions.postLinkAccountSessions — response body — account_holder / value / type: account, customer, Subscribe to data refreshes for an Account — response body — balance / value / type: cash, credit, Subscribe to data refreshes for an Account — response body — balance_refresh / value / status: failed, pending, succeeded, Subscribe to data refreshes for an Account — response body — ownership_refresh / value / status: failed, pending, succeeded, Subscribe to data refreshes for an Account — response body — transaction_refresh / value / status: failed, pending, succeeded, Subscribe to data refreshes for an Account — response body — ownership / value / object: financial connections account ownership

Subscribe to data refreshes for an Account — response body — account numbers Details about the account numbers item

FieldTypePresenceDescription and constraints
$objectRoot
expected_expiry_dateJSONOptional
expected_expiry_date (anyOf 1)JSONAlternative
expected_expiry_date (anyOf 1) (anyOf 1)integerAlternativeWhen the account number is expected to expire, if applicable.
Format: unix-time
expected_expiry_date (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
expected_expiry_date (anyOf 2)nullAlternative
identifier_typestringRequired within parentThe type of account number associated with the account.
Known values: account_number, tokenized_account_number
statusstringRequired within parentWhether the account number is currently active and usable for transactions.
Known values: deactivated, expired, pending, transactable
supported_networksarrayRequired within parentThe payment networks that the account number can be used for.
supported_networks[]stringEach itemKnown values: ach

Subscribe to data refreshes for an Account — response body — balance / value / type: cash, credit

FieldTypePresenceDescription and constraints
$objectRoot
as_ofJSONRequired within parent
as_of (anyOf 1)integerAlternativeThe time that the external institution calculated this balance. Measured in seconds since the Unix epoch.
Format: unix-time
as_of (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
cashModelOptionalExpand Subscribe to data refreshes for an Account — response body — balance / value / type: cash, credit cash
creditModelOptionalExpand Subscribe to data refreshes for an Account — response body — balance / value / type: cash, credit credit
currentobjectRequired within parentThe balances owed to (or by) the account holder, before subtracting any outbound pending transactions or adding any inbound pending transactions.

Each key is a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase.

Each value is a integer amount. A positive amount indicates money owed to the account holder. A negative amount indicates money owed by the account holder.
Additional keys: see wildcard field
current.*JSONAdditional keys
current.* (anyOf 1)integerAlternative
current.* (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
typestringRequired within parentThe `type` of the balance. An additional hash is included on the balance with a name matching this value.
Known values: cash, credit

Referenced models: Subscribe to data refreshes for an Account — response body — balance / value / type: cash, credit cash, Subscribe to data refreshes for an Account — response body — balance / value / type: cash, credit credit

Subscribe to data refreshes for an Account — response body — balance / value / type: cash, credit cash

FieldTypePresenceDescription and constraints
$objectRoot
availableJSONOptional
available (anyOf 1)objectAlternativeThe funds available to the account holder. Typically this is the current balance after subtracting any outbound pending transactions and adding any inbound pending transactions.

Each key is a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase.

Each value is a integer amount. A positive amount indicates money owed to the account holder. A negative amount indicates money owed by the account holder.
Additional keys: see wildcard field
available (anyOf 1).*JSONAdditional keys
available (anyOf 1).* (anyOf 1)integerAlternative
available (anyOf 1).* (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
available (anyOf 2)nullAlternative

Subscribe to data refreshes for an Account — response body — balance / value / type: cash, credit credit

FieldTypePresenceDescription and constraints
$objectRoot
usedJSONOptional
used (anyOf 1)objectAlternativeThe credit that has been used by the account holder.

Each key is a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase.

Each value is a integer amount. A positive amount indicates money owed to the account holder. A negative amount indicates money owed by the account holder.
Additional keys: see wildcard field
used (anyOf 1).*JSONAdditional keys
used (anyOf 1).* (anyOf 1)integerAlternative
used (anyOf 1).* (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
used (anyOf 2)nullAlternative

Subscribe to data refreshes for an Account — response body — balance_refresh / value / status: failed, pending, succeeded

FieldTypePresenceDescription and constraints
$objectRoot
last_attempted_atJSONRequired within parent
last_attempted_at (anyOf 1)integerAlternativeThe time at which the last refresh attempt was initiated. Measured in seconds since the Unix epoch.
Format: unix-time
last_attempted_at (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
next_refresh_available_atJSONOptional
next_refresh_available_at (anyOf 1)JSONAlternative
next_refresh_available_at (anyOf 1) (anyOf 1)integerAlternativeTime at which the next balance refresh can be initiated. This value will be `null` when `status` is `pending`. Measured in seconds since the Unix epoch.
Format: unix-time
next_refresh_available_at (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
next_refresh_available_at (anyOf 2)nullAlternative
statusstringRequired within parentThe status of the last refresh attempt.
Known values: failed, pending, succeeded

Subscribe to data refreshes for an Account — response body — ownership / value / object: financial connections account ownership

FieldTypePresenceDescription and constraints
$objectRootDescribes a snapshot of the owners of an account at a particular point in time.
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]+)?$
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: financial_connections.account_ownership
ownersobjectRequired within parentA paginated list of owners for this account.
owners.dataarrayRequired within parentDetails about each object.
owners.data[]ModelEach itemExpand List Account Owners — linked Accounts get Linked Accounts Account Owners — response body — data item
owners.has_morebooleanRequired within parentTrue if this list has another page of items after this one that can be fetched.
owners.objectstringRequired within parentString representing the object's type. Objects of the same type share the same value. Always has the value `list`.
Known values: list
owners.urlstringRequired within parentThe URL where this list can be accessed.
Maximum length: 5000

Referenced models: List Account Owners — linked Accounts get Linked Accounts Account Owners — response body — data item

Subscribe to data refreshes for an Account — response body — ownership_refresh / value / status: failed, pending, succeeded

FieldTypePresenceDescription and constraints
$objectRoot
last_attempted_atJSONRequired within parent
last_attempted_at (anyOf 1)integerAlternativeThe time at which the last refresh attempt was initiated. Measured in seconds since the Unix epoch.
Format: unix-time
last_attempted_at (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
next_refresh_available_atJSONOptional
next_refresh_available_at (anyOf 1)JSONAlternative
next_refresh_available_at (anyOf 1) (anyOf 1)integerAlternativeTime at which the next ownership refresh can be initiated. This value will be `null` when `status` is `pending`. Measured in seconds since the Unix epoch.
Format: unix-time
next_refresh_available_at (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
next_refresh_available_at (anyOf 2)nullAlternative
statusstringRequired within parentThe status of the last refresh attempt.
Known values: failed, pending, succeeded

Subscribe to data refreshes for an Account — response body — status details

FieldTypePresenceDescription and constraints
$objectRoot
activeModelOptionalExpand Subscribe to data refreshes for an Account — response body — status details active

Referenced models: Subscribe to data refreshes for an Account — response body — status details active

Subscribe to data refreshes for an Account — response body — status details active

FieldTypePresenceDescription and constraints
$objectRoot
actionstringRequired within parentThe action (if any) to proactively relink the Account.
Known values: none, relink_required
causestringRequired within parentThe underlying cause of the Account becoming inactive.
Known values: access_expired, institution_requirement, unspecified
expected_deactivation_dateJSONRequired within parent
expected_deactivation_date (anyOf 1)integerAlternativeWhen the Account is expected to become inactive, if applicable.
Format: unix-time
expected_deactivation_date (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$

Subscribe to data refreshes for an Account — response body — transaction_refresh / value / status: failed, pending, succeeded

FieldTypePresenceDescription and constraints
$objectRoot
idstringRequired within parentUnique identifier for the object.
Maximum length: 5000
last_attempted_atJSONRequired within parent
last_attempted_at (anyOf 1)integerAlternativeThe time at which the last refresh attempt was initiated. Measured in seconds since the Unix epoch.
Format: unix-time
last_attempted_at (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
next_refresh_available_atJSONOptional
next_refresh_available_at (anyOf 1)JSONAlternative
next_refresh_available_at (anyOf 1) (anyOf 1)integerAlternativeTime at which the next transaction refresh can be initiated. This value will be `null` when `status` is `pending`. Measured in seconds since the Unix epoch.
Format: unix-time
next_refresh_available_at (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
next_refresh_available_at (anyOf 2)nullAlternative
statusstringRequired within parentThe status of the last refresh attempt.
Known values: failed, pending, succeeded

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.