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

Update Customer

Deprecated
PUT
https://api.bigcommerce.com/stores/:store_hash/v2/customers/:customer_id
PUT
/stores/:store_hash/v2/customers/:customer_id
$curl -X PUT https://api.bigcommerce.com/stores/store_hash/v2/customers/1 \
> -H "Accept: application/json" \
> -H "X-Auth-Token: <apiKey>" \
> -H "Content-Type: application/json" \
> -d '{}'
200Updated
1{
2 "first_name": "Jane",
3 "last_name": "Doe",
4 "email": "janedoe@example.com",
5 "_authentication": {
6 "force_reset": true,
7 "password": "N3wP@ssw0rd2024",
8 "password_confirmation": "N3wP@ssw0rd2024"
9 },
10 "company": "Acme Corporation",
11 "phone": "+1-555-123-4567",
12 "store_credit": "150.75",
13 "registration_ip_address": "203.0.113.42",
14 "customer_group_id": 2,
15 "notes": "Preferred customer with VIP status.",
16 "tax_exempt_category": "NONPROFIT",
17 "accepts_marketing": true,
18 "addresses": {
19 "url": "https://api.bigcommerce.com/stores/abc123/v2/customers/5/addresses",
20 "resource": "/customers/5/addresses"
21 },
22 "form_fields": [
23 {
24 "name": "License ID",
25 "value": "A12345XYZ"
26 }
27 ],
28 "reset_pass_on_login": false
29}
Updates a *Customer*. **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: ```js showLineNumbers copy { "_authentication": { "password": "12w69Y217PYR96J" } } ``` #### Confirming Passwords An additional optional `password_confirmation` field can also be sent, providing password confirmation as a service: ```js showLineNumbers copy { "_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

Get Customer

Next

Delete Customer

Built with

Updates a Customer.

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:

showLineNumbers copy
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:

showLineNumbers copy
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

customer_idintegerRequired
Unique numeric ID of the customer.
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

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.

companystringOptional
The name of the company for which the customer works.
first_namestringOptional
First name of the customer.
last_namestringOptional
Last name of the customer.
emailstringOptional
Email address of the customer.
phonestringOptional
Phone number of the customer.
store_creditstringOptional

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

registration_ip_addressstringOptional

The customer’s IP address when they signed up.

customer_group_idintegerOptional
The group to which the customer belongs.
notesstringOptional

Store-owner notes on the customer.

tax_exempt_categorystringOptional

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.

addressesobjectOptional
reset_pass_on_loginbooleanOptional
Force a password change on next login.

Response

first_namestring
First name of the customer.
last_namestring
Last name of the customer.
emailstring
Email address 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.

companystring
The name of the company for which the customer works.
phonestring
Phone number of the customer.
store_creditstring

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

registration_ip_addressstring

The customer’s IP address when they signed up.

customer_group_idinteger
The group to which the customer belongs.
notesstring

Store-owner notes on the customer.

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.

accepts_marketingbooleanRead-only

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

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

reset_pass_on_loginboolean
Force a password change on next login.

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.