Skip to main content
POST
/
auth
/
complete-profile
Complete profile for OAuth users
curl --request POST \
  --url https://api.engagefabric.com/auth/complete-profile \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "companyName": "Acme Corporation",
  "captchaToken": "0.AbCdEfGhIjKlMnOpQrStUvWxYz...",
  "acceptedTerms": true,
  "applicationNote": "We run an EdTech platform with 10k MAUs and want to reduce churn by adding gamification."
}
'
{
  "message": "<string>",
  "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",
    "profileCompleted": true
  }
}

Authorizations

Authorization
string
header
required

JWT token for admin console authentication

Body

application/json
companyName
string
required

Company/Organization name

Required string length: 2 - 255
Example:

"Acme Corporation"

captchaToken
string
required

Cloudflare Turnstile CAPTCHA token

Example:

"0.AbCdEfGhIjKlMnOpQrStUvWxYz..."

acceptedTerms
boolean
required

User has accepted terms of service

Example:

true

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."

Response

Profile completed successfully

message
string
required

Success message

tenant
object
required

Updated tenant information

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

Updated user information

Example:
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"email": "admin@acme.com",
"name": "John Doe",
"role": "OWNER",
"profileCompleted": true
}