Skip to main content
Updates an existing customer’s information by ID.
This endpoint can also be called using PATCH /v1/customers/{customer_id} for REST-style updates.

Request Body

string
required
ID of the customer to update.
string
Customer’s name. Pass null to clear the value.
string
Customer’s email address. Must be a valid email format. Pass null to clear the value.
string
Unique identifier (eg. serial number, device ID) to detect duplicate customers. Pass null to clear the value.
object
Additional metadata for the customer. Pass null to clear all metadata, or provide an object to merge with existing metadata.
string
Stripe customer ID. Use this to link the customer to an existing Stripe customer. Pass null to clear the value.
boolean
Whether to send email receipts to this customer.
string
New ID for the customer if you want to change their identifier. The new ID must follow the same validation rules as the original ID (no @, spaces, or periods).

Response

Returns the updated Customer object with the following fields:
string
Your unique identifier for the customer (or the new ID if new_customer_id was provided).
string
The updated name of the customer.
string
The updated email address of the customer.
number
Timestamp of customer creation in milliseconds since epoch (unchanged).
string
The updated fingerprint identifier for the customer.
string
Updated Stripe customer ID.
string
The environment this customer was created in (sandbox or live).
object
The updated metadata for the customer.
boolean
Whether email receipts are enabled for this customer.
array
Active and scheduled recurring plans (unchanged by this operation).
array
One-time purchases (unchanged by this operation).
object
Feature balances (unchanged by this operation).

Example Requests

Example Response

Notes

  • Only the fields you provide in the request will be updated. Other fields remain unchanged.
  • To clear a nullable field, explicitly pass null as the value.
  • When updating metadata, the provided object is merged with existing metadata. To completely replace metadata, pass the complete new object.
  • Changing the customer ID with new_customer_id will update the ID across all related records (subscriptions, balances, etc.).