POST/v1/accounts/{account}

Update an account

Updates a connected account by setting the values of the parameters passed. Any parameters not provided are left unchanged. For accounts where controller.requirement_collection is application, you can update any information. For Standard and Express accounts, some properties can no longer be updated after an Account Link or Account Session is created.

  • IdempotentThe SDK sends Idempotency-Key, so a retried request is only applied once.

1 parameter · 15 body fields
accountstringrequired

The unique identifier of the account to update.

Account update parameters. All fields are optional — supply only the fields you want to change.

account_tokenstringoptional

An account token, used to securely provide details to the account.

business_profileobjectoptional

Business information about the account.

business_typestringoptional

The business type. Once you create an Account Link or Account Session, this property can only be updated for accounts where controller.requirement_collection is application, which includes Custom accounts.

Allowed:companygovernment_entityindividualnon_profit
capabilitiesobjectoptional

Each key of the dictionary represents a capability, and each capability maps to its settings (for example, whether it has been requested or not). Each capability is inactive until you have provided its specific requirements and Stripe has verified them. An account might have some of its requested capabilities be active and some be inactive.

Required when account.controller.stripe_dashboard.type is none, which includes Custom accounts.

companyobjectoptional

Information about the company or business. This field is available for any business_type. Once you create an Account Link or Account Session, this property can only be updated for accounts where controller.requirement_collection is application, which includes Custom accounts.

default_currencystringoptional

Three-letter ISO currency code representing the default currency for the account. This must be a currency that Stripe supports in the account's country.

documentsobjectoptional

Documents that may be submitted to satisfy various informational requests.

emailstringoptional

The email address of the account holder. This is only to make the account easier to identify to you. If controller.requirement_collection is application, which includes Custom accounts, Stripe doesn't email the account without your consent.

expandarray<string>optional

Specifies which fields in the response should be expanded.

external_accountstringoptional

A card or bank account to attach to the account for receiving payouts (you won’t be able to use it for top-ups). You can provide either a token, like the ones returned by Stripe.js, or a dictionary, as documented in the external_account parameter for bank account creation. <br><br>By default, providing an external account sets it as the new default external account for its currency, and deletes the old default if one exists. To add additional external accounts without replacing the existing default for the currency, use the bank account or card creation APIs. After you create an Account Link or Account Session, this property can only be updated for accounts where controller.requirement_collection is application, which includes Custom accounts.

groupsobjectoptional

A hash of account group type to tokens. These are account groups this account should be added to.

individualobjectoptional

Information about the person represented by the account. This field is null unless business_type is set to individual. Once you create an Account Link or Account Session, this property can only be updated for accounts where controller.requirement_collection is application, which includes Custom accounts.

metadataobjectoptional

Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

settingsobjectoptional

Options for customizing how the account functions within Stripe.

tos_acceptanceobjectoptional

Details on the account's acceptance of the Stripe Services Agreement. This property can only be updated for accounts where controller.requirement_collection is application, which includes Custom accounts. This property defaults to a full service agreement when empty.

2 status codes
200Returns the updated account object with all current properties reflecting the changes made.
business_profileobjectoptional

Business information about the account.

business_typestringoptional

The business type.

Allowed:companygovernment_entityindividualnon_profit
capabilitiesobjectoptional
charges_enabledbooleanoptional

Whether the account can process charges.

companyobjectoptional
controllerobjectoptional
countrystringoptional

The account's country.

createdintegeroptional

Time at which the account was connected. Measured in seconds since the Unix epoch.

default_currencystringoptional

Three-letter ISO currency code representing the default currency for the account. This must be a currency that Stripe supports in the account's country.

details_submittedbooleanoptional

Whether account details have been submitted. Accounts with Stripe Dashboard access, which includes Standard accounts, cannot receive payouts before this is true. Accounts where this is false should be directed to an onboarding flow to finish submitting account details.

emailstringoptional

An email address associated with the account. It's not used for authentication and Stripe doesn't market to this field without explicit approval from the platform.

external_accountsobjectoptional

External accounts (bank accounts and debit cards) currently attached to this account. External accounts are only returned for requests where controller[is_controller] is true.

future_requirementsobjectoptional
groupsobjectoptional

The groups associated with the account.

idstringrequired

Unique identifier for the object.

individualobjectoptional

This is an object representing a person associated with a Stripe account.

A platform can only access a subset of data in a person for an account where account.controller.requirement_collection is stripe, which includes Standard and Express accounts, after creating an Account Link or Account Session to start Connect onboarding.

See the Standard onboarding or Express onboarding documentation for information about prefilling information and account onboarding steps. Learn more about handling identity verification with the API.

metadataobjectoptional

Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.

objectstringrequired

String representing the object's type. Objects of the same type share the same value.

Allowed:account
payouts_enabledbooleanoptional

Whether the funds in this account can be paid out.

requirementsobjectoptional
settingsobjectoptional

Options for customizing how the account functions within Stripe.

tos_acceptanceobjectoptional
typestringoptional

The Stripe account type. Can be standard, express, custom, or none.

Allowed:customexpressnonestandard
defaultError response.
errorobjectrequired

Error handling

account must identify an existing connected account. business_type must be one of: company, government_entity, individual, or non_profit. default_currency must be a three-letter ISO currency code supported in the account's country.