POST
/api/auth/register
Public
Request Body:
{
"email": "admin@example.com", // Required
"password": "password123", // Required, min 6 chars
"firstName": "John", // Optional
"lastName": "Doe", // Optional
"phone": "+1234567890", // Optional
"role": "SHOP_MANAGER" // Optional, defaults to SHOP_MANAGER (ADMIN cannot be created via API)
}
Response (201 Created):
{
"success": true,
"message": "User registered successfully",
"data": {
"user": {
"id": "user-id",
"email": "admin@example.com",
"firstName": "John",
"lastName": "Doe",
"role": "SHOP_MANAGER",
"createdAt": "2025-12-07T00:00:00.000Z"
},
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}
}
POST
/api/auth/login
Public
Request Body:
{
"email": "admin@example.com", // Required
"password": "password123" // Required
}
Response (200 OK):
{
"success": true,
"data": {
"user": { /* user object */ },
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}
}
GET
/api/auth/me
Auth Required
Headers:
Authorization: Bearer YOUR_EMPLOYEE_TOKEN