Feature · Paywalls & targeting
Onboarding flows
An onboarding flow is a sequence of screens the SDK renders before the paywall. Build it once in the dashboard; ship it to every platform; iterate without an app update.
Step types
| Type | Config |
|---|---|
welcome | title, subtitle, image_url, cta_label |
question | question, mode: single|multi, options[] |
value_prop | title, bullets[], image_url |
loading | messages[], duration_ms (rotating "personalizing your experience" screen) |
paywall | offering_slug (falls back to flow-level default) |
SDK usage
const flow = await stubkit.getOnboarding('signup');
renderOnboarding(flow.steps, {
onAnswer: (stepIndex, stepType, answer) => {
// Optional: log for analytics
stubkit.reportOnboardingStep('signup', {
userId,
stepIndex,
stepType,
answer,
});
},
});REST endpoints
GET /v1/onboarding/:app_id/:slug— public, returns flow definitionPOST /v1/onboarding/:app_id/:slug/responses— log user answers (optional)GET/POST /v1/admin/onboarding-flowsPATCH/DELETE /v1/admin/onboarding-flows/:id