Skip to main content

Signup & Trial Lifecycle

FeatureSignals uses a verify-first OTP-based signup flow. Every new account starts with a 14-day free trial with full Pro-level access. After the trial ends, the account automatically downgrades to the permanent Free plan.


Verify-First Signup (OTP)

New user registration is a 2-step process that verifies email ownership before creating any permanent records:

Step 1 — Initiate Signup

POST /v1/auth/initiate-signup

Sends a 6-digit OTP to the user's email via the configured email provider.

Request

{
"email": "jane@company.com",
"password": "SecurePass123!",
"name": "Jane Smith",
"org_name": "Acme Inc"
}
FieldTypeRequiredDescription
emailstringYesMust be a valid, non-disposable email
passwordstringYesMin 8 chars, 1 upper, 1 lower, 1 digit, 1 special
namestringYesDisplay name
org_namestringYesOrganization name

Response 200 OK

{
"message": "Verification code sent to your email",
"expires_in": 600
}

Step 2 — Complete Signup

POST /v1/auth/complete-signup

Verifies the OTP and creates the user, organization, and default project atomically.

Request

{
"email": "jane@company.com",
"otp": "123456"
}

Response 201 Created

{
"user": { "id": "uuid", "email": "jane@company.com", "name": "Jane Smith", ... },
"organization": { "id": "uuid", "name": "Acme Inc", "plan": "trial", "trial_expires_at": "2026-04-18T00:00:00Z", ... },
"tokens": { "access_token": "eyJ...", "refresh_token": "eyJ...", "expires_at": 1711929600 }
}

Resend OTP

POST /v1/auth/resend-signup-otp

Request

{
"email": "jane@company.com"
}

Rate-limited to one resend every 60 seconds. OTP expires after 10 minutes.


Trial Lifecycle

PhaseDurationDescription
Trial14 daysFull Pro features, no credit card required
FreePermanentAuto-downgrade after trial expires. Existing data preserved.
ProSubscriptionUpgrade via PayU at any time
EnterpriseContact SalesCustom pricing and limits

Free Plan Limits

ResourceLimit
Projects3
Environments per project3
Team seats3

Trial Expiry Enforcement

When a trial expires, the TrialExpiry middleware automatically downgrades the org to the Free plan. Management API calls continue to work within Free plan limits.


Account Deletion Policy

Free-tier accounts that show no login activity for 90 days are soft-deleted. Soft-deleted accounts have a 90-day grace period during which logging back in restores the account. After the grace period, the account is permanently hard-deleted.


Sales Inquiry (Enterprise)

POST /v1/sales/inquiry

Submit an Enterprise plan inquiry.

Request

{
"contact_name": "Jane Smith",
"email": "jane@company.com",
"company": "Acme Inc",
"team_size": "50-100",
"message": "We need SSO and custom SLAs."
}

Response 201 Created

{
"message": "Thank you! Our team will be in touch within 1 business day."
}

Deprecated Endpoints

The following demo endpoints have been removed:

  • POST /v1/demo/session — Anonymous demo sessions are no longer supported
  • POST /v1/demo/convert — Removed (demo-to-permanent conversion)
  • POST /v1/demo/select-plan — Removed (plan selection during demo conversion)
  • POST /v1/demo/feedback — Removed

All new users should use the verify-first signup flow above.