Register Customer
Create a new customer account with email, password, and optional profile information.
Endpoint
POST /api/shop/customersRequest Headers
| Header | Required | Description |
|---|---|---|
Content-Type | Yes | application/json |
X-STOREFRONT-KEY | Yes | Your storefront API key |
Request Body
json
{
"firstName": "John",
"lastName": "Doe",
"email": "[email protected]",
"password": "Password123!",
"confirmPassword": "Password123!",
"phone": "1234567890",
"gender": "Male",
"dateOfBirth": "1990-01-15",
"subscribedToNewsLetter": true
}| Field | Type | Required | Description |
|---|---|---|---|
firstName | string | Yes | Customer first name |
lastName | string | Yes | Customer last name |
email | string | Yes | Unique email address |
password | string | Yes | Password (min 8 chars, mixed case, numbers, special) |
confirmPassword | string | Yes | Password confirmation (must match) |
phone | string | No | Phone number |
gender | string | No | Customer gender (Male/Female) |
dateOfBirth | string | No | Date of birth (YYYY-MM-DD) |
subscribedToNewsLetter | boolean | No | Newsletter subscription (default: false) |
Response Fields (201 Created)
| Field | Type | Description |
|---|---|---|
id | integer | Customer ID |
firstName | string | Customer first name |
lastName | string | Customer last name |
email | string | Customer email |
phone | string | Customer phone |
gender | string | Customer gender |
dateOfBirth | string | Customer date of birth |
apiToken | string | API authentication token |
token | string | Session token |
status | integer | Account status (1=active, 0=inactive) |
subscribedToNewsLetter | boolean | Newsletter subscription status |
isVerified | integer | Email verification status (0=not verified) |
isSuspended | integer | Suspension status (0=active) |
name | string | Full customer name |
customerGroupId | mixed | Customer group ID |
channelId | mixed | Channel ID |
rememberToken | mixed | Remember token |
Password Requirements
Passwords must contain:
- Minimum 8 characters
- At least one uppercase letter (A-Z)
- At least one lowercase letter (a-z)
- At least one number (0-9)
- At least one special character (!@#$%^&*)

