Skip to main content

Registration Flow

Overview​

The registration flow allows new customers to sign up for your SaaS platform. Depending on your configuration, registrations can be automatically approved or require manual review.

Registration Process​

flowchart TD
A[Customer fills registration form] --> B{Auto-approve enabled?}
B -->|Yes| C[Request auto-approved]
B -->|No| D[Request pending approval]
D --> E[Superadmin reviews]
E -->|Approve| C
E -->|Reject| F[Customer notified of rejection]
C --> G[Database provisioning starts]
G --> H[Admin account created]
H --> I[Organization created]
I --> J[User account created]
J --> K[Customer notified - ready to use]

Registration Form Fields​

FieldRequiredDescription
emailYesPrimary contact email
passwordYesAccount password (min 8 chars)
company_nameNoCompany/organization name
contact_nameNoContact person name
phoneNoContact phone
desired_org_nameNoPreferred organization name
desired_org_slugNoPreferred URL slug

API Endpoint​

Submit Registration​

POST /api/tenants/register
Content-Type: application/json

{
"email": "john@company.com",
"password": "securepassword123",
"company_name": "Acme Corp",
"contact_name": "John Doe",
"phone": "+1234567890",
"desired_org_name": "Acme Corp",
"desired_org_slug": "acme-corp"
}

Response​

{
"id": 1,
"email": "john@company.com",
"status": "pending_approval",
"message": "Registration submitted. You will be notified when approved."
}

Request Statuses​

StatusDescription
pending_approvalWaiting for superadmin review
auto_approvedAutomatically approved, ready for provisioning
approvedManually approved by superadmin
rejectedRejected by superadmin
provisioningDatabase being created
activeOrganization ready to use
failedProvisioning failed

Admin Review​

Superadmins can review pending registrations at: /admin/system/tenants/registrations

Approval Options​

When approving a registration, superadmin can override:

  • Organization name
  • Organization slug
  • Initial credit limit
  • Storage limit (GB)
  • Max users

Rejection​

When rejecting, a reason must be provided. The customer receives a notification with the rejection reason.

Configuration​

Auto-Approve Setting​

Enable/disable auto-approval in Platform Settings:

/admin/system/tenants → Platform Settings

Or via API:

PUT /api/tenants/settings
Authorization: Bearer {superadmin_token}
Content-Type: application/json

{
"auto_approve_registrations": true
}

UTM Tracking​

Registration requests can include UTM parameters for marketing attribution:

{
"email": "...",
"password": "...",
"utm_source": "google",
"utm_medium": "cpc",
"utm_campaign": "summer_sale"
}

These are stored with the registration request for analytics.