Skip to main content
POST
Register Job Seeker

Endpoint

Base URL: http://localhost:3000/api/v1
This endpoint is public and does not require authentication.

Request Body

string
required
User’s email address. Must be unique and valid format.
string
required
User’s password. Minimum 6 characters.
string
required
User’s first name.
string
required
User’s last name.

Request Shape

Response

Success Response (201 Created)

boolean
Indicates if the registration was successful.
object
Contains the registered user’s email.
string
Success message: “Registration successful. Please check your email to verify your account.”
object
Request metadata from global response interceptor.

What Happens After Registration

1

Account Created

User account is created in database with: - isVerified: false - isActive: true - profileImageUrl: null - lastLoginAt: null
2

Password Hashed

Password is securely hashed using bcrypt before storage
3

OTP Generated

A 6-digit OTP code is generated and stored in Redis (valid for 10 minutes)
4

Email Queued

Verification email with OTP is queued via BullMQ for async delivery
5

Next Step

User must verify email using the Verify Email endpoint

Error Responses

400 Bad Request - Validation Error

Returned when request validation fails.
Common validation errors:
  • email must be an email - Invalid email format
  • password must be longer than or equal to 6 characters - Password too short
  • firstName should not be empty - Missing first name
  • lastName should not be empty - Missing last name

409 Conflict - Email Already Exists

Returned when the email is already registered.
Solution: Use a different email or login with existing account.

500 Internal Server Error

Returned when an unexpected error occurs.
Error responses follow the global API envelope: success: false and an error object containing message, statusCode, timestamp, path, method, and details.

Validation Rules

Notes

Email Verification Required: Users cannot login until they verify their email using the OTP sent to their inbox.
OTP Expiration: The verification OTP expires after 10 minutes. If expired, users will need to request a new OTP.
Password Security: While the minimum is 6 characters, encourage users to create strong passwords with a mix of uppercase, lowercase, numbers, and special characters.