For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Dev Portal
DocsAPI ReferenceLearnCommunityChangelog
DocsAPI ReferenceLearnCommunityChangelog
    • About Our APIs
  • REST
    • Overview
      • Overview
        • Abandoned Carts
        • Carts
        • Channels
        • Checkouts
        • Currencies
          • V3
          • V2
              • GETList Customers
              • POSTCreate Customer
              • DELDelete Customers
              • GETGet Customer
              • PUTUpdate Customer
              • DELDelete Customer
              • GETGet Count of Customers
        • Customer Segmentation
        • Geography
        • Infrastructure Hosting
        • Inventory
        • Orders
        • Order Operations
        • Pickup
        • Pickup Methods
        • Pickup Options
        • Pricing
        • Price Lists
        • Promotions
        • Promotion Settings
        • Redirects
        • Scripts
        • Settings
        • Shipping
        • Sites
        • Subscribers
        • System Logs
        • Tax
        • Wishlists
      • Payments
  • GraphQL
    • Overview
  • MCP
    • Overview
Dev Portal
LogoLogo
RESTAdminManagementCustomersV2

Create Customer

Deprecated
POST
https://api.bigcommerce.com/stores/:store_hash/v2/customers
POST
/stores/:store_hash/v2/customers
$curl -X POST https://api.bigcommerce.com/stores/store_hash/v2/customers \
> -H "Accept: application/json" \
> -H "X-Auth-Token: <apiKey>" \
> -H "Content-Type: application/json" \
> -d '{}'
200Successful
1{
2 "email": "janedoe@example.com",
3 "first_name": "Jane",
4 "last_name": "Doe",
5 "_authentication": {
6 "force_reset": true,
7 "password": "string",
8 "password_confirmation": "string"
9 },
10 "accepts_marketing": true,
11 "addresses": {
12 "url": "https://api.bigcommerce.com/stores/{store_hash}/v2/customers/5/addresses",
13 "resource": "/customers/5/addresses"
14 },
15 "company": "BigCommerce",
16 "customer_group_id": 2,
17 "date_created": "string",
18 "date_modified": "string",
19 "form_fields": [
20 {
21 "name": "License ID",
22 "value": "string"
23 }
24 ],
25 "id": 1,
26 "notes": "string",
27 "phone": "1234567890",
28 "registration_ip_address": "12.345.678.910",
29 "reset_pass_on_login": false,
30 "store_credit": "0",
31 "tax_exempt_category": "string"
32}
Creates a *Customer*. **Required Fields** * `first_name` * `last_name` * `email` **Read Only Fields** * `id` * `date_created` * `date_modified` * `accepts_marketing` * `addresses` * `form_fields` ## Notes The `_authentication` object exposes functionality associated with the customer’s ability to log in to the store. All properties of the `_authentication` object are optional. When the `_authentication` object is not supplied with an update request, then the existing customer password remains the same. ## Updating Passwords To manually update a customer password in the same way as the control panel, supply a value for the password field: ```json { "_authentication": { "password": "12w69Y217PYR96J" } } ``` ## Confirming Passwords An additional optional `password_confirmation` field can also be sent, providing password confirmation as a service: ```json { "_authentication": { "password": "12w69Y217PYR96J", "password_confirmation": "12w69Y217PYR96J" } } ``` ## Forcing Password Resets To force a customer to reset their password upon their next login attempt, give the `force_reset` field a value of true, as shown here: ```js showLineNumbers copy { "_authentication": { "force_reset": true } } ```
Was this page helpful?
Previous

List Customers

Next

Delete Customers

Built with

Creates a Customer. Required Fields

  • first_name
  • last_name
  • email Read Only Fields
  • id
  • date_created
  • date_modified
  • accepts_marketing
  • addresses
  • form_fields

Notes

The _authentication object exposes functionality associated with the customer’s ability to log in to the store. All properties of the _authentication object are optional. When the _authentication object is not supplied with an update request, then the existing customer password remains the same.

Updating Passwords

