# Create an account

Create an Account that represents a company, individual, or other entity that your business interacts with. Accounts contain identifying information about the entity, and configurations that store the features an account has access to. An account can be configured as any or all of the following configurations: Customer, Merchant and/or Recipient.

## Request

```curl
curl -X POST https://api.stripe.com/v2/core/accounts \
  -H "Authorization: Bearer <<YOUR_SECRET_KEY>>" \
  -H "Stripe-Version: 2026-08-26.dahlia" \
  --json '{
    "contact_email": "furever@example.com",
    "display_name": "Furever",
    "identity": {
        "country": "us",
        "entity_type": "company",
        "business_details": {
            "registered_name": "Furever",
            "additional_addresses": [
                {
                    "purpose": "principal_place_of_business",
                    "country": "us",
                    "line1": "354 Oyster Point Blvd",
                    "city": "South San Francisco",
                    "state": "CA",
                    "postal_code": "94080"
                },
                {
                    "purpose": "administrative",
                    "country": "us",
                    "line1": "510 Townsend St",
                    "city": "San Francisco",
                    "state": "CA",
                    "postal_code": "94103"
                }
            ]
        }
    },
    "configuration": {
        "customer": {
            "capabilities": {
                "automatic_indirect_tax": {
                    "requested": true
                }
            }
        },
        "merchant": {
            "capabilities": {
                "card_payments": {
                    "requested": true
                }
            }
        }
    },
    "defaults": {
        "responsibilities": {
            "fees_collector": "stripe",
            "losses_collector": "stripe"
        }
    },
    "dashboard": "full",
    "include": [
        "configuration.merchant",
        "configuration.customer",
        "identity",
        "defaults"
    ]
  }'
```

### Response

```json
{
  "id": "acct_1Nv0FGQ9RKHgCVdK",
  "object": "v2.core.account",
  "applied_configurations": [
    "customer",
    "merchant"
  ],
  "configuration": {
    "customer": {
      "applied": "2025-03-28T19:59:16.000Z",
      "automatic_indirect_tax": {
        "exempt": "none",
        "location_source": "identity_address"
      },
      "billing": {
        "invoice": {
          "next_sequence": 1,
          "prefix": "5626C87C",
          "custom_fields": []
        }
      },
      "capabilities": {
        "automatic_indirect_tax": {
          "status": "active",
          "status_details": []
        }
      }
    },
    "merchant": {
      "applied": "2025-03-28T19:59:16.000Z",
      "card_payments": {
        "decline_on": {
          "avs_failure": false,
          "cvc_failure": false
        }
      },
      "capabilities": {
        "card_payments": {
          "status": "active",
          "status_details": []
        },
        "stripe_balance": {
          "payouts": {
            "status": "active",
            "status_details": []
          }
        }
      }
    }
  },
  "contact_email": "furever@example.com",
  "created": "2025-03-28T19:59:16.000Z",
  "dashboard": "full",
  "identity": {
    "business_details": {
      "registered_name": "Furever",
      "additional_addresses": [
        {
          "purpose": "principal_place_of_business",
          "country": "US",
          "line1": "354 Oyster Point Blvd",
          "city": "South San Francisco",
          "state": "CA",
          "postal_code": "94080"
        },
        {
          "purpose": "administrative",
          "country": "US",
          "line1": "510 Townsend St",
          "city": "San Francisco",
          "state": "CA",
          "postal_code": "94103"
        }
      ]
    },
    "country": "US",
    "entity_type": "company"
  },
  "livemode": false,
  "defaults": {
    "currency": "usd",
    "responsibilities": {
      "fees_collector": "stripe",
      "losses_collector": "stripe",
      "requirements_collector": "stripe"
    }
  },
  "display_name": "Furever"
}
```

## Parameters

- `account_token` (string, optional)
  The account token generated by the account token API.

