Register User
Authentication
Register User
Create a new seller account
POST
Register User
Endpoint
Authentication
No authentication required.Request Body
string
required
User’s email address. Must be a valid email format. Will be normalized and converted to lowercase.
string
required
User’s password. Must be at least 8 characters long.
string
required
User’s full name. Cannot be empty.
string
User’s phone number in international format (e.g., +5491112345678). Must match pattern:
^\+?[1-9][0-9]{7,14}$string
User role. Only “seller” is allowed for public registration. Admin accounts cannot be created via this endpoint.
Response
boolean
Indicates whether the registration was successful.
string
Human-readable message describing the result.
string
JWT authentication token. Expires in 7 days by default.
object
Example Request
Example Response
201 Success
Error Responses
error
Bad Request - Validation error.
error
Forbidden - Attempted to register as admin.
error
Conflict - Email already registered.
error
Server Error - Internal server error.
Notes
- Email addresses are automatically normalized and converted to lowercase
- Passwords are securely hashed using bcrypt with 12 salt rounds
- New users are created with
is_email_verified: falseandis_phone_verified: false - Seller profile is initialized with
verification_status: "pending" - The JWT token should be stored securely and included in subsequent requests requiring authentication

