Onboarding Module โ
The Onboarding module stores first-run wizard answers on the users row (ALTER TABLE โ no new tables): acquisition, team size, business profile, and privacy consent.
Core completion (first_time = false) works without installing the module. Install the schema when you want those answers persisted and readable.
Ownership matrix (canonical) โ
| Concern | Component | Write | Read |
|---|---|---|---|
users.first_time | Core auth | POST /auth/user/me/onboarding/complete | GET /auth/user/me |
Acquisition + team_size_range | core / base.sql | complete only | never on GET |
Business (is_business, biz_* incl. biz_postal_code) | ext-business | PUT /auth/user/me or complete | GET /auth/user/me |
Privacy (GDPR/CCPA / privacy_region) | ext-privacy | /auth/user/me/privacy* (complete for first-run only) | GET me + GET privacy |
Related component docs: Business ยท Privacy
Friendly rule โ
- Optionally install
onboardingvia Module Hub (target: "all"recommended). - Call
POST /auth/user/me/onboarding/completewith{}or wizard fields (setsfirst_time=false; may upsert acquisition / biz / privacy). - Read profile with
GET /auth/user/me(biz + privacy; no acquisition). - Later: Privacy routes for GDPR/CCPA; Business /
PUT /auth/user/mefor company profile.
Activation / install โ
http
POST /api/v1/modules/install/onboarding/run
Content-Type: application/jsonjson
{
"target": "all",
"runtime_scope": "flowless-core"
}Ultra rate limits: complete 10/10min; privacy writes 20/10min.
Admin analytics โ
| Method | Path |
|---|---|
GET | /auth/admin/analytics/acquisition |
GET | /auth/admin/analytics/acquisition/funnel |
GET | /auth/users with is_business / biz_country / privacy_region |
PATCH | /auth/admin/users/:id/privacy |
See Admin API.
Read the API docs โ
- Onboarding API overview
- Business API
- Privacy API
- Onboarding operations
- Business operations
- Privacy operations
- Complete onboarding
- Get current user
- Module Hub dry-run
- Modules overview