stubkit docs

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

TypeConfig
welcometitle, subtitle, image_url, cta_label
questionquestion, mode: single|multi, options[]
value_proptitle, bullets[], image_url
loadingmessages[], duration_ms (rotating "personalizing your experience" screen)
paywalloffering_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 definition
  • POST /v1/onboarding/:app_id/:slug/responses — log user answers (optional)
  • GET/POST /v1/admin/onboarding-flows
  • PATCH/DELETE /v1/admin/onboarding-flows/:id