The Account object

Attributes

  • idstring

    Unique identifier for the object.

  • business_typenullable enum

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

    Possible enum values
    company
    government_entity

    US only

    individual
    non_profit
  • capabilitiesnullable object

    A hash containing the set of capabilities that was requested for this account and their associated states. Keys are names of capabilities. You can see the full list here. Values may be active, inactive, or pending.

  • companynullable object

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

  • countrystring

    The account’s country.

  • emailnullable string

    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.

  • individualnullable object

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

  • metadatanullable object

    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.

  • requirementsnullable object

    Information about the requirements for the account, including what information needs to be collected, and by when. You can resolve most requirements programatically. For some, you must complete a form or challenge through a Stripe interface. Learn more about handling requirements.

  • tos_acceptanceobject

    Details on the acceptance of the Stripe Services Agreement by the account representative.

  • typeenum

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

    Possible enum values
    custom
    express
    none

    Indicates that the account was created with controller attributes that don’t map to a type of standard, express, or custom.

    standard

More attributes

  • objectstring

  • business_profilenullable object

  • charges_enabledboolean

  • controllernullable object

  • createdtimestamp

  • default_currencystring

  • details_submittedboolean

  • external_accountsobject

  • future_requirementsnullable object

  • payouts_enabledboolean

  • settingsnullable object

The Account object
{
"id": "acct_1Nv0FGQ9RKHgCVdK",
"object": "account",
"business_profile": {
"mcc": null,
"name": null,
"product_description": null,
"support_address": null,
"support_email": null,
"support_phone": null,
"support_url": null,
"url": null
},
"business_type": null,
"capabilities": {
"card_payments": "inactive",
"transfers": "inactive"
},
"charges_enabled": false,
"controller": {
"type": "application",
"is_controller": true,
"fees": {
"payer": "application_custom"
},
"losses": {
"payments": "application"
},
"requirement_collection": "application",
"stripe_dashboard": {
"type": "none"
}
},
"country": "US",
"created": 1695830751,
"default_currency": "usd",
"details_submitted": false,
"email": "jenny.rosen@example.com",
"external_accounts": {
"object": "list",
"data": [],
"has_more": false,
"total_count": 0,
"url": "/v1/accounts/acct_1Nv0FGQ9RKHgCVdK/external_accounts"
},
"future_requirements": {
"alternatives": [],
"current_deadline": null,
"currently_due": [],
"disabled_reason": null,
"errors": [],
"eventually_due": [],
"past_due": [],
"pending_verification": []
},
"metadata": {},
"payouts_enabled": false,
"requirements": {
"alternatives": [],
"current_deadline": null,
"currently_due": [
"business_profile.mcc",
"business_profile.url",
"business_type",
"external_account",
"representative.first_name",
"representative.last_name",
"tos_acceptance.date",
"tos_acceptance.ip"
],
"disabled_reason": "requirements.past_due",
"errors": [],
"eventually_due": [
"business_profile.mcc",
"business_profile.url",
"business_type",
"external_account",
"representative.first_name",
"representative.last_name",
"tos_acceptance.date",
"tos_acceptance.ip"
],
"past_due": [
"business_profile.mcc",
"business_profile.url",
"business_type",
"external_account",
"representative.first_name",
"representative.last_name",
"tos_acceptance.date",
"tos_acceptance.ip"
],
"pending_verification": []
},
"settings": {
"bacs_debit_payments": {},
"branding": {
"icon": null,
"logo": null,
"primary_color": null,
"secondary_color": null
},
"card_issuing": {
"tos_acceptance": {
"date": null,
"ip": null
}
},
"card_payments": {
"decline_on": {
"avs_failure": false,
"cvc_failure": false
},
"statement_descriptor_prefix": null,
"statement_descriptor_prefix_kana": null,
"statement_descriptor_prefix_kanji": null
},
"dashboard": {
"display_name": null,
"timezone": "Etc/UTC"
},
"payments": {
"statement_descriptor": null,
"statement_descriptor_kana": null,
"statement_descriptor_kanji": null
},
"payouts": {
"debit_negative_balances": false,
"schedule": {
"delay_days": 2,
"interval": "daily"
},
"statement_descriptor": null
},
"sepa_debit_payments": {}
},
"tos_acceptance": {
"date": null,
"ip": null,
"user_agent": null
},
"type": "custom"
}

