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

# CheckoutWidgetCreateInput

> The widget to create.

**config** `[CheckoutWidgetConfigInput!](/docs/api-reference/v3/reference/checkout/checkout-widget-config-input)` *required*

The widget's settings.

**fields**

**contentBlock** `[CheckoutWidgetContentBlockConfigInput](/docs/api-reference/v3/reference/checkout/checkout-widget-content-block-config-input)`

A content block.

**fields**

**sections** `[\[CheckoutWidgetContentSectionInput!\]!](/docs/api-reference/v3/reference/checkout/checkout-widget-content-section-input)` *required*

Sections, in order. At most 5.

**failedDiscountRescue** `[CheckoutWidgetFailedDiscountRescueConfigInput](/docs/api-reference/v3/reference/checkout/checkout-widget-failed-discount-rescue-config-input)`

A failed discount rescue.

**fields**

**buttonText** `String!` *required*

The claim button's label.

**discountCodeId** `ID`

The id of the discount it offers, as in discountCode(id:). The widget offers nothing without one.

**text** `String!` *required*

The message.

**fulfillmentCutoff** `[CheckoutWidgetFulfillmentCutoffConfigInput](/docs/api-reference/v3/reference/checkout/checkout-widget-fulfillment-cutoff-config-input)`

A fulfillment cutoff.

**fields**

**backgroundColor** `String!` *required*

Background color, as hex.

**iconColor** `String!` *required*

Icon color, as hex.

**text** `String!` *required*

The message. \{\{order\_cutoff\_time}}, \{\{day\_of\_order\_cutoff\_time}} and \{\{fastest\_delivery\_date}} are replaced.

**imageBlock** `[CheckoutWidgetImageBlockConfigInput](/docs/api-reference/v3/reference/checkout/checkout-widget-image-block-config-input)`

An image block.

**fields**

**imageJustification** `[CheckoutWidgetImageJustification!](/docs/api-reference/v3/reference/checkout/checkout-widget-image-justification)` *required*

Where the image sits.

**imageUrl** `String`

The image. The widget shows nothing without one.

**imageWidth** `String!` *required*

Pixels from 30 to 360, as a string, or "FULL".

**lowProfileProductUpsell** `[CheckoutWidgetLowProfileProductUpsellConfigInput](/docs/api-reference/v3/reference/checkout/checkout-widget-low-profile-product-upsell-config-input)`

A low-profile product upsell.

**fields**

**addToCartButtonColor** `String!` *required*

The add button's color, as hex.

**addToCartButtonTextColor** `String!` *required*

The add button's text color, as hex.

**excludedProductTags** `[String!]`

Products with these tags are never upsold.

**fallbackProductTags** `[String!]`

Products to fill empty slots with, by tag.

**sources** `[\[CheckoutWidgetUpsellSourceInput!\]](/docs/api-reference/v3/reference/checkout/checkout-widget-upsell-source-input)`

Upsell slots, in order. At most 3.

**productReviews** `[CheckoutWidgetProductReviewsConfigInput](/docs/api-reference/v3/reference/checkout/checkout-widget-product-reviews-config-input)`

A product reviews widget.

**fields**

**display** `[CheckoutWidgetReviewsDisplayInput!](/docs/api-reference/v3/reference/checkout/checkout-widget-reviews-display-input)` *required*

Which parts of a review are shown.

**minRating** `Int!` *required*

Lowest rating shown, from 1 to 5.

**provider** `[CheckoutWidgetReviewsProvider!](/docs/api-reference/v3/reference/checkout/checkout-widget-reviews-provider)` *required*

Where the reviews come from.

**shippingOptionContent** `[CheckoutWidgetShippingOptionContentConfigInput](/docs/api-reference/v3/reference/checkout/checkout-widget-shipping-option-content-config-input)`

Shipping option content.

**fields**

**backgroundColor** `String!` *required*

Background color, as hex.

**description** `String!` *required*

Body text.

**imageUrl** `String`

Image.

**title** `String!` *required*

Heading.

**shippingOptionImage** `[CheckoutWidgetShippingOptionImageConfigInput](/docs/api-reference/v3/reference/checkout/checkout-widget-shipping-option-image-config-input)`

A shipping option image.

**fields**

**imageJustification** `[CheckoutWidgetImageJustification!](/docs/api-reference/v3/reference/checkout/checkout-widget-image-justification)` *required*

Where the image sits.

**imageUrl** `String`

The image.

**imageWidth** `String!` *required*

Pixels from 30 to 360, as a string, or "FULL".

**shippingOptionProductUpsell** `[CheckoutWidgetShippingOptionProductUpsellConfigInput](/docs/api-reference/v3/reference/checkout/checkout-widget-shipping-option-product-upsell-config-input)`

A shipping option upsell.

**fields**

**addToCartButtonText** `String!` *required*

The add button's label.

**defaultDiscount** `[CheckoutWidgetDiscountInput](/docs/api-reference/v3/reference/checkout/checkout-widget-discount-input)`

Discount for slots with none of their own.

**excludedProductTags** `[String!]`

Products with these tags are never upsold.

**fallbackProductTags** `[String!]`

Products to fill empty slots with, by tag.

**progressBar** `[CheckoutWidgetProgressBarInput](/docs/api-reference/v3/reference/checkout/checkout-widget-progress-bar-input)`

Progress bar above the products. Omit for none.

**sources** `[\[CheckoutWidgetUpsellSourceInput!\]](/docs/api-reference/v3/reference/checkout/checkout-widget-upsell-source-input)`

Upsell slots, in order. At most 3.

**thresholdUpsell** `[CheckoutWidgetThresholdUpsellConfigInput](/docs/api-reference/v3/reference/checkout/checkout-widget-threshold-upsell-config-input)`

A threshold upsell.

**fields**

**addToCartButtonColor** `String!` *required*

The add button's color, as hex.

**addToCartButtonText** `String!` *required*

The add button's label.

**addToCartButtonTextColor** `String!` *required*

The add button's text color, as hex.

**defaultDiscount** `[CheckoutWidgetDiscountInput](/docs/api-reference/v3/reference/checkout/checkout-widget-discount-input)`

Discount for slots with none of their own.

**excludedProductTags** `[String!]`

Products with these tags are never upsold.

**fallbackProductTags** `[String!]`

Products to fill empty slots with, by tag.

**progressBarColor** `String!` *required*

The filled part of the progress bar, as hex.

**sources** `[\[CheckoutWidgetUpsellSourceInput!\]](/docs/api-reference/v3/reference/checkout/checkout-widget-upsell-source-input)`

Upsell slots, in order.

**styling** `[CheckoutWidgetUpsellStylingInput](/docs/api-reference/v3/reference/checkout/checkout-widget-upsell-styling-input)`

Product card styling.

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

The cart total to reach.

**thresholdNotReachedText** `String!` *required*

Shown until the cart total is reached. \{\{amount\_left}} is replaced with the amount left.

**thresholdReachedText** `String!` *required*

Shown once the cart total is reached.

**confirmLiveChange** `Boolean`

Set to true to confirm a write that changes what shoppers see at checkout right away.

**global** `Boolean`

Show it in every checkout experience. A store can have one per type. Not for shipping option widgets. Defaults to false.

**name** `String!` *required*

Merchant-facing name.

**target** `String!` *required*

Where it renders. For shipping option widgets, DETAILS\_RENDER\_AFTER or DETAILS\_RENDER\_EXPANDED. For others, a checkout block target such as INFORMATION1, or a dynamic target name.


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