Create a customer
Creates a customer profile. Email and first name are required, and email and mobile number must not already belong to another customer. The customer number (e.g. CUS-000-2026-00042) is assigned by the system and returned in the response with status 201.
How to use it
- Send at least email and firstName, plus any contact, address and category details.
- The customer number is generated and returned; use it for Get, Update, Partially update and Delete a customer and on carts.
- Add India GST details afterwards with Partially update a customer.
BearerAuthAuthorizationBearer <JWT>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 POST 'https://beta.iotoms.com/api/v1/crm/customers' \ -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"}