API reference
8 operations in onboarding. Raw spec: openapi.json.
GET
/api/v1/onboardingGET /api/onboarding — the caller's effective onboarding state: the org wizard's per-step flags + live gate checks, and (admin callers only) every active member's user-level onboarding state.
Responses
| Status | Description |
|---|---|
200 |
Security: bearer
POST
/api/v1/onboarding/disablePOST /api/onboarding/disable — org-wide master switch (Settings → Onboarding). True disables every onboarding flow org-wide (both the wizard banner and member first-run); false re-enables — state is kept, so flows resume exactly where they were left.
Request body
OnboardingDisableRequest
Responses
| Status | Description |
|---|---|
200 | |
403 |
Security: bearer
POST
/api/v1/onboarding/org/steps/{step}/completePOST /api/onboarding/org/steps/{step}/complete — record server-gated completion. Owner/admin only (the wizard is an owner/admin flow).
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
step | path | string | Yes | org wizard step id |
Responses
| Status | Description |
|---|---|
200 | |
403 | |
409 | gate not yet satisfied |
Security: bearer
POST
/api/v1/onboarding/org/steps/{step}/skipPOST /api/onboarding/org/steps/{step}/skip — owner/admin records the skip choice. `never: true` persists the dismissed flag ("never show this again"); false is the "skip for now" no-op (the step stays pending and resumable).
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
step | path | string | Yes | org wizard step id |
Request body
OnboardingSkipRequest
Responses
| Status | Description |
|---|---|
200 | |
403 |
Security: bearer
POST
/api/v1/onboarding/reset/orgPOST /api/onboarding/reset/org — admin re-run of the org wizard: clears every per-step flag (the flows_disabled switch is untouched on purpose; re-running a disabled family stays silent until re-enabled).
Responses
| Status | Description |
|---|---|
200 | |
403 |
Security: bearer
POST
/api/v1/onboarding/reset/userPOST /api/onboarding/reset/user — re-run one member's first-run flow (admin re-trigger) or the CALLER's own. Clears that user's onboarding flags so every step resumes pending.
Request body
OnboardingTriggerRequest
Responses
| Status | Description |
|---|---|
200 | |
403 |
Security: bearer
POST
/api/v1/onboarding/user/steps/{step}/completePOST /api/onboarding/user/steps/{step}/complete — the caller records progress on their OWN first-run flow. Profile/mfa gates are server-verified; orientation/defaults record on click (they are pure UI milestones by design).
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
step | path | string | Yes | user onboarding step id |
Responses
| Status | Description |
|---|---|
200 | |
403 | |
409 | gate not yet satisfied |
Security: bearer
POST
/api/v1/onboarding/user/steps/{step}/skipPOST /api/onboarding/user/steps/{step}/skip — self-scoped skip recording (same never/skip-for-now semantics as the org steps).
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
step | path | string | Yes | user onboarding step id |
Request body
OnboardingSkipRequest
Responses
| Status | Description |
|---|---|
200 |
Security: bearer