Skip to main content
POST
/
auth
/
register
Register a new user
curl --request POST \
  --url https://api.engagefabric.com/auth/register \
  --header 'Content-Type: application/json' \
  --data '
{
  "tenantId": "123e4567-e89b-12d3-a456-426614174000",
  "email": "user@example.com",
  "name": "John Doe",
  "password": "SecurePassword123!"
}
'
{
  "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "refreshToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "tokenType": "Bearer",
  "expiresIn": 86400,
  "user": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "email": "user@example.com",
    "name": "John Doe",
    "tenantId": "123e4567-e89b-12d3-a456-426614174000",
    "role": "ADMIN",
    "emailVerified": true
  }
}

Body

application/json
tenantId
string
required

Tenant ID to join

Example:

"123e4567-e89b-12d3-a456-426614174000"

email
string
required

User email address

Example:

"user@example.com"

name
string
required

User full name

Required string length: 2 - 255
Example:

"John Doe"

password
string
required

User password (min 8 chars, must include uppercase, lowercase, number)

Minimum string length: 8
Example:

"SecurePassword123!"

Response

User registered successfully

accessToken
string
required

Access token (JWT)

Example:

"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."

refreshToken
string
required

Refresh token

Example:

"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."

tokenType
string
required

Token type

Example:

"Bearer"

expiresIn
number
required

Token expiration time in seconds

Example:

86400

user
object
required

User information

Example:
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"email": "user@example.com",
"name": "John Doe",
"tenantId": "123e4567-e89b-12d3-a456-426614174000",
"role": "ADMIN",
"emailVerified": true
}