Skip to content

Stripe: Disconnect an Account — financial Connections post Financial Connections Accounts Account Disconnect

Stripe financialConnections.postFinancialConnectionsAccountsAccountDisconnect: arguments, response, policy and SDK examples.

← Financial connections operations · Get started

Operation stripe.postfinancialconnectionsaccountsaccountdisconnect

Provider route: POST /v1/financial_connections/accounts/{account}/disconnect. Alter supplies the connection’s credentials and routing.

Install @alter-ai/sdk @alter-ai/stripe with npm, or alter-sdk-stripe with pip. Supply your connected customer’s grant ID and the arguments described below.

import { App } from "@alter-ai/sdk";
import { StripeIntegration } from "@alter-ai/stripe";
async function execute(input: Parameters<StripeIntegration["financialConnections"]["postFinancialConnectionsAccountsAccountDisconnect"]>[0]) {
const app = new App({ apiKey: process.env.ALTER_API_KEY! });
try {
const provider = new StripeIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! });
const call = await provider.financialConnections.postFinancialConnectionsAccountsAccountDisconnect(input);
const result = await call.wait();
return result.bodyJson();
} finally {
await app.close();
}
}
import os
from alter_sdk import App
from alter_sdk_stripe import StripeIntegration
async def execute(arguments):
async with App(api_key=os.environ["ALTER_API_KEY"]) as app:
provider = StripeIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]})
call = await provider.financial_connections.post_financial_connections_accounts_account_disconnect(arguments)
result = await call.wait()
return result.body_json()
FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
pathobjectRequired within parentAdditional keys: not allowed
path.accountstringRequired within parentMaximum length: 5000
headersobjectOptionalAdditional keys: not allowed
headers.Idempotency-KeystringOptionalMinimum length: 1
Maximum length: 255
bodyobjectOptionalAdditional keys: not allowed
body.expandarrayOptionalSpecifies which fields in the response should be expanded.
body.expand[]stringEach itemMaximum length: 5000

Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.

FieldTypePresenceDescription and constraints
$ModelRootExpand Subscribe to data refreshes for an Account — response body

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

718 more schemas are linked from the tables above, on the schema pages.

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 — 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

Create an account — response body — groups The groups associated with the account payments pricing
FieldTypePresenceDescription and constraints
$objectRoot
payments_pricingJSONOptional
payments_pricing (anyOf 1)stringAlternativeThe group the account is in to determine their payments pricing, and null if the account is on customized pricing. [See the Platform pricing tool documentation](https://docs.stripe.com/connect/platform-pricing-tools) for details.
Maximum length: 5000
payments_pricing (anyOf 2)nullAlternative

SDK function policy ID: stripe.postfinancialconnectionsaccountsaccountdisconnect. Catalog operation: PostFinancialConnectionsAccountsAccountDisconnect. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.

Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.

Pinned headers: {"Stripe-Version": "2026-09-30.endive"}

Official provider source

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.