> ## Documentation Index
> Fetch the complete documentation index at: https://developers.redo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# storefrontProgressBarUpdate

> Change the cart progress bar and return it, or null after turning it off. While it's on, fields you leave out keep their values. Turning it on from off needs `threshold`, `belowThresholdText`, `reachedThresholdText` and `color`. Changing a setting that's on, or turning one on or off, reaches shoppers right away, so it fails with STOREFRONT_SETTING_LIVE (409) and changes nothing unless `confirmLiveChange` is true. An invalid value fails with INVALID_STOREFRONT_SETTING (400).

**Required scopes:** [`checkout_settings_write`](https://developers.redo.com/docs/api-reference/v3/reference/scopes#scope-checkout_settings_write)

## Arguments

**input** `[StorefrontProgressBarUpdateInput!](/docs/api-reference/v3/reference/checkout/storefront-progress-bar-update-input)` *required*

The fields to change.

**fields**

**belowThresholdText** `String`

The text shown below the threshold, up to 500 characters.

**color** `String`

The bar's color, as a hex color such as #000000.

**confirmLiveChange** `Boolean`

Set true to allow a change that reaches shoppers.

**enabled** `Boolean!` *required*

False turns the bar off and deletes its settings, so turning it on again needs every field.

**reachedThresholdText** `String`

The text shown at or above the threshold, up to 500 characters.

**selectors** `[\[StorefrontSelectorInput!\]](/docs/api-reference/v3/reference/checkout/storefront-selector-input)`

Replaces every placement. Left out keeps them. Selectors are only checked for shape (not empty, at most 500 characters, no control characters, at most 50 per placement). They aren't parsed or checked against the storefront's theme, so one that doesn't parse or matches nothing is accepted and shows nothing.

**fields**

**insertPosition** `[StorefrontInsertPosition!](/docs/api-reference/v3/reference/checkout/storefront-insert-position)` *required*

Where the widget goes relative to the selected element.

**selector** `String!` *required*

The CSS selector.

**threshold** `[MoneyInput](/docs/api-reference/v3/reference/common/money-input)`

The cart total that fills the bar: above 0, in the store's currency.

**fields**

**amount** `[Decimal!](/docs/api-reference/v3/reference/common/decimal)` *required*

The amount as an exact decimal string (e.g. "19.99").

**currency** `String!` *required*

ISO 4217 currency code (e.g. USD).

## Returns

**storefrontProgressBarUpdate** `[StorefrontProgressBar](/docs/api-reference/v3/reference/checkout/storefront-progress-bar)`

The cart progress bar shoppers see on the storefront. A store has one only while it's on.

**fields**

**belowThresholdText** `String!` *required*

The text shown below the threshold.

**color** `String!` *required*

The bar's color.

**reachedThresholdText** `String!` *required*

The text shown at or above the threshold.

**selectors** `[\[StorefrontSelector!\]!](/docs/api-reference/v3/reference/checkout/storefront-selector)` *required*

Where the bar goes.

**fields**

**insertPosition** `[StorefrontInsertPosition!](/docs/api-reference/v3/reference/checkout/storefront-insert-position)` *required*

Where the widget goes relative to the selected element.

**selector** `String!` *required*

The CSS selector.

**threshold** `[Money!](/docs/api-reference/v3/reference/common/money)` *required*

The cart total that fills the bar.

**fields**

**amount** `[Decimal!](/docs/api-reference/v3/reference/common/decimal)` *required*

The exact amount as a decimal string (e.g. "19.99").

**currency** `String!` *required*

ISO 4217 currency code (e.g. USD).

## Example

```graphql theme={null}
mutation {
  storefrontProgressBarUpdate(input: { ... }) {
    belowThresholdText
    color
    reachedThresholdText
  }
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.