> ## 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.

# storefrontDeliveryEstimateUpdate

> Change the storefront delivery estimate and return it. Fields you leave out keep their values. 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** `[StorefrontDeliveryEstimateUpdateInput!](/docs/api-reference/v3/reference/checkout/storefront-delivery-estimate-update-input)` *required*

The fields to change.

**fields**

**businessDaysInFuture** `Int`

Business days from today to the estimated delivery date, from 0 to 365.

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

Replaces every cart 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.

**confirmLiveChange** `Boolean`

Set true to allow a change that reaches shoppers.

**description** `String`

The description template, up to 500 characters, with `{delivery_date}` and `{to_zip_code}` variables. Null or blank removes it.

**enabled** `Boolean`

Whether shoppers see the estimate.

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

Replaces every product page 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.

**range** `[StorefrontDeliveryEstimateRangeInput](/docs/api-reference/v3/reference/checkout/storefront-delivery-estimate-range-input)`

The date range to show. Null removes it.

**fields**

**endRelativeToDeliveryDate** `Int!` *required*

Days from the estimated date to the end of the range, within 365 either way. It can't come before the start.

**startRelativeToDeliveryDate** `Int!` *required*

Days from the estimated date to the start of the range, within 365 either way.

**title** `String`

The title template, up to 500 characters, with `{delivery_date}` and `{to_zip_code}` variables. Null or blank removes it.

## Returns

**storefrontDeliveryEstimateUpdate** `[StorefrontDeliveryEstimate!](/docs/api-reference/v3/reference/checkout/storefront-delivery-estimate)` *required*

The delivery estimate shown on product and cart pages of the storefront.

**fields**

**businessDaysInFuture** `Int!` *required*

Business days from today to the estimated delivery date.

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

Where the estimate goes in the cart.

**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.

**description** `String`

The description template, with `{delivery_date}` and `{to_zip_code}` variables.

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

Whether shoppers see the estimate.

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

Where the estimate goes on product pages.

**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.

**range** `[StorefrontDeliveryEstimateRange](/docs/api-reference/v3/reference/checkout/storefront-delivery-estimate-range)`

The date range to show. Null shows a single date.

**fields**

**endRelativeToDeliveryDate** `Int!` *required*

Days from the estimated date to the end of the range.

**startRelativeToDeliveryDate** `Int!` *required*

Days from the estimated date to the start of the range.

**title** `String`

The title template, with `{delivery_date}` and `{to_zip_code}` variables. Null uses the default layout.

## Example

```graphql theme={null}
mutation {
  storefrontDeliveryEstimateUpdate(input: { ... }) {
    businessDaysInFuture
    description
    enabled
    title
  }
}
```


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