Create 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.

Parameters

  • business_typeenum

    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.

    Possible enum values
    company
    government_entity

    US only

    individual
    non_profit
  • capabilitiesobjectRequired conditionally

    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.

  • companyobject

    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.

  • controllerobject

    A hash of configuration describing the account controller’s attributes.

  • countrystringdefault is your own country

    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.

  • emailstring

    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.

  • individualobject

    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.

  • metadataobject

    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.

  • tos_acceptanceobject

    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.

  • typeenum

    The type of Stripe account to create. May be one of custom, express or standard.

    Possible enum values
    custom
    express
    standard

More parameters

  • account_tokenstring

  • business_profileobject

  • default_currencyenum

  • documentsobject

  • external_accountstring

  • settingsobject

Returns

Returns an Account object if the call succeeds.

POST /v1/accounts
curl https://api.stripe.com/v1/accounts \
-u "sk_test_4eC39Hq...arjtT1zdp7dcsk_test_4eC39HqLyjWDarjtT1zdp7dc:" \
-d type=custom \
-d country=US \
--data-urlencode email="jenny.rosen@example.com" \
-d "capabilities[card_payments][requested]"=true \
-d "capabilities[transfers][requested]"=true
Response
{
"id": "acct_1Nv0FGQ9RKHgCVdK",
"object": "account",
"business_profile": {
"mcc": null,
"name": null,
"product_description": null,
"support_address": null,
"support_email": null,
"support_phone": null,
"support_url": null,
"url": null
},
"business_type": null,
"capabilities": {
"card_payments": "inactive",
"transfers": "inactive"
},
"charges_enabled": false,
"controller": {
"type": "application",
"is_controller": true,
"fees": {
"payer": "application_custom"
},
"losses": {
"payments": "application"
},
"requirement_collection": "application",
"stripe_dashboard": {
"type": "none"
}
},
"country": "US",
"created": 1695830751,
"default_currency": "usd",
"details_submitted": false,
"email": "jenny.rosen@example.com",
"external_accounts": {
"object": "list",
"data": [],
"has_more": false,
"total_count": 0,
"url": "/v1/accounts/acct_1Nv0FGQ9RKHgCVdK/external_accounts"
},
"future_requirements": {
"alternatives": [],
"current_deadline": null,
"currently_due": [],
"disabled_reason": null,
"errors": [],
"eventually_due": [],
"past_due": [],
"pending_verification": []
},
"metadata": {},
"payouts_enabled": false,
"requirements": {
"alternatives": [],
"current_deadline": null,
"currently_due": [
"business_profile.mcc",
"business_profile.url",
"business_type",
"external_account",
"representative.first_name",
"representative.last_name",
"tos_acceptance.date",
"tos_acceptance.ip"
],
"disabled_reason": "requirements.past_due",
"errors": [],
"eventually_due": [
"business_profile.mcc",
"business_profile.url",
"business_type",
"external_account",
"representative.first_name",
"representative.last_name",
"tos_acceptance.date",
"tos_acceptance.ip"
],
"past_due": [
"business_profile.mcc",
"business_profile.url",
"business_type",
"external_account",
"representative.first_name",
"representative.last_name",
"tos_acceptance.date",
"tos_acceptance.ip"
],
"pending_verification": []
},
"settings": {
"bacs_debit_payments": {},
"branding": {
"icon": null,
"logo": null,
"primary_color": null,
"secondary_color": null
},
"card_issuing": {
"tos_acceptance": {
"date": null,
"ip": null
}
},
"card_payments": {
"decline_on": {
"avs_failure": false,
"cvc_failure": false
},
"statement_descriptor_prefix": null,
"statement_descriptor_prefix_kana": null,
"statement_descriptor_prefix_kanji": null
},
"dashboard": {
"display_name": null,
"timezone": "Etc/UTC"
},
"payments": {
"statement_descriptor": null,
"statement_descriptor_kana": null,
"statement_descriptor_kanji": null
},
"payouts": {
"debit_negative_balances": false,
"schedule": {
"delay_days": 2,
"interval": "daily"
},
"statement_descriptor": null
},
"sepa_debit_payments": {}
},
"tos_acceptance": {
"date": null,
"ip": null,
"user_agent": null
},
"type": "custom"
}

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, which includes Custom accounts, you can update any information on the account.

