---
title: "Create Bolt Account"
method: POST
path: "/v1/account"
tags: ["Account"]
---

# Create Bolt Account

`POST /v1/account`

Create a Bolt shopping account.

## Headers

- `X-Publishable-Key` string
- `Idempotency-Key` string

## Request body

- CreateAccountInput — The details needed to create a Bolt account.
  - `addresses` AddressAccount[] — A list of physical shipping addresses associated with this account.
    - `company` string — The company name associated with this address.
    - `country` string — The name of the country associated with this address.
    - `country_code` string, required — The ISO 3166-1 alpha-2 country code associated with this address.
    - `default` boolean — Set this to true to make this the default shipping address. There can be only one address with default set to true.
    - `door_code` string, nullable — The building door code or community gate code.
    - `email` string, email, required — An email address.
    - `first_name` string, required — The given name of the person associated with this address.
    - `last_name` string, required — The surname of the person associated with this address.
    - `locality` string, required — The city name details associated with this address.
    - `name` string — The given and surname of the person associated with this address.
    - `phone` string — A phone number following E164 standards, in its globalized format, i.e. prepended with a plus sign.
    - `postal_code` string, required — The the postal or zip code associated with this address.
    - `region` string, required — **Not Required for NON US addresses**. The region details such as state or province associated with this address.
    - `region_code` string, nullable — The ISO 3166-2 region code associated with this address. - * If specified, value must be valid for the `country`. - * If null, value is inferred from the `region`.
    - `street_address1` string, required — The street number and street name of the address.
    - `street_address2` string — Any apartment, floor, or unit details.
    - `street_address3` string, nullable — Any additional street address details.
    - `street_address4` string, nullable — Any additional street address details.
    - `metadata` ShopperMetadata, nullable — A key-value pair object that allows users to store arbitrary information associated with an object. For any individual account object, we allow up to 50 keys. Keys can be up to 40 characters long and values can be up to 500 characters long. Metadata should not contain any sensitive customer information, like PII (Personally Identifiable Information). For more information about metadata, see our [documentation](https://help.boltapp.com/developers/references/embedded-metadata/).
      - `additionalProperties` string
  - `payment_methods` PaymentMethodAccount[] — A list of payment methods associated with this account.
    - `billing_address` Address, required — The Address object is used for billing, shipping, and physical store address use cases.
      - `company` string — The company name associated with this address.
      - `country` string — The name of the country associated with this address.
      - `country_code` string, required — The ISO 3166-1 alpha-2 country code associated with this address.
      - `default` boolean — Whether the added address is now the default address.
      - `door_code` string, nullable — The building door code or community gate code.
      - `email` string, email, required — An email address.
      - `first_name` string, required — The given name of the person associated with this address.
      - `last_name` string, required — The surname of the person associated with this address.
      - `locality` string, required — The city name details associated with this address.
      - `name` string — The given and surname of the person associated with this address.
      - `phone` string — A phone number following E164 standards, in its globalized format, i.e. prepended with a plus sign.
      - `postal_code` string, required — The the postal or zip code associated with this address.
      - `region` string, required — **Not Required for NON US addresses**. The region details such as state or province associated with this address.
      - `region_code` string, nullable — The ISO 3166-2 region code associated with this address. - * If specified, value must be valid for the `country`. - * If null, value is inferred from the `region`.
      - `street_address1` string, required — The street number and street name of the address.
      - `street_address2` string — Any apartment, floor, or unit details.
      - `street_address3` string, nullable — Any additional street address details.
      - `street_address4` string, nullable — Any additional street address details.
    - `billing_address_id` string, nullable — The unique Bolt ID associated with a saved shopper address. This can be obtained by accessing a shopper's account details. If you use this field, you do not need to use `billing_address`.
    - `bin` string — The Bank Identification Number for the credit card. This is typically the first 4-6 digits of the credit card number.
    - `cryptogram` string
    - `eci` string
    - `expiration` string, required — The expiration date of the credit card.
    - `last4` string — The last 4 digits of the credit card number.
    - `metadata` ShopperMetadata, nullable — A key-value pair object that allows users to store arbitrary information associated with an object. For any individual account object, we allow up to 50 keys. Keys can be up to 40 characters long and values can be up to 500 characters long. Metadata should not contain any sensitive customer information, like PII (Personally Identifiable Information). For more information about metadata, see our [documentation](https://help.boltapp.com/developers/references/embedded-metadata/).
      - `additionalProperties` string
    - `network` 'visa' | 'mastercard' | 'amex' | 'discover' | 'dinersclub' | 'jcb' | 'unionpay' | 'alliancedata' | 'citiplcc' | 'unknown'
    - `number` string — Used to provide ApplePay DPAN or private label credit card PAN when applicable. Required when charging a private label credit card.
    - `postal_code` string — Used for the postal or zip code associated with the credit card.
    - `priority` 1 | 2 — Used to indicate the card's priority. '1' indicates primary, while '2' indicates a secondary card.
    - `save` boolean — Determines whether or not the credit card will be saved to the shopper's account. Defaults to `true`.
    - `token` string, required — The Bolt token associated to the credit card.
    - `token_type` 'vantiv' | 'applepay' | 'bolt' | 'stripe' | 'plcc' — Used to define which payment processor generated the token for this credit card. For those using Bolt's tokenizer, the value must be `bolt`.
    - `default` boolean — Set this to true to make this the default payment method. There can be only one payment method with default set to true.
  - `profile` Profile, required — The first name, last name, email address, and phone number of a shopper.
    - `email` string, email, required — An email address.
    - `first_name` string, required — The given name of the person associated with this record.
    - `last_name` string, required — The surname of the person associated with this record.
    - `metadata` ShopperMetadata, nullable — A key-value pair object that allows users to store arbitrary information associated with an object. For any individual account object, we allow up to 50 keys. Keys can be up to 40 characters long and values can be up to 500 characters long. Metadata should not contain any sensitive customer information, like PII (Personally Identifiable Information). For more information about metadata, see our [documentation](https://help.boltapp.com/developers/references/embedded-metadata/).
      - `additionalProperties` string
    - `phone` string — A phone number following E164 standards, in its globalized format, i.e. prepended with a plus sign.

## Response `200`

Account Created

- AccountDetails
  - `addresses` AccountDetailsAddressView[] — A list of all addresses associated to the shopper's account.
    - `company` string — The company name associated with this address.
    - `country` string — The name of the country associated with this address.
    - `country_code` string — The ISO 3166-1 alpha-2 country code associated with this address.
    - `door_code` string, nullable — The building door code or community gate code.
    - `email_address` string, email — An email address.
    - `first_name` string — The given name of the person associated with this address.
    - `id` string — The unique Bolt ID associated with this address.
    - `last_name` string — The surname of the person associated with this address.
    - `locality` string — The city name details associated with this address.
    - `name` string — The given and surname of the person associated with this address.
    - `phone_number` string — A phone number following E164 standards, in its globalized format, i.e. prepended with a plus sign.
    - `postal_code` string — The postal or zip code associated with this address.
    - `priority` 'primary' | 'listed', nullable — The shopper-indicated priority of this address compared to other addresses on their account.
    - `region` string — The region details such as state or province associated with this address.
    - `region_code` string, nullable — The the ISO 3166-2 region code associated with this address.
    - `street_address1` string — The street number and street name of the address.
    - `street_address2` string — Any apartment, floor, or unit details.
    - `street_address3` string, nullable — Any additional street address details.
    - `street_address4` string, nullable — Any additional street address details.
    - `default` boolean — The default shipping address chosen by the shopper.
    - `metadata` ShopperMetadata, nullable — A key-value pair object that allows users to store arbitrary information associated with an object. For any individual account object, we allow up to 50 keys. Keys can be up to 40 characters long and values can be up to 500 characters long. Metadata should not contain any sensitive customer information, like PII (Personally Identifiable Information). For more information about metadata, see our [documentation](https://help.boltapp.com/developers/references/embedded-metadata/).
      - `additionalProperties` string
  - `has_bolt_account` boolean — Used to determine whether a Bolt Account exists with this shopper's account details.
  - `payment_methods` union[] — A list of all payment methods associated to the shopper's account.
    - union
      - SavedCreditCardView — Saved Credit Card Detail
        - `billing_address` AddressView — The address object returned in the response.
          - `company` string — The company name associated with this address.
          - `country` string — The name of the country associated with this address.
          - `country_code` string — The ISO 3166-1 alpha-2 country code associated with this address.
          - `door_code` string, nullable — The building door code or community gate code.
          - `email_address` string, email — An email address.
          - `first_name` string — The given name of the person associated with this address.
          - `id` string — The unique Bolt ID associated with this address.
          - `last_name` string — The surname of the person associated with this address.
          - `locality` string — The city name details associated with this address.
          - `name` string — The given and surname of the person associated with this address.
          - `phone_number` string — A phone number following E164 standards, in its globalized format, i.e. prepended with a plus sign.
          - `postal_code` string — The postal or zip code associated with this address.
          - `priority` 'primary' | 'listed', nullable — The shopper-indicated priority of this address compared to other addresses on their account.
          - `region` string — The region details such as state or province associated with this address.
          - `region_code` string, nullable — The the ISO 3166-2 region code associated with this address.
          - `street_address1` string — The street number and street name of the address.
          - `street_address2` string — Any apartment, floor, or unit details.
          - `street_address3` string, nullable — Any additional street address details.
          - `street_address4` string, nullable — Any additional street address details.
        - `id` string — The ID of the payment method associated with the Shopper's account.
        - `last4` string — The card's last 4 digits. **Nullable** for Transactions Details.
        - `exp_month` integer — The expiration month of the credit card.
        - `exp_year` integer — The expiration year of the credit card.
        - `network` 'visa' | 'mastercard' | 'amex' | 'discover' | 'dinersclub' | 'jcb' | 'unionpay' | 'alliancedata' | 'citiplcc' | 'unknown' — The card's network code. **Nullable** for Transactions Details. Note: LEGACY diners_club_us_ca now tagged as mastercard
        - `default` boolean — The default card payment method chosen by the shopper.
        - `type` 'card' | 'paypal' — The payment method type. If empty, the property defaults to `card`.
        - `description` string — The APM account identifier; usually the email address.
        - `metadata` ShopperMetadata, nullable — A key-value pair object that allows users to store arbitrary information associated with an object. For any individual account object, we allow up to 50 keys. Keys can be up to 40 characters long and values can be up to 500 characters long. Metadata should not contain any sensitive customer information, like PII (Personally Identifiable Information). For more information about metadata, see our [documentation](https://help.boltapp.com/developers/references/embedded-metadata/).
          - `additionalProperties` string
      - SavedPaypalAccountView — Saved PayPal account details.
        - `id` string — The ID of the payment method associated with the Shopper's account.
        - `type` 'paypal' — Type field indicates this is a saved PayPal to differentiate it from a saved card.
        - `description` string — The email associated with a shopper's saved PayPal account.
        - `metadata` ShopperMetadata, nullable — A key-value pair object that allows users to store arbitrary information associated with an object. For any individual account object, we allow up to 50 keys. Keys can be up to 40 characters long and values can be up to 500 characters long. Metadata should not contain any sensitive customer information, like PII (Personally Identifiable Information). For more information about metadata, see our [documentation](https://help.boltapp.com/developers/references/embedded-metadata/).
          - `additionalProperties` string
  - `profile` ProfileView — The shopper's account profile.
    - `email` string, email — An email address.
    - `first_name` string — The given name of the person associated with this record.
    - `last_name` string — The surname of the person associated with this record.
    - `metadata` ShopperMetadata, nullable — A key-value pair object that allows users to store arbitrary information associated with an object. For any individual account object, we allow up to 50 keys. Keys can be up to 40 characters long and values can be up to 500 characters long. Metadata should not contain any sensitive customer information, like PII (Personally Identifiable Information). For more information about metadata, see our [documentation](https://help.boltapp.com/developers/references/embedded-metadata/).
      - `additionalProperties` string
    - `name` string — The given and surname of the person associated with this address.
    - `phone` string — A phone number following E164 standards, in its globalized format, i.e. prepended with a plus sign.

---

[API](https://skmtc.dev/bolt/apis/bolt-api-reference.md) · [All operations](https://skmtc.dev/bolt/apis/bolt-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/bolt/bolt-api-reference/revisions/1f62c40558c6/schema)
