Skip to main content
POST
/
auth
/
signup
curl -X POST "https://api.tktchurch.com/v1/auth/signup" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "password": "securePassword123",
    "firstName": "John",
    "lastName": "Doe"
  }'
{
  "status": 201,
  "message": "Account created successfully. Please check your email for verification."
}
This is a public endpoint that does not require authentication.

Request Body

email
string
required
Email address for the new account. Must be unique in the system.
password
string
required
Password for the account. Must be at least 6 characters long.
firstName
string
User’s first name. Maximum 50 characters.
lastName
string
User’s last name. Maximum 50 characters.

Response

A successful request returns HTTP 201 Created status. The user will receive:
  1. A verification email with a token to verify their email address
  2. A welcome email
The account is created with:
  • Status: active
  • Provider: local
  • Role: Member (default role)
  • emailVerified: false
  • phoneNumberVerified: false

Error Responses

error
object
Error details when the request fails
Common error cases:
  • 400 Bad Request: Invalid email format or password too short
  • 400 Bad Request: Email already exists
  • 500 Internal Server Error: Default role not found
curl -X POST "https://api.tktchurch.com/v1/auth/signup" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "password": "securePassword123",
    "firstName": "John",
    "lastName": "Doe"
  }'
{
  "status": 201,
  "message": "Account created successfully. Please check your email for verification."
}