For accounts where controller.requirement_collection is stripe, which includes Standard and Express accounts, you can update all information until you create an Account Link or Account Session to start Connect onboarding, after which some properties can no longer be updated.

To update your own account, use the Dashboard. Refer to our Connect documentation to learn more about updating accounts.

Parameters

  • business_typeenum

    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.

    Possible enum values
    company
    government_entity

    US only

    individual
    non_profit
  • capabilitiesobject

    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.

  • companyobject

    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.

  • emailstring

    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.

  • individualobject

    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.

  • metadataobject

    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.

  • tos_acceptanceobject

    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.

More parameters

  • account_tokenstring

  • business_profileobject

  • default_currencyenum

  • documentsobject

  • external_accountstring

  • settingsobject

Returns

Returns an Account object if the call succeeds. If the account ID does not exist or another issue occurs, this call raises an error.

POST /v1/accounts/:id
curl https://api.stripe.com/v1/accounts/acct_1Nv0FGQ9RKHgCVdK \
-u "sk_test_4eC39Hq...arjtT1zdp7dcsk_test_4eC39HqLyjWDarjtT1zdp7dc:" \
-d "metadata[order_id]"=6735
Response
{
"id": "acct_1Nv0FGQ9RKHgCVdK",
"object": "account",
"business_profile": {
"mcc": null,
"name": null,
"product_description": null,
"support_address": null,
"support_email": null,
"support_phone": null,
"support_url": null,
"url": null
},
"business_type": null,
"capabilities": {
"card_payments": "inactive",
"transfers": "inactive"
},
"charges_enabled": false,
"controller": {
"type": "application",
"is_controller": true,
"fees": {
"payer": "application_custom"
},
"losses": {
"payments": "application"
},
"requirement_collection": "application",
"stripe_dashboard": {
"type": "none"
}
},
"country": "US",
"created": 1695830751,
"default_currency": "usd",
"details_submitted": false,
"email": "jenny.rosen@example.com",
"external_accounts": {
"object": "list",
"data": [],
"has_more": false,
"total_count": 0,
"url": "/v1/accounts/acct_1Nv0FGQ9RKHgCVdK/external_accounts"
},
"future_requirements": {
"alternatives": [],
"current_deadline": null,
"currently_due": [],
"disabled_reason": null,
"errors": [],
"eventually_due": [],
"past_due": [],
"pending_verification": []
},
"metadata": {
"order_id": "6735"
},
"payouts_enabled": false,
"requirements": {
"alternatives": [],
"current_deadline": null,
"currently_due": [
"business_profile.mcc",
"business_profile.url",
"business_type",
"external_account",
"representative.first_name",
"representative.last_name",
"tos_acceptance.date",
"tos_acceptance.ip"
],
"disabled_reason": "requirements.past_due",
"errors": [],
"eventually_due": [
"business_profile.mcc",
"business_profile.url",
"business_type",
"external_account",
"representative.first_name",
"representative.last_name",
"tos_acceptance.date",
"tos_acceptance.ip"
],
"past_due": [
"business_profile.mcc",
"business_profile.url",
"business_type",
"external_account",
"representative.first_name",
"representative.last_name",
"tos_acceptance.date",
"tos_acceptance.ip"
],
"pending_verification": []
},
"settings": {
"bacs_debit_payments": {},
"branding": {
"icon": null,
"logo": null,
"primary_color": null,
"secondary_color": null
},
"card_issuing": {
"tos_acceptance": {
"date": null,
"ip": null
}
},
"card_payments": {
"decline_on": {
"avs_failure": false,
"cvc_failure": false
},
"statement_descriptor_prefix": null,
"statement_descriptor_prefix_kana": null,
"statement_descriptor_prefix_kanji": null
},
"dashboard": {
"display_name": null,
"timezone": "Etc/UTC"
},
"payments": {
"statement_descriptor": null,
"statement_descriptor_kana": null,
"statement_descriptor_kanji": null
},
"payouts": {
"debit_negative_balances": false,
"schedule": {
"delay_days": 2,
"interval": "daily"
},
"statement_descriptor": null
},
"sepa_debit_payments": {}
},
"tos_acceptance": {
"date": null,
"ip": null,
"user_agent": null
},
"type": "custom"
}

