/v1/accountsCreate an account
With Connect, you can create Stripe accounts for your users. To do this, you’ll first need to register your platform.
If you’ve already collected information for your connected accounts, you can prefill that information when creating the account. Connect Onboarding won’t ask for the prefilled information during account onboarding. You can prefill any information on the account.
- IdempotentThe SDK sends
Idempotency-Key, so a retried request is only applied once.
An account token, used to securely provide details to the account.
Either a token, like the ones returned by Stripe.js, or a dictionary containing a user's bank account details.
Business information about the account.
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.
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.
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.
A hash of configuration describing the account controller's attributes.
The country in which the account holder resides, or in which the business is legally established. This should be an ISO 3166-1 alpha-2 country code. For example, if you are in the United States and the business for which you're creating an account is legally represented in Canada, you would use CA as the country for the account being created. Available countries include Stripe's global markets as well as countries where cross-border payouts are supported.
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.
Documents that may be submitted to satisfy various informational requests.
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.
Specifies which fields in the response should be expanded.
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.
A hash of account group type to tokens. These are account groups this account should be added to.
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.
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.
Options for customizing how the account functions within Stripe.
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.
The type parameter is deprecated. Use controller instead to configure dashboard access, fee payer, loss liability, and requirement collection.
Business information about the account.
The business type.
Whether the account can process charges.
The account's country.
Time at which the account was connected. Measured in seconds since the Unix epoch.
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.
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.
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 accounts (bank accounts and debit cards) currently attached to this account. External accounts are only returned for requests where controller[is_controller] is true.
The groups associated with the account.
Unique identifier for the object.
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.
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.
String representing the object's type. Objects of the same type share the same value.
Whether the funds in this account can be paid out.
Options for customizing how the account functions within Stripe.
The Stripe account type. Can be standard, express, custom, or none.
Any other status is an error: Error response.