Version 2025-07 is the last API version to support React-based UI components. Later versions use web components, native UI elements with built-in accessibility, better performance, and consistent styling with Shopify's design system. Check out the migration guide to upgrade your extension.
Navigation API
The Navigation API provides screen-based navigation functionality for POS UI extensions, allowing you to navigate between screens, manage navigation stacks, and dismiss modal interfaces within full-screen modal workflows. The API enables multi-screen experiences with parameter passing and navigation control.
Anchor to Use casesUse cases
- Multi-screen workflows: Build multi-screen modal workflows with navigation and parameter passing.
- Wizard interfaces: Implement wizard-style interfaces guiding users through sequential steps.
- Hierarchical navigation: Create hierarchical navigation with push/pop patterns.
- Modal dismissal: Handle modal dismissal programmatically when workflows complete.
Supported targets
Supported targets
Anchor to PropertiesProperties
The Navigation API object provides screen-based navigation functionality for POS UI extensions. Access the following properties on the API object to navigate between screens, manage navigation stacks, and dismiss modal interfaces.
- () => void() => voidrequiredrequired
Dismisses the extension modal completely. Use for closing the modal when workflows are complete, cancelled, or when users need to return to the main POS interface.
- (screenName: string, params?: any) => void(screenName: string, params?: any) => voidrequiredrequired
Navigate to a route in current navigation tree. Pushes the specified screen if it isn't present in the navigation tree, goes back to a created screen otherwise. Use for implementing multi-screen workflows with parameter passing between screens.
- () => void() => voidrequiredrequired
Pops the currently shown screen from the navigation stack. Use for implementing back navigation, returning to previous screens, or programmatically navigating backward in multi-screen workflows.
Anchor to Best practicesBest practices
- Handle navigation parameters effectively: Use navigation parameters to pass data between screens, maintaining workflow context and user progress across screen transitions.
- Implement proper screen management: Design screens that can be pushed and popped.
- Provide clear navigation controls: Implement clear navigation controls and feedback so users understand their current location in the workflow and how to navigate between screens.
Anchor to LimitationsLimitations
- The Navigation API is only available in action (modal) targets and can't be used in action (menu item), block, or tile targets that don't support multi-screen navigation.
- Screen navigation is based on screen names and the navigation stack, which differs from URL-based navigation patterns found in web applications.
- Navigation parameters must be serializable and can't contain functions, complex objects, or circular references.