Regular User Signup
Creates a new user account with email and password authentication.
Request Body
Response
Supabase authentication session
JWT access token for authenticated requests
Token for refreshing the access token
Token expiration time in seconds
Error Responses
Status Codes:
400 - Bad request (e.g., email already exists, invalid email format)
500 - Internal server error
Example Request
curl -X POST https://api.vaniyk.com/api/auth/signup \
-H "Content-Type: application/json" \
-d '{
"email": "[email protected]",
"password": "securePassword123",
"name": "John Doe"
}'
Example Response
{
"message": "User created successfully",
"user": {
"id": "507f1f77bcf86cd799439011",
"email": "[email protected]",
"name": "John Doe"
},
"session": {
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"refresh_token": "v1.MRjoP7GqRGKK9Sh91...",
"expires_in": 3600
}
}
Admin User Signup
Creates a new administrator account with elevated privileges. Requires a valid admin secret key.
Request Body
Administrator’s email address
Administrator’s full name
Secret key for admin account creation. Must match the server’s ADMIN_SECRET_KEY environment variable.
Response
Created admin user information
Administrator’s email address
Administrator’s full name
User role (always “admin” for this endpoint)
Supabase authentication session
JWT access token for authenticated requests
Token for refreshing the access token
Token expiration time in seconds
Error Responses
Status Codes:
400 - Bad request (e.g., email already exists, invalid email format)
403 - Forbidden (invalid admin secret)
500 - Internal server error
Example Request
curl -X POST https://api.vaniyk.com/api/auth/signup/admin \
-H "Content-Type: application/json" \
-d '{
"email": "[email protected]",
"password": "adminSecurePass456",
"name": "Jane Admin",
"adminSecret": "your-admin-secret-key"
}'
Example Response
{
"message": "Admin user created successfully",
"user": {
"id": "507f1f77bcf86cd799439012",
"email": "[email protected]",
"name": "Jane Admin",
"role": "admin"
},
"session": {
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"refresh_token": "v1.MRjoP7GqRGKK9Sh91...",
"expires_in": 3600
}
}