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

To change an attribute, specify the new value. To remove an attribute, specify the value as an empty string or empty object.

As a best practice, you should include the version field in the request to enable optimistic concurrency control. 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 change a card on file, call DeleteCustomerCard to delete the existing card and then call CreateCustomerCard to create a new card.


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.

family_name
string

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

company_name
string

A business name associated with the customer profile.

nickname
string

A nickname for the customer profile.

email_address
string

The email address associated with the customer profile.

address
Address

The physical address associated with the customer profile.

phone_number
string

The 11-digit phone number associated with the customer profile.

reference_id
string

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

note
string

A custom note associated with the customer profile.

birthday
string

The birthday associated with the customer profile, in RFC 3339 format. The year is optional. The timezone and time are not allowed. For example, 0000-09-21T00:00:00-00:00 represents a birthday on September 21 and 1998-09-21T00:00:00-00:00 represents a birthday on September 21, 1998. You can also specify this value in YYYY-MM-DD format.

version
integer (64-bit)

Beta

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.

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: 2021-05-13' \
  -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
  }
}

Share Feedback

Thanks for visiting the Square API documentation. What's on your mind?