Skip to main content
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
Basic user information.
string
User’s unique identifier.
string
User’s email address.
string
User’s full name.
string
User’s role (always “seller” for public registration).

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: false and is_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