Retrieve account

Retrieves the details of an account.

Parameters

No parameters.

Returns

Returns an Account object if the call succeeds. If the account ID does not exist, this call raises an error.

GET /v1/accounts/:id
curl https://api.stripe.com/v1/accounts/acct_1Nv0FGQ9RKHgCVdK \
-u "sk_test_4eC39Hq...arjtT1zdp7dcsk_test_4eC39HqLyjWDarjtT1zdp7dc:"
Response
{
"id": "acct_1Nv0FGQ9RKHgCVdK",
"object": "account",
"business_profile": {
"mcc": null,
"name": null,
"product_description": null,
"support_address": null,
"support_email": null,
"support_phone": null,
"support_url": null,
"url": null
},
"business_type": null,
"capabilities": {
"card_payments": "inactive",
"transfers": "inactive"
},
"charges_enabled": false,
"country": "US",
"created": 1695830751,
"default_currency": "usd",
"details_submitted": false,
"email": "jenny.rosen@example.com",
"external_accounts": {
"object": "list",
"data": [],
"has_more": false,
"total_count": 0,
"url": "/v1/accounts/acct_1Nv0FGQ9RKHgCVdK/external_accounts"
},
"future_requirements": {
"alternatives": [],
"current_deadline": null,
"currently_due": [],
"disabled_reason": null,
"errors": [],
"eventually_due": [],
"past_due": [],
"pending_verification": []
},
"metadata": {},
"payouts_enabled": false,
"requirements": {
"alternatives": [],
"current_deadline": null,
"currently_due": [
"business_profile.mcc",
"business_profile.url",
"business_type",
"external_account",
"representative.first_name",
"representative.last_name",
"tos_acceptance.date",
"tos_acceptance.ip"
],
"disabled_reason": "requirements.past_due",
"errors": [],
"eventually_due": [
"business_profile.mcc",
"business_profile.url",
"business_type",
"external_account",
"representative.first_name",
"representative.last_name",
"tos_acceptance.date",
"tos_acceptance.ip"
],
"past_due": [
"business_profile.mcc",
"business_profile.url",
"business_type",
"external_account",
"representative.first_name",
"representative.last_name",
"tos_acceptance.date",
"tos_acceptance.ip"
],
"pending_verification": []
},
"settings": {
"bacs_debit_payments": {},
"branding": {
"icon": null,
"logo": null,
"primary_color": null,
"secondary_color": null
},
"card_issuing": {
"tos_acceptance": {
"date": null,
"ip": null
}
},
"card_payments": {
"decline_on": {
"avs_failure": false,
"cvc_failure": false
},
"statement_descriptor_prefix": null,
"statement_descriptor_prefix_kana": null,
"statement_descriptor_prefix_kanji": null
},
"dashboard": {
"display_name": null,
"timezone": "Etc/UTC"
},
"payments": {
"statement_descriptor": null,
"statement_descriptor_kana": null,
"statement_descriptor_kanji": null
},
"payouts": {
"debit_negative_balances": false,
"schedule": {
"delay_days": 2,
"interval": "daily"
},
"statement_descriptor": null
},
"sepa_debit_payments": {}
},
"tos_acceptance": {
"date": null,
"ip": null,
"user_agent": null
},
"type": "custom"
}

List all connected accounts

Returns a list of accounts connected to your platform via Connect. If you’re not a platform, the list is empty.

Parameters

No parameters.

