Skip to main content

Regular User Signup

Creates a new user account with email and password authentication.

Request Body

email
string
required
User’s email address
password
string
required
User’s password
name
string
required
User’s full name

Response

message
string
Success message
user
object
Created user information
session
object
Supabase authentication session

Error Responses

error
string
Error message
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

email
string
required
Administrator’s email address
password
string
required
Administrator’s password
name
string
required
Administrator’s full name
adminSecret
string
required
Secret key for admin account creation. Must match the server’s ADMIN_SECRET_KEY environment variable.

Response

message
string
Success message
user
object
Created admin user information
session
object
Supabase authentication session

Error Responses

error
string
Error message
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
  }
}

Build docs developers (and LLMs) love