Update a customer
Replaces a customer's profile, identified by customer number, with the details in the body. Optional contact, address, date of birth and category fields that are left out are cleared, and status reverts to ACTIVE if not sent. Tax identity fields (GSTIN, VAT and similar) are not changed by this call.
How to use it
- Get the customer number from List customers or Create a customer.
- Fetch the current profile with Get a customer and send it back in full with your changes; email and firstName are required.
- Fields you leave out are cleared, so use Partially update a customer to change just a few fields.
BearerAuthAuthorizationBearer <JWT>customerId*stringCustomer number, e.g. CUS-000-2026-00042, as returned by Create a customer or List customers.
application/json- body
id?|Internal numeric ID. Set by the server. Customers are addressed by customerNumber in URLs, not by this ID.
int64email*stringCustomer's email address. Required, must be a valid email and unique across customers.
mobileNumber?|Mobile number, up to 20 characters. Must be unique across customers when set.
0 <= length <= 20countryCode?|Dialling or country code that goes with the phone numbers, up to 10 characters, e.g. +971.
0 <= length <= 10landPhoneNumber?|Landline number, up to 20 characters.
0 <= length <= 20firstName*stringFirst name. Required, up to 255 characters.
0 <= length <= 255lastName?|Last name, up to 255 characters.
0 <= length <= 255city?|City of the customer's address.
0 <= length <= 255state?|State, province or emirate of the customer's address, as free text.
0 <= length <= 255country?|Country of the customer's address, as free text.
0 <= length <= 255zipCode?|Postal or ZIP code, up to 20 characters.
0 <= length <= 20profileImageUrl?|URL of the customer's photo or avatar, up to 1024 characters.
0 <= length <= 1024status*stringACTIVE, INACTIVE, ARCHIVED or DELETED. Defaults to ACTIVE. List customers returns only ACTIVE by default when any filter is used.
"ACTIVE""INACTIVE""ARCHIVED""DELETED"dob?|Date of birth, YYYY-MM-DD.
datecategory?|Merchant-defined customer group, e.g. "Wholesale", up to 64 characters. Filterable by exact match.
0 <= length <= 64modifiedTime*stringWhen the profile was last changed, ISO 8601 date-time. Defaults to the current time if not sent.
date-timecreatedTime*stringWhen the profile was created, ISO 8601 date-time. Defaults to the current time if not sent.
date-timeOK
*/*- response
id?|Internal numeric ID. Set by the server. Customers are addressed by customerNumber in URLs, not by this ID.
int64customerNumber*stringUnique customer number, e.g. CUS-000-2026-00042. Set by the server on create; used in the URL of every single-customer call.
email*stringCustomer's email address. Required, must be a valid email and unique across customers.
mobileNumber?|Mobile number, up to 20 characters. Must be unique across customers when set.
countryCode?|Dialling or country code that goes with the phone numbers, up to 10 characters, e.g. +971.
landPhoneNumber?|Landline number, up to 20 characters.
firstName*stringFirst name. Required, up to 255 characters.
lastName?|Last name, up to 255 characters.
city?|City of the customer's address.
state?|State, province or emirate of the customer's address, as free text.
country?|Country of the customer's address, as free text.
zipCode?|Postal or ZIP code, up to 20 characters.
profileImageUrl?|URL of the customer's photo or avatar, up to 1024 characters.
status*stringACTIVE, INACTIVE, ARCHIVED or DELETED. Defaults to ACTIVE. List customers returns only ACTIVE by default when any filter is used.
"ACTIVE""INACTIVE""ARCHIVED""DELETED"dob?|Date of birth, YYYY-MM-DD.
datecategory?|Merchant-defined customer group, e.g. "Wholesale", up to 64 characters. Filterable by exact match.
modifiedTime*stringWhen the profile was last changed, ISO 8601 date-time. Defaults to the current time if not sent.
date-timecreatedTime*stringWhen the profile was created, ISO 8601 date-time. Defaults to the current time if not sent.
date-timegstin?|India: the customer's 15-character GST identification number. Set via Partially update a customer.
panNumber?|India: the customer's 10-character PAN (tax ID).
gstRegistrationType?|India: GST status - REGULAR, COMPOSITION, UNREGISTERED, CONSUMER (B2C), SEZ or OVERSEAS. Null means not stated. Set via Partially update a customer.
"REGULAR""COMPOSITION""UNREGISTERED""CONSUMER""SEZ""OVERSEAS"nullgstStateCode?|India: two-character GST state code of the buyer, used to work out the place of supply.
vatRegistrationNumber?|The customer's VAT registration number, up to 20 characters; shown on VAT reports and the EC Sales List.
vatCountryCode?|Two-letter country code of the customer's VAT registration, e.g. DE.
euVatValidated*booleantrue when the customer's EU VAT number has been validated. Only validated customers appear on the EC Sales List.
euVatExempt*booleanMarks the customer as exempt from EU VAT. Stored for reference only; it does not currently change how VAT is charged or reported.
taxExemptionNumber?|US: sales-tax exemption certificate number, shown on Americas tax reports.
taxExemptionState?|US: state that issued the tax exemption certificate.
rfcNumber?|Mexico: the customer's RFC tax ID, up to 13 characters.
createdViaAi*booleantrue when the customer was created through the AI assistant or an AI data import. Set by the server.
aiSessionId?|ID of the AI assistant or AI import session that created or last changed the customer, if any. Set by the server.
curl -X PUT 'https://beta.iotoms.com/api/v1/crm/customers/string' \ -H 'Content-Type: application/json' \ -d '{ "email": "string", "firstName": "string", "status": "ACTIVE", "modifiedTime": "2019-08-24T14:15:22Z", "createdTime": "2019-08-24T14:15:22Z"}'{ "id": 0, "customerNumber": "string", "email": "string", "mobileNumber": "string", "countryCode": "string", "landPhoneNumber": "string", "firstName": "string", "lastName": "string", "city": "string", "state": "string", "country": "string", "zipCode": "string", "profileImageUrl": "string", "status": "ACTIVE", "dob": "2019-08-24", "category": "string", "modifiedTime": "2019-08-24T14:15:22Z", "createdTime": "2019-08-24T14:15:22Z", "gstin": "string", "panNumber": "string", "gstRegistrationType": "REGULAR", "gstStateCode": "string", "vatRegistrationNumber": "string", "vatCountryCode": "string", "euVatValidated": true, "euVatExempt": true, "taxExemptionNumber": "string", "taxExemptionState": "string", "rfcNumber": "string", "createdViaAi": true, "aiSessionId": "string"}