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. This property defaults to a full service agreement when empty.

  • 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

  • groupsobjectPreview feature

  • 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 country=US \
--data-urlencode email="jenny.rosen@example.com" \
-d "controller[fees][payer]"=application \
-d "controller[losses][payments]"=application \
-d "controller[stripe_dashboard][type]"=express
Response
{
"id": "acct_1Nv0FGQ9RKHgCVdK",
"object": "account",
"business_profile": {
"annual_revenue": null,
"estimated_worker_count": null,
"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": {},
"charges_enabled": false,
"controller": {
"fees": {
"payer": "application"
},
"is_controller": true,
"losses": {
"payments": "application"
},
"requirement_collection": "stripe",
"stripe_dashboard": {
"type": "express"
},
"type": "application"
},
"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": []
},
"login_links": {
"object": "list",
"total_count": 0,
"has_more": false,
"url": "/v1/accounts/acct_1Nv0FGQ9RKHgCVdK/login_links",
"data": []
},
"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": {
"display_name": null,
"service_user_number": null
},
"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_kanji": null,
"statement_descriptor_prefix_kana": null
},
"dashboard": {
"display_name": null,
"timezone": "Etc/UTC"
},
"invoices": {
"default_account_tax_ids": null
},
"payments": {
"statement_descriptor": null,
"statement_descriptor_kana": null,
"statement_descriptor_kanji": null
},
"payouts": {
"debit_negative_balances": true,
"schedule": {
"delay_days": 2,
"interval": "daily"
},
"statement_descriptor": null
},
"sepa_debit_payments": {}
},
"tos_acceptance": {
"date": null,
"ip": null,
"user_agent": null
},
"type": "none"
}

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. This property defaults to a full service agreement when empty.

More parameters

  • account_tokenstring

  • business_profileobject

  • default_currencyenum

  • documentsobject

  • external_accountstring

  • groupsobjectPreview feature

  • 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. Some validations will not raise an error but will instead populate the requirements.errors array.

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": {
"annual_revenue": null,
"estimated_worker_count": null,
"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": {},
"charges_enabled": false,
"controller": {
"fees": {
"payer": "application"
},
"is_controller": true,
"losses": {
"payments": "application"
},
"requirement_collection": "stripe",
"stripe_dashboard": {
"type": "express"
},
"type": "application"
},
"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": []
},
"login_links": {
"object": "list",
"total_count": 0,
"has_more": false,
"url": "/v1/accounts/acct_1Nv0FGQ9RKHgCVdK/login_links",
"data": []
},
"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": {
"display_name": null,
"service_user_number": null
},
"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_kanji": null,
"statement_descriptor_prefix_kana": null
},
"dashboard": {
"display_name": null,
"timezone": "Etc/UTC"
},
"invoices": {
"default_account_tax_ids": null
},
"payments": {
"statement_descriptor": null,
"statement_descriptor_kana": null,
"statement_descriptor_kanji": null
},
"payouts": {
"debit_negative_balances": true,
"schedule": {
"delay_days": 2,
"interval": "daily"
},
"statement_descriptor": null
},
"sepa_debit_payments": {}
},
"tos_acceptance": {
"date": null,
"ip": null,
"user_agent": null
},
"type": "none"
}

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": {
"annual_revenue": null,
"estimated_worker_count": null,
"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": {},
"charges_enabled": false,
"controller": {
"fees": {
"payer": "application"
},
"is_controller": true,
"losses": {
"payments": "application"
},
"requirement_collection": "stripe",
"stripe_dashboard": {
"type": "express"
},
"type": "application"
},
"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": []
},
"login_links": {
"object": "list",
"total_count": 0,
"has_more": false,
"url": "/v1/accounts/acct_1Nv0FGQ9RKHgCVdK/login_links",
"data": []
},
"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": {
"display_name": null,
"service_user_number": null
},
"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_kanji": null,
"statement_descriptor_prefix_kana": null
},
"dashboard": {
"display_name": null,
"timezone": "Etc/UTC"
},
"invoices": {
"default_account_tax_ids": null
},
"payments": {
"statement_descriptor": null,
"statement_descriptor_kana": null,
"statement_descriptor_kanji": null
},
"payouts": {
"debit_negative_balances": true,
"schedule": {
"delay_days": 2,
"interval": "daily"
},
"statement_descriptor": null
},
"sepa_debit_payments": {}
},
"tos_acceptance": {
"date": null,
"ip": null,
"user_agent": null
},
"type": "none"
}

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": {
"annual_revenue": null,
"estimated_worker_count": null,
"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": {},
"charges_enabled": false,
"controller": {
"fees": {
"payer": "application"
},
"is_controller": true,
"losses": {
"payments": "application"
},
"requirement_collection": "stripe",
"stripe_dashboard": {
"type": "express"
},
"type": "application"
},
"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": []
},
"login_links": {
"object": "list",
"total_count": 0,
"has_more": false,
"url": "/v1/accounts/acct_1Nv0FGQ9RKHgCVdK/login_links",
"data": []
},
"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": {
"display_name": null,
"service_user_number": null
},
"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_kanji": null,
"statement_descriptor_prefix_kana": null
},
"dashboard": {
"display_name": null,
"timezone": "Etc/UTC"
},
"invoices": {
"default_account_tax_ids": null
},
"payments": {
"statement_descriptor": null,
"statement_descriptor_kana": null,
"statement_descriptor_kanji": null
},
"payouts": {
"debit_negative_balances": true,
"schedule": {
"delay_days": 2,
"interval": "daily"
},
"statement_descriptor": null
},
"sepa_debit_payments": {}
},
"tos_acceptance": {
"date": null,
"ip": null,
"user_agent": null
},
"type": "none"
}
]
}

With Connect, you can delete accounts you manage.

Test-mode accounts can be deleted at any time.

Live-mode accounts where Stripe is responsible for negative account balances cannot be deleted, which includes Standard accounts. Live-mode accounts where your platform is liable for negative account balances, which includes Custom and Express accounts, can be deleted when all balances are zero.

If you want to delete your own account, use the account information tab in your account settings instead.

Parameters

No parameters.

Returns

Returns an object with a deleted parameter if the call succeeds. If the account ID does not exist, this call raises an error.

DELETE /v1/accounts/:id
curl -X DELETE https://api.stripe.com/v1/accounts/acct_1032D82eZvKYlo2C \
-u "sk_test_4eC39Hq...arjtT1zdp7dcsk_test_4eC39HqLyjWDarjtT1zdp7dc:"
Response
{
"id": "acct_1Nv0FGQ9RKHgCVdK",
"object": "account",
"deleted": true
}