More parameters

  • createdobject

  • ending_beforestring

  • limitinteger

  • starting_afterstring

Returns

A dictionary with a data property that contains an array of up to limit accounts, starting after account starting_after. Each entry in the array is a separate Account object. If no more accounts are available, the resulting array is empty.

GET /v1/accounts
curl -G https://api.stripe.com/v1/accounts \
-u "sk_test_4eC39Hq...arjtT1zdp7dcsk_test_4eC39HqLyjWDarjtT1zdp7dc:" \
-d limit=3
Response
{
"object": "list",
"url": "/v1/accounts",
"has_more": false,
"data": [
{
"id": "acct_1Nv0FGQ9RKHgCVdK",
"object": "account",
"business_profile": {
"mcc": null,
"name": null,
"product_description": null,
"support_address": null,
"support_email": null,
"support_phone": null,
"support_url": null,
"url": null
},
"business_type": null,
"capabilities": {
"card_payments": "inactive",
"transfers": "inactive"
},
"charges_enabled": false,
"controller": {
"type": "application",
"is_controller": true,
"fees": {
"payer": "application_custom"
},
"losses": {
"payments": "application"
},
"requirement_collection": "application",
"stripe_dashboard": {
"type": "none"
}
},
"country": "US",
"created": 1695830751,
"default_currency": "usd",
"details_submitted": false,
"email": "jenny.rosen@example.com",
"external_accounts": {
"object": "list",
"data": [],
"has_more": false,
"total_count": 0,
"url": "/v1/accounts/acct_1Nv0FGQ9RKHgCVdK/external_accounts"
},
"future_requirements": {
"alternatives": [],
"current_deadline": null,
"currently_due": [],
"disabled_reason": null,
"errors": [],
"eventually_due": [],
"past_due": [],
"pending_verification": []
},
"metadata": {},
"payouts_enabled": false,
"requirements": {
"alternatives": [],
"current_deadline": null,
"currently_due": [
"business_profile.mcc",
"business_profile.url",
"business_type",
"external_account",
"representative.first_name",
"representative.last_name",
"tos_acceptance.date",
"tos_acceptance.ip"
],
"disabled_reason": "requirements.past_due",
"errors": [],
"eventually_due": [
"business_profile.mcc",
"business_profile.url",
"business_type",
"external_account",
"representative.first_name",
"representative.last_name",
"tos_acceptance.date",
"tos_acceptance.ip"
],
"past_due": [
"business_profile.mcc",
"business_profile.url",
"business_type",
"external_account",
"representative.first_name",
"representative.last_name",
"tos_acceptance.date",
"tos_acceptance.ip"
],
"pending_verification": []
},
"settings": {
"bacs_debit_payments": {},
"branding": {
"icon": null,
"logo": null,
"primary_color": null,
"secondary_color": null
},
"card_issuing": {
"tos_acceptance": {
"date": null,
"ip": null
}
},
"card_payments": {
"decline_on": {
"avs_failure": false,
"cvc_failure": false
},
"statement_descriptor_prefix": null,
"statement_descriptor_prefix_kana": null,
"statement_descriptor_prefix_kanji": null
},
"dashboard": {
"display_name": null,
"timezone": "Etc/UTC"
},
"payments": {
"statement_descriptor": null,
"statement_descriptor_kana": null,
"statement_descriptor_kanji": null
},
"payouts": {
"debit_negative_balances": false,
"schedule": {
"delay_days": 2,
"interval": "daily"
},
"statement_descriptor": null
},
"sepa_debit_payments": {}
},
"tos_acceptance": {
"date": null,
"ip": null,
"user_agent": null
},
"type": "custom"
}
{...}
{...}
],
}
Stripe Shell
Test mode
Welcome to the Stripe Shell! Stripe Shell is a browser-based shell with the Stripe CLI pre-installed. Log in to your Stripe account and press Control + Backtick (`) on your keyboard to start managing your Stripe resources in test mode. - View supported Stripe commands: - Find webhook events: - Listen for webhook events: - Call Stripe APIs: stripe [api resource] [operation] (e.g., )
The Stripe Shell is best experienced on desktop.
$