1. Health Check
GET /ping
Returns API health status and version.
{ "ok": true, "version": "1.0.0" }
2. User Authentication
POST /signup
Create a new user account.
Request Body:{
"name": "John Doe",
"email": "john@example.com",
"password": "123456",
"phone": "9876543210"
}
Response:
{ "message": "Signup successful" }
POST /login
Authenticate a user and get a JWT token.
Request Body:{
"email": "john@example.com",
"password": "123456"
}
Response:
{
"message": "Login successful",
"token": "",
"user": {
"id": 1,
"name": "John Doe",
"email": "john@example.com",
"phone": "9876543210"
}
}
GET /validate
Validate a user session using a JWT token.
Headers:Authorization: Bearer <token>Response:
{ "valid": true, "user": { ... } }
PUT /update-account
Update user profile fields (name, phone).
Headers:Authorization: Bearer <token>Request Body:
{ "name": "Jane Doe", "phone": "9876500000" }
Response:
{ "message": "Account updated", "user": { ... } }
3. OTP Management
POST /send-otp
Send a one-time password (OTP) to user's email.
Request Body:{ "email": "john@example.com" }
Response:
{ "message": "OTP sent successfully" }
POST /verify-otp
Verify a one-time password (OTP).
Request Body:{
"email": "john@example.com",
"otp": "123456"
}
Response:
{ "message": "OTP verified successfully" }
4. Error Responses
{ "message": "Internal server error" }
{ "message": "Invalid email or password" }
{ "message": "No token provided" }