- [`configuration`](https://docs.stripe.com/api/v2/core/accounts/create.md?query=configuration) (object, optional)
  An Account Configuration which allows the Account to take on a key persona across Stripe products.

- `contact_email` (string, optional)
  The primary contact email address for the Account.

- `contact_phone` (string, optional)
  The default contact phone for the Account.

- `dashboard` (enum, optional)
  A value indicating the Stripe dashboard this Account has access to. This will depend on which configurations are enabled for this account.
Possible enum values:
  - `express`
    The Account has access to the Express hosted dashboard.

  - `full`
    The Account has access to the full Stripe hosted dashboard.

  - `none`
    The Account does not have access to any Stripe hosted dashboard.

- [`defaults`](https://docs.stripe.com/api/v2/core/accounts/create.md?query=defaults) (object, optional)
  Default values to be used on Account Configurations.

- `display_name` (string, optional)
  A descriptive name for the Account. This name will be surfaced in the Stripe Dashboard and on any invoices sent to the Account.

- [`identity`](https://docs.stripe.com/api/v2/core/accounts/create.md?query=identity) (object, optional)
  Information about the company, individual, and business represented by the Account.

- `include` (array of enums, optional)
  Additional fields to include in the response.
Possible enum values:
  - `configuration.customer`
    Include parameter to expose `configuration.customer` on an Account.

  - `configuration.merchant`
    Include parameter to expose `configuration.merchant` on an Account.

  - `configuration.recipient`
    Include parameter to expose `configuration.recipient` on an Account.

  - `defaults`
    Include parameter to expose `defaults` on an Account.

  - `future_requirements`
    Include parameter to expose `future_requirements` on an Account.

  - `identity`
    Include parameter to expose `identity` on an Account.

  - `requirements`
    Include parameter to expose `requirements` on an Account.

- `metadata` (map, optional)
  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.

## Returns

Returns an [Account object](https://docs.stripe.com/api/v2/core/accounts/object.md).

## Error Codes

| HTTP status code | Code | Description |
| --- | --- | --- |
| 400 | account_capability_not_supported | Requested capability is not available. |
| 400 | account_configuration_not_supported | The requested configuration is not available for the account. |
| 400 | account_controller_express_dash_without_application_losses_or_fees | If `dashboard` is `express`, `fees_collector` must be `application` and `losses_collector` must be `application`. |
| 400 | account_controller_stripe_pricing_platform_liable | If `losses_collector` is `application`, `fees_collector` must also be `application`. |
| 400 | account_controller_ua_unsupported_configuration | Connect integration combination is not supported when UA beta is enabled. |
| 400 | account_controller_unsupported_configuration | Connect integration combination is not supported when UA beta is disabled. |
| 400 | account_controller_unsupported_configuration_private_preview | Responsibility combinations is not supported in private preview. |
| 400 | account_country_unsupported_currency | Currency is not allowed for the account’s country. |
| 400 | account_create_activation_required | Platform must be activated to create connected accounts. |
| 400 | account_creation_invalid | Account creation is invalid. |
| 400 | account_creation_liability_unacknowledged | Account creation error - liability unacknowledged. |
| 400 | account_creation_requirement_collection_and_liability_unacknowledged | Account creation error - requirement collection and liability unacknowledged. |
| 400 | account_creation_requirement_collection_unacknowledged | Account creation error - requirement collection unacknowledged. |
| 400 | account_terms_of_service_not_accepted | Terms of service must be accepted before adding merchant configuration. |
| 400 | account_token_required | Account token required for platforms in mandated countries (e.g., France). |
| 400 | accounts_v2_access_blocked | Accounts v2 is not enabled for your merchant. |
| 400 | address_characters_invalid | Invalid characters are provided for address fields. |
| 400 | address_country_identity_country_mismatch | Address country doesn’t match identity country. |
| 400 | address_postal_code_invalid | Address postal code is invalid. |
| 400 | address_state_invalid | Address state is invalid. |
| 400 | address_town_invalid | Address town is invalid. |
| 400 | bgn_bank_accounts_unsupported | Creating accounts with the BGN currency is no longer supported, as Bulgaria is now using the Euro as of 2026-01-01. |
| 400 | can_create_platform_owned_onboarding_accounts_required | Dormant accounts cannot create accounts where requirements collector is application (this is an account takeover prevention measure). |
| 400 | cannot_create_connected_account | Platform is in an invalid state and cannot create connected accounts. |
| 400 | cannot_create_new_account_rejected | Platform is in a rejected state and cannot create connected accounts. |
| 400 | capability_cannot_be_unrequested_due_to_other_capability_requirement | Feature cannot be unrequested due to being a requirement for another feature. |
| 400 | capability_not_available_for_dashboard_type | Feature cannot be requested for the dashboard type. |
| 400 | capability_not_available_for_entity_type_in_country | Requested feature is not available for the entity type in your country. |
| 400 | capability_not_available_for_loss_collector | A v2 Account cannot have both the specified capability and Stripe-owned loss liability. |
| 400 | capability_not_available_in_country | Requested capability is not available in your country. |
| 400 | capability_not_available_in_platform_country | Feature cannot be requested given the platform’s country. |
| 400 | capability_not_available_without_other_capability | Requested feature is not available without also requesting a different feature. |
| 400 | capability_not_available_without_other_capability_in_country | Requested feature is not available without also requesting a different feature in your country. |
| 400 | configuration_creation_invalid | Cannot create an account with an invalid configuration. |
| 400 | connect_identity_not_verified | Platform is not verified and cannot create connected accounts. |
| 400 | connect_profile_not_submitted | Platform has not completed platform questionnaire and cannot create connected accounts. |
| 400 | cross_border_connected_account_creation_not_allowed | Cross-border connected account creation is not allowed for this platform/account country combination. |
| 400 | custom_account_beta | Custom accounts cannot be created in certain countries. |
| 400 | date_of_birth_age_restriction | Representative date of birth does not meet the age limit. |
| 400 | date_of_birth_invalid | Representative date of birth is provided an invalid date or a future date. |
| 400 | default_currency_immutable | Cannot change `defaults.currency` post account activation. |
| 400 | default_payment_method_invalid | Default payment method provided for a customer does not exist or is otherwise invalid. |
| 400 | default_payment_method_invalid_type | Specified payment method exists but its type is not allowed to be the default payment method. |
| 400 | directorship_declaration_not_allowed_during_account_creation | Directorship declaration is not allowed during account creation. |
| 400 | document_invalid | Provided file tokens for documents are invalid, not found, deleted, or belong to a different account. |
| 400 | document_purpose_invalid | Provided file tokens for documents are of the wrong purpose. |
| 400 | email_domain_invalid_for_recipient | Email contains unsupported domain. |
| 400 | email_invalid | Incorrect email is provided. |
| 400 | entity_type_not_supported_in_country | The `identity.entity_type` value is not supported in a given `identity.country`. |
| 400 | high_risk_activities_none_cant_be_combined_with_other_options | NONE is combined with another value in the HighRiskActivities list. |
| 400 | id_number_invalid | Provided ID number is of the wrong format for the given type. |
| 400 | identity_country_required | The `identity.country` value is required but not provided. |
| 400 | incorrect_id_number_for_country | Incorrect ID number is provided for a country. |
| 400 | incorrect_token_wrong_type | The incorrect token type is provided . |
| 400 | invalid_id_number_for_structure | ID number is provided that is not permitted for the Identity’s entity type and business structure. |
| 400 | invalid_id_number_registrar | The `identity.business_details.id_numbers.registrar` value is an invalid DE registrar. |
| 400 | invalid_konbini_payments_support_hours | Konbini Payments Support Hours is Invalid. |
| 400 | invalid_konbini_payments_support_phone_number | Konbini Payments Support Phone Number is Invalid. |
| 400 | invalid_timezone | Timezone provided in account defaults is invalid. |
| 400 | invoice_rendering_template_invalid | Invoice rendering template does not exist or is otherwise invalid. |
| 400 | ip_address_invalid | Invalid IP address is provided. |
| 400 | mcc_invalid | MCC is invalid for `configuration.merchant.mcc`. |
| 400 | non_connect_platform_accounts_v2_access_blocked | Needs to use the newer API version or onboard to Connect. |
| 400 | non_jp_kana_kanji_address | Kana Kanji script addresses must have JP country. |
| 400 | ownership_declaration_not_allowed_during_account_creation | Ownership declaration is not allowed during account creation. |
| 400 | param_alongside_account_token | Parameter cannot be passed alongside account_token. |
| 400 | person_percent_ownership_invalid | Error returned when relationship.owner is set to true but the ownership percentage is set to 0%. |
| 400 | phone_invalid | Phone number is invalid. |
| 400 | platform_registration_required | The direct merchant has not signed up for Connect and cannot create connected accounts. |
| 400 | postal_code_required_for_jp_address | Postal code is required for Japanese addresses. |
| 400 | purpose_of_funds_description_must_be_empty_for_non_other_purpose_of_funds | PurposeOfFundsDescription is not empty while PurposeOfFunds is not OTHER. |
| 400 | registration_date_invalid | Registration date must be in the past. |
| 400 | script_characters_invalid | Provided script characters are invalid for the script. |
| 400 | shipping_address_required | Shipping address is required within the shipping hash. |
| 400 | shipping_name_required | Shipping name is required within the shipping hash. |
| 400 | statement_descriptor_invalid | Statement descriptor is invalid. |
| 400 | structure_incompatible_for_entity_type_country | The `business_details.structure` value is not valid for `identity.country` and `identity.entity_type`. |
| 400 | test_clock_disallowed_on_live_mode | Cannot set a test clock on a livemode customer. |
| 400 | test_clock_invalid | Test clock does not exist or is otherwise invalid. |
| 400 | test_clocks_advance_in_progress | Cannot modify a test clock that is currently advancing. |
| 400 | test_clocks_customer_limit_reached | Cannot add customer to a test clock that has already reached its customer limit. |
| 400 | token_already_used | The token is re-used with a different idempotency key. |
| 400 | token_expired | Token has expired. |
| 400 | tos_acceptance_on_behalf_not_allowed | TOS cannot be accepted on behalf of accounts when requirement collection is `stripe`. |
| 400 | unsupported_field_for_configs | Cannot set responsibilities on the current configurations. |
| 400 | unsupported_identity_field_for_configs | Cannot set identity fields when the Account is only configured as a customer. |
| 400 | unsupported_postal_code | Address is in an unsupported postal code. |
| 400 | unsupported_state | Address is in an unsupported state. |
| 400 | url_invalid | URL is invalid. |
| 400 | v1_token_invalid_in_v2 | A v1 token ID is passed in v2 APIs. |
| 403 | invalid_account_token | Invalid account token. |
| 409 | idempotency_error | An idempotent retry occurred with different request parameters. |
| 429 | account_rate_limit_exceeded | Account cannot exceed a configured concurrency rate limit on updates. |
