Base URL: https://authentication-user-dashboard-app.onrender.com/api (or http://localhost:3000/api locally)
| Method | Endpoint | Description | Auth Required |
|---|---|---|---|
| POST | /createUser |
Register a new user | No |
| POST | /loginUser |
Log in an existing user | No |
| POST | /logoutUser |
Log out the current user | Yes (cookie) |
| GET | /profile |
Get the authenticated user’s profile | Yes (cookie) |
| PUT | /profile |
Update user profile (e.g., name, country) | Yes (cookie) |
| POST | /requestPasswordReset |
Request a password reset email | No |
| POST | /resetPassword |
Reset password using verification code | No |
Request/Response Examples
-
POST /createUser
Request body:{ "email": "user@example.com", "password": "yourPassword", "name": "John Doe", "country": "US" }Response (201 Created):
{ "message": "User created. Please verify your email." } -
POST /loginUser
Request body:{ "email": "user@example.com", "password": "yourPassword", "recaptchaToken": "..." }Response (200 OK): sets
dashboard.sidcookie and returns user data.
| Method | Endpoint | Description | Auth Required |
|---|---|---|---|
| POST | / |
Send email verification code (signup) | No |
| POST | /verifyCode |
Verify the 6‑digit code | No |
| Method | Endpoint | Description | Auth Required |
|---|---|---|---|
| POST | /upload |
Upload a profile image (multipart/form-data) | Yes (cookie) |
| DELETE | /:imagePublicId |
Delete a profile image by Cloudinary public ID | Yes (cookie) |
| Method | Endpoint | Description | Auth Required |
|---|---|---|---|
| GET | / |
Fetch list of countries (uses REST Countries API) | No |
Common HTTP status codes:
200 OK– Request succeeded201 Created– Resource created400 Bad Request– Invalid input (e.g., missing fields)401 Unauthorized– Missing or invalid authentication403 Forbidden– CSRF token missing/invalid429 Too Many Requests– Rate limit exceeded500 Internal Server Error– Server‑side error
All error responses include a message field describing the issue.