---
title: "Update a customer"
method: PUT
path: "/v1/customers/{customerId}"
tags: ["CUSTOMERS"]
---

# Update a customer

`PUT /v1/customers/{customerId}`

## Request

- Base URL: `https://scl-sandbox.dev.clover.com`
- URL: `https://scl-sandbox.dev.clover.com/v1/customers/{customerId}`
- Auth: OAuth 2
  - Authorization code: `https://sandbox.dev.clover.com/oauth/authorize`
  - Token URL: `https://sandbox.dev.clover.com/oauth/token`

Updates an existing customer profile, including a card associated with the customer.

## Path parameters

- `customerId` string, required

## Headers

- `User-Agent` string, required

## Request body

- object
  - `ecomind` 'ecom' | 'moto': Indicates who entered the card data used for a charge - customer (ecom) or merchant (moto).
  - `email` string, required: Customer's email address.
  - `firstName` string: Customer's first name.
  - `lastName` string: Customer's last name.
  - `name` string: Customer's full name.
  - `source` string, required: Payment source to charge, such as `token` or `ACH`.
  - `phone` string: Customer's phone number.
  - `shipping` Shipping
    - `address` Address, required
      - `city` string, nullable: City of the customer's address. Can include district, suburb, town, or village.
      - `country` string, nullable: Country code. Format: 2 characters
      - `line1` string, nullable: First line of the customer's address. Can include the street address, PO box, or company name.
      - `line2` string, nullable: Second line of the customer's address. Can include the apartment, suite, unit, or building number.
      - `postal_code` string, nullable: Postal or ZIP code of the customer's address.
      - `state` string, nullable: State of the customer's address. Can include county, province, or region.
    - `carrier` string, nullable: Delivery service to ship the physical product. Example: DHL, Fedex, US Postal Service (USPS), and so on.
    - `name` string, nullable: Recipient name for the shipped product.
    - `phone` string, nullable: Phone number, including extension, of the recipient.
    - `tracking_number` string, nullable: Shipment number provided by the carrier. Use a comma-separated list for multiple tracking numbers.

## Response `200`

Successful response. Customer record successfully updated.

- Customer
  - `created` integer, required: Displays results based on the object's created field. Values: String with a Unix timestamp (in milliseconds). Dictionary of multiple options describing a time range.
  - `currency` string: Three-letter [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html).
  - `default_source` string, nullable: Universally unique identifier (UUID) of the customer's default payment source.
  - `delinquent` boolean, nullable: For an invoice charged automatically, `delinquent` is `true` if the invoice's charge fails. For an invoice that is sent to the customer, `delinquent` is `true` if the invoice is not paid by its due date.
  - `description` string, nullable: Description about the customer.
  - `email` string, nullable: Customer email address.
  - `id` string, required: Unique identifier of the customer.
  - `metadata` object: Set of key-value pairs that you can attach to the object. This parameter is useful for storing additional information about the object in a structured format. Length: Maximum 500 characters
  - `object` 'customer', required: Object type. Objects with the same type have the same value.
  - `shipping` Shipping
    - `address` Address, required
      - `city` string, nullable: City of the customer's address. Can include district, suburb, town, or village.
      - `country` string, nullable: Country code. Format: 2 characters
      - `line1` string, nullable: First line of the customer's address. Can include the street address, PO box, or company name.
      - `line2` string, nullable: Second line of the customer's address. Can include the apartment, suite, unit, or building number.
      - `postal_code` string, nullable: Postal or ZIP code of the customer's address.
      - `state` string, nullable: State of the customer's address. Can include county, province, or region.
    - `carrier` string, nullable: Delivery service to ship the physical product. Example: DHL, Fedex, US Postal Service (USPS), and so on.
    - `name` string, nullable: Recipient name for the shipped product.
    - `phone` string, nullable: Phone number, including extension, of the recipient.
    - `tracking_number` string, nullable: Shipment number provided by the carrier. Use a comma-separated list for multiple tracking numbers.
  - `sources` object, required: Customer's payment `source`s if available
    - `data` string[], required: Payment sources of the customer.
    - `has_more` boolean, required: Set to `true` if there is another page of list items after the current page.
    - `object` 'list', required: Object type, set to list. Objects with the same type have the same value.
    - `url` string, required: URL of the list of sources

## Other responses

- `default`: Error response.

---

[API](https://skmtc.dev/clover/apis/ecommerce-service-api.md) - [All operations](https://skmtc.dev/clover/apis/ecommerce-service-api/llms.txt) - [OpenAPI document](https://skmtc.dev/clover/apis/ecommerce-service-api/revisions/a0aeb344ed80?raw)
