Skip to main content
Use the core SDK when you want to own the UI. The core SDK gives you a journey handle. Your application reads the current JourneyView and calls only the actions available in that view.

Install

Initialize the SDK

Create the SDK once in the part of your application that owns the consumer experience. When that application area unmounts permanently, call sdk.destroy().

Create a journey

The journey exposes four stores: Most integrations should render from view$. These are reactive readable stores. Use .get() for the current value, and .listen(...) when your UI needs to update as the journey changes. Always keep the unsubscribe function and call it when your component, page, or integration mount point is removed. React integrations usually do not need to subscribe to these stores directly because useExperienceJourney returns the current view and snapshot for React rendering.

Render from JourneyView

The key rule: actions live on the view for the current state. If an action is not present in the current view, your UI should not offer it. A routed view may also surface view.offers (informational, always-gated upgrade routes) and view.submitAccessCode(code) for an in-place upgrade attempt. See Gates and Auth for how this differs from the gated-stage reroute flow.

Render routed sequence states

Resume existing journeys

If the consumer returns to your app with an existing session, resume known journeys before rendering your main experience surface.
Resume tells the SDK to reconstruct public journey state. Your UI should still render from the latest view$ value after resume completes.

Next steps