---
title: "Update a customer"
method: PUT
path: "/customers/{customer_id}"
tags: ["Customers"]
---

# Update a customer

`PUT /customers/{customer_id}`

Updates the customer with the requested ID.

🔒 Requires: `customers:write` scope

## Path parameters

- `customer_id` string, required

## Request body

- CustomerBase
  - `company_name` string, nullable — Company name.
  - `custom_field_1` string, nullable — Custom field 1. Can be used to store random data.
  - `custom_field_2` string, nullable — Custom field 2.
  - `custom_field_3` string, nullable — Custom field 3.
  - `custom_field_4` string, nullable — Custom field 4.
  - `customer_code` string — Customer code used for claiming loyalty.
  - `customer_group_id` string — Customer group ID.
  - `date_of_birth` string — Birthday.
  - `do_not_email` boolean — Indicates whether the customer opted out of email communications.
  - `email` string, nullable — Customer's email address.
  - `enable_loyalty` boolean
  - `enable_promotional_sms` boolean — Indicates whether the customer opted in to SMS communications.
  - `fax` string, nullable — Fax no.
  - `first_name` string, nullable, required — Customer's first name.
  - `gender` string, nullable — Customer's gender. Can be `M`, `F` or null.
  - `last_name` string, nullable, required — Customer 's last name.
  - `mobile` string, nullable — Mobile phone no.
  - `note` string, nullable — Customer note.
  - `on_account_limit` number, double, nullable — Customer's OnAccount Limit.
  - `phone` string, nullable — Phone no.
  - `physical_address_1` string, nullable — Physical address, line 1.
  - `physical_address_2` string, nullable — Physical address, line 2.
  - `physical_city` string, nullable — Physical address, city.
  - `physical_country_id` string, nullable — Physical address, country code.
  - `physical_postcode` string, nullable — Physical address, post code.
  - `physical_state` string, nullable — Physical address, state.
  - `physical_suburb` string, nullable — Physical address, suburb.
  - `postal_address_1` string, nullable — Postal address, line 1.
  - `postal_address_2` string, nullable — Postal address, line 2.
  - `postal_city` string, nullable — Postal address, city.
  - `postal_country_id` string, nullable — Postal address, country code.
  - `postal_postcode` string, nullable — Postal address, post code.
  - `postal_state` string, nullable — Postal address, state.
  - `postal_suburb` string, nullable — Postal address, suburb.
  - `tax_id` string, nullable — Customer's tax ID.
  - `twitter` string, nullable — Twitter handle.
  - `website` string, nullable — Website URL.

## Response `200`

- CustomerResponse
  - `data` Customer
    - `balance` number, double — Customer's unpaid balance.
    - `company_name` string, nullable — Company name.
    - `created_at` string — Creation timestamp in UTC.
    - `custom_field_1` string, nullable — Custom field 1. Can be used to store random data.
    - `custom_field_2` string, nullable — Custom field 2.
    - `custom_field_3` string, nullable — Custom field 3.
    - `custom_field_4` string, nullable — Custom field 4.
    - `customer_code` string — Customer code used for claiming loyalty.
    - `customer_group_id` string — Customer group ID.
    - `date_of_birth` string, nullable — Birthday.
    - `deleted_at` string, nullable — Deletion timestamp in UTC.
    - `do_not_email` boolean — Indicates whether the customer opted out of email communications.
    - `email` string, nullable — Customer's email address.
    - `enable_loyalty` boolean
    - `enable_promotional_sms` boolean — Indicates whether the customer opted in to SMS communications.
    - `fax` string, nullable — Fax no.
    - `first_name` string, nullable, required — Customer's first name.
    - `gender` string, nullable — Customer's gender. Can be `M`, `F` or null.
    - `id` string — Auto-generated object ID.
    - `last_name` string, nullable, required — Customer 's last name.
    - `loyalty_balance` number, double — Customer's loyalty balance.
    - `mobile` string, nullable — Mobile phone no.
    - `name` string, nullable — Customers full name. **deprecated**
    - `note` string, nullable — Customer note.
    - `on_account_limit` number, double, nullable — Customer's OnAccount Limit.
    - `phone` string, nullable — Phone no.
    - `physical_address_1` string, nullable — Physical address, line 1.
    - `physical_address_2` string, nullable — Physical address, line 2.
    - `physical_city` string, nullable — Physical address, city.
    - `physical_country_id` string, nullable — Physical address, country code.
    - `physical_postcode` string, nullable — Physical address, post code.
    - `physical_state` string, nullable — Physical address, state.
    - `physical_suburb` string, nullable — Physical address, suburb.
    - `postal_address_1` string, nullable — Postal address, line 1.
    - `postal_address_2` string, nullable — Postal address, line 2.
    - `postal_city` string, nullable — Postal address, city.
    - `postal_country_id` string, nullable — Postal address, country code.
    - `postal_postcode` string, nullable — Postal address, post code.
    - `postal_state` string, nullable — Postal address, state.
    - `postal_suburb` string, nullable — Postal address, suburb.
    - `tax_id` string, nullable — Customer's tax ID.
    - `twitter` string, nullable — Twitter handle.
    - `updated_at` string — Last update timestamp in UTC.
    - `version` integer — Auto-incrementing object version number.
    - `website` string, nullable — Website URL.
    - `year_to_date` number, double — Customer's spending this year.

---

[API](https://skmtc.net/lightspeedhq/apis/api-2026-07.md) · [All operations](https://skmtc.net/lightspeedhq/apis/api-2026-07/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lightspeedhq/api-2026-07/revisions/72d4ceb46dbb/schema)