To manually update a customer password in the same way as the control panel, supply a value for the password field:

1{
2 "_authentication": {
3 "password": "12w69Y217PYR96J"
4 }
5}

Confirming Passwords

An additional optional password_confirmation field can also be sent, providing password confirmation as a service:

1{
2 "_authentication": {
3 "password": "12w69Y217PYR96J",
4 "password_confirmation": "12w69Y217PYR96J"
5 }
6}

Forcing Password Resets

To force a customer to reset their password upon their next login attempt, give the force_reset field a value of true, as shown here:

showLineNumbers copy
1{
2 "_authentication": {
3 "force_reset": true
4 }
5}

Authentication

X-Auth-Tokenstring
### OAuth scopes | UI Name | Permission | Parameter | |:--------|:-----------|:----------| | Customers | modify | `store_v2_customers` | | Customers | read-only | `store_v2_customers_read_only` | ### Authentication header | Header | Argument | Description | |:-------|:---------|:------------| | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). | ### Further reading For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/developer/docs/overview/api-fundamentals/api-accounts#x-auth-token-header-example-requests). For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes). For a list of API status codes, see [API Status Codes](/developer/api-reference/rest/overview#rest-http-status-codes).

Path parameters

store_hashstringRequired
Permanent ID of the BigCommerce store.

Headers

AcceptstringRequiredDefaults to application/json
The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body.

Request

This endpoint expects an object.
_authenticationobjectOptional

This can vary depending on the action being taken to update, validate or force a password change. See Customers V2, Update a customer (Deprecated).

companystringOptional
first_namestringOptional
last_namestringOptional
phonestringOptional
date_modifiedstringOptional
store_creditintegerOptional
registration_ip_addressstringOptional
customer_group_idintegerOptional
notesstringOptional
tax_exempt_categorystringOptional

Response

emailstring
Email address of the customer.
first_namestring
First name of the customer.
last_namestring
Last name of the customer.
_authenticationobject

Not returned in any responses, but accepts up to two fields allowing you to set the customer’s password. If a password is not supplied, it is generated automatically. For further information about using this object, please see the Customers resource documentation.

accepts_marketingbooleanRead-only

Describes whether the customer accepts product review emails or abandon cart emails. Read-Only.

addressesobject
companystring
The name of the company for which the customer works.
customer_group_idinteger
The group to which the customer belongs.
date_createdstringRead-only

Date on which the customer registered from the storefront or was created in the control panel. This is a Read-Only field; do not set or modify its value in a POST or PUT request.

date_modifiedstringRead-only

Date on which the customer updated their details in the storefront or was updated in the control panel. This is a Read-Only field; do not set or modify its value in a POST or PUT request.

form_fieldslist of objects or nullRead-only

Array of custom fields. This is a Read-Only field; do not set or modify its value in a POST or PUT request.

idintegerRead-only

Unique numeric ID of this customer. This is a Read-Only field; do not set or modify its value in a POST or PUT request.

notesstring

Store-owner notes on the customer.

phonestring
Phone number of the customer.
registration_ip_addressstring

The customer’s IP address when they signed up.

reset_pass_on_loginboolean
Force a password change on next login.
store_creditstring

The amount of credit the customer has. (Float, Float as String, Integer)

tax_exempt_categorystring

If applicable, the tax-exempt category of the shopper’s customer account. You can apply a tax-exempt category to multiple customers. This code should match the exemption codes provided by the third-party integration.

OAuth scopes

UI NamePermissionParameter
Customersmodifystore_v2_customers
Customersread-onlystore_v2_customers_read_only

Authentication header

HeaderArgumentDescription
X-Auth-Tokenaccess_tokenFor more about API accounts that generate access_tokens, see our Guide to API Accounts.

Further reading

For example requests and more information about authenticating BigCommerce APIs, see Authentication and Example Requests.

For more about BigCommerce OAuth scopes, see our Guide to API Accounts.

For a list of API status codes, see API Status Codes.

The MIME type of the response body.