Skip to main content
POST
/
auth
/
register-tenant
Register a new tenant
curl --request POST \
  --url https://api.engagefabric.com/auth/register-tenant \
  --header 'Content-Type: application/json' \
  --data '
{
  "companyName": "Acme Corporation",
  "email": "admin@acme.com",
  "name": "John Doe",
  "password": "SecurePassword123!",
  "captchaToken": "0.AbCdEfGhIjKlMnOpQrStUvWxYz...",
  "acceptedTerms": true,
  "slug": "acme-corp",
  "applicationNote": "We run an EdTech platform with 10k MAUs and want to reduce churn by adding gamification.",
  "website": "<string>"
}
'
{
  "accessToken": "<string>",
  "refreshToken": "<string>",
  "tokenType": "Bearer",
  "expiresIn": 123,
  "tenant": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "name": "Acme Corporation",
    "slug": "acme-corp",
    "plan": "FREE",
    "alphaApprovalStatus": "PENDING"
  },
  "user": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "email": "admin@acme.com",
    "name": "John Doe",
    "role": "OWNER",
    "emailVerified": false
  },
  "redirectUrl": "https://admin.engagefabric.com/auth/callback"
}

Body

application/json
companyName
string
required

Company/Organization name

Required string length: 2 - 255
Example:

"Acme Corporation"

email
string
required

Admin user email address

Example:

"admin@acme.com"

name
string
required

Admin user full name

Required string length: 2 - 255
Example:

"John Doe"

password
string
required

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

Minimum string length: 8
Example:

"SecurePassword123!"

captchaToken
string
required

Cloudflare Turnstile CAPTCHA token

Example:

"0.AbCdEfGhIjKlMnOpQrStUvWxYz..."

acceptedTerms
boolean
required

User has accepted terms of service

Example:

true

slug
string

URL-friendly slug for the tenant (auto-generated from company name if not provided)

Required string length: 2 - 100
Example:

"acme-corp"

applicationNote
string

Optional note about why they want to join the alpha program

Maximum string length: 500
Example:

"We run an EdTech platform with 10k MAUs and want to reduce churn by adding gamification."

website
string

Honeypot field — must be empty (used for bot detection)

Response

Tenant and admin user created successfully

accessToken
string
required

Access token (JWT)

refreshToken
string
required

Refresh token

tokenType
string
required

Token type

Example:

"Bearer"

expiresIn
number
required

Token expiration time in seconds

tenant
object
required

Created tenant information

Example:
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "Acme Corporation",
"slug": "acme-corp",
"plan": "FREE",
"alphaApprovalStatus": "PENDING"
}
user
object
required

Created admin user information

Example:
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"email": "admin@acme.com",
"name": "John Doe",
"role": "OWNER",
"emailVerified": false
}
redirectUrl
string
required

URL to redirect user to after signup

Example:

"https://admin.engagefabric.com/auth/callback"