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

# CheckoutWidgetUpsellSourceInput

> Pass exactly one of redoAi, collection, product or tags.

**collection** `[CheckoutWidgetCollectionSourceInput](/docs/api-reference/v3/reference/checkout/checkout-widget-collection-source-input)`

A product from a collection.

**fields**

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

Discount for this source. Overrides the widget's default.

**fields**

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

Amount off.

**percentage** `Float`

Percent off, above 0 and at most 100.

**fallbackIfNotAvailable** `Boolean`

Whether the widget moves on to fallback tags when this source has nothing available.

**shopifyCollectionId** `String!` *required*

The Shopify collection.

**title** `String`

The collection's title, shown in the Redo dashboard.

**product** `[CheckoutWidgetProductSourceInput](/docs/api-reference/v3/reference/checkout/checkout-widget-product-source-input)`

One specific product.

**fields**

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

Discount for this source. Overrides the widget's default.

**fields**

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

Amount off.

**percentage** `Float`

Percent off, above 0 and at most 100.

**fallbackIfNotAvailable** `Boolean`

Whether the widget moves on to fallback tags when this source has nothing available.

**imageUrl** `String`

The product's image, shown in the Redo dashboard.

**shopifyProductId** `String!` *required*

The Shopify product.

**title** `String`

The product's title, shown in the Redo dashboard.

**redoAi** `[CheckoutWidgetRedoAiSourceInput](/docs/api-reference/v3/reference/checkout/checkout-widget-redo-ai-source-input)`

Redo AI picks the product.

**fields**

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

Discount for this source. Overrides the widget's default.

**fields**

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

Amount off.

**percentage** `Float`

Percent off, above 0 and at most 100.

**tags** `[CheckoutWidgetTagsSourceInput](/docs/api-reference/v3/reference/checkout/checkout-widget-tags-source-input)`

A product with any of these tags.

**fields**

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

Discount for this source. Overrides the widget's default.

**fields**

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

Amount off.

**percentage** `Float`

Percent off, above 0 and at most 100.

**fallbackIfNotAvailable** `Boolean`

Whether the widget moves on to fallback tags when this source has nothing available.

**tags** `[String!]!` *required*

Product tags.


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