Skip to main content
Migrate to Polaris

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.

Settings API

The Settings API lets you read the values that merchants configure for your extension in the checkout and accounts editor. Use this API to make your extension customizable. Merchants define values like banner titles, feature toggles, or thresholds, and your extension reads them at runtime. Learn how to define settings in your configuration.

  • Display merchant-customized content: Read settings like banner titles, welcome messages, or promotional text that merchants configure without needing to update your extension's code.
  • Toggle extension features: Use boolean settings to let merchants enable or disable specific behaviors in your extension, such as showing a loyalty badge or hiding certain sections.
  • Configure thresholds and limits: Let merchants define numeric values like minimum order amounts for displaying a message, or the number of items to show in a list.
Support
Targets (25)

The Settings API object provides access to merchant-configured settings for customer account extensions. Access the following properties on the API object to read the values that merchants define for your extension.

Anchor to settings
settings
StatefulRemoteSubscribable<>
required

The merchant-configured settings for this extension. Settings are empty until the merchant configures them, and values update in real time as the merchant saves changes.


  • Provide sensible defaults: Always use a fallback value when reading settings with shopify.settings.value in case the merchant hasn't configured a value yet.
  • Keep settings simple: Define only the settings that merchants genuinely need to customize. Too many settings can overwhelm merchants in the checkout and accounts editor.
  • Use descriptive names and descriptions: Give each setting a clear name and description in your TOML file so merchants understand what each field controls.
  • Validate setting values: Use the validations property in your TOML configuration to enforce constraints like minimum and maximum lengths or allowed values.

  • Settings are read-only in your extension. You can't programmatically update setting values. Merchants must change them in the checkout and accounts editor.
  • Setting values are only available after the extension has loaded. Accessing shopify.settings.value before initialization returns undefined.
  • Settings don't support complex data types like arrays or nested objects. Refer to supported setting types for the full list of available types.

Was this page helpful?