• Example searches: “transaction”, “CreateOrder”, “/v2/locations”, “inventory”, “delete customer”

You are viewing an old version of the API
Update customer

PUT /v2/customers/{customer_id}

Updates a customer profile.

This endpoint supports sparse updates, so only new or changed fields are required in the request. To add or update a field, specify the new value. To remove a field, specify null and include the X-Clear-Null header set to true (recommended) or specify an empty string (string fields only).

As a best practice, include the version field in the request to enable optimistic concurrency control. If included, the value must be set to the current version of the customer profile.

To update a customer profile that was created by merging existing profiles, you must use the ID of the newly created profile.

You cannot use this endpoint to change cards on file. To make changes, use the Cards API or Gift Cards API.


Permissions
CUSTOMERS_WRITE
Guide
Update a customer profile
Try in API Explorer
Name Description
customer_id
string

Required

The ID of the customer to update.

Name Description
given_name
string

The given name (that is, the first name) associated with the customer profile.

The maximum length for this value is 300 characters.

family_name
string

The family name (that is, the last name) associated with the customer profile.

The maximum length for this value is 300 characters.

company_name
string

A business name associated with the customer profile.

The maximum length for this value is 500 characters.

nickname
string

A nickname for the customer profile.

The maximum length for this value is 100 characters.

email_address
string

The email address associated with the customer profile.

The maximum length for this value is 254 characters.

address
Address

The physical address associated with the customer profile. Only new or changed fields are required in the request.

For maximum length constraints, see Customer addresses. The first_name and last_name fields are ignored if they are present in the request.

phone_number
string

The phone number associated with the customer profile. The phone number must be valid and can contain 9–16 digits, with an optional + prefix and country code. For more information, see Customer phone numbers.

reference_id
string

An optional second ID used to associate the customer profile with an entity in another system.

The maximum length for this value is 100 characters.

note
string

A custom note associated with the customer profile.

birthday
string

The birthday associated with the customer profile, in YYYY-MM-DD or MM-DD format. For example, specify 1998-09-21 for September 21, 1998, or 09-21 for September 21. Birthdays are returned in YYYY-MM-DD format, where YYYY is the specified birth year or 0000 if a birth year is not specified.

version
integer (64-bit)

The current version of the customer profile.

As a best practice, you should include this field to enable optimistic concurrency control. For more information, see Update a customer profile.

tax_ids
CustomerTaxIds

The tax ID associated with the customer profile. This field is available only for customers of sellers in EU countries or the United Kingdom. In other countries, this field is ignored when included in an UpdateCustomer request. For more information, see Customer tax IDs.

Response Fields

Name Description
errors
Error [ ]

Any errors that occurred during the request.

customer
Customer

The updated customer.

Examples

You are viewing an old version of the API
PUT /v2/customers/{customer_id}
cURL
  • cURL
  • Ruby
  • Python
  • C#
  • Java
  • PHP
  • Node.js
curl https://connect.squareup.com/v2/customers/JDKYHBWT1D4F8MFH63DBMEN8Y4 \
  -X PUT \
  -H 'Square-Version: 2022-11-16' \
  -H 'Authorization: Bearer ACCESS_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "phone_number": "",
    "email_address": "New.Amelia.Earhart@example.com",
    "note": "updated customer note",
    "version": 2
  }'
Response JSON
{
  "customer": {
    "id": "JDKYHBWT1D4F8MFH63DBMEN8Y4",
    "created_at": "2016-03-23T20:21:54.859Z",
    "updated_at": "2016-05-15T20:21:55Z",
    "given_name": "Amelia",
    "family_name": "Earhart",
    "email_address": "New.Amelia.Earhart@example.com",
    "address": {
      "address_line_1": "500 Electric Ave",
      "address_line_2": "Suite 600",
      "locality": "New York",
      "administrative_district_level_1": "NY",
      "postal_code": "10003",
      "country": "US"
    },
    "reference_id": "YOUR_REFERENCE_ID",
    "note": "updated customer note",
    "preferences": {
      "email_unsubscribed": false
    },
    "creation_source": "THIRD_PARTY",
    "version": 3
  }
}

Error Descriptions

400 Bad request INVALID_EMAIL_ADDRESS

The provided email address is invalid.

>
400 Bad request INVALID_PHONE_NUMBER

The provided phone number is invalid.

>
400 Bad request
{
  "errors": [
    {
      "code": "INVALID_EMAIL_ADDRESS",
      "category": "INVALID_REQUEST_ERROR"
    }
  ]
}