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

# CheckoutWidgets

> The store's checkout widgets, and whether it can add more.

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

**availability** `[CheckoutWidgetsAvailability!](/docs/api-reference/v3/reference/checkout/checkout-widgets-availability)` *required*

Whether the store can add checkout widgets.

**fields**

**available** `Boolean!` *required*

False means creating, duplicating, assigning and turning a widget global fail with CHECKOUT\_WIDGETS\_UNAVAILABLE (409).

**reasons** `[\[CheckoutWidgetsUnavailableReason!\]!](/docs/api-reference/v3/reference/checkout/checkout-widgets-unavailable-reason)` *required*

What blocks it. Empty when available.

**widgets** `[CheckoutWidgetConnection!](/docs/api-reference/v3/pagination)` *required*

Widgets, oldest first. Cursors are positional, so a widget can shift if widgets are created or deleted while you page.

**fields**

**Arguments**

**after** `String`

Return widgets after this cursor.

**before** `String`

Return widgets before this cursor.

**first** `Int`

Page size.

**last** `Int`

Page size, paging backward.

**Fields**

**edges** `[\[CheckoutWidgetEdge!\]!](/docs/api-reference/v3/pagination)` *required*

The list of edges (each a node plus its pagination `cursor`).

**fields**

**cursor** `String!` *required*

Opaque cursor for this item; pass to `after`/`before` to page from here.

**node** `[CheckoutWidget!](/docs/api-reference/v3/reference/checkout/checkout-widget)` *required*

The item at this edge.

**nodes** `[\[CheckoutWidget!\]!](/docs/api-reference/v3/reference/checkout/checkout-widget)` *required*

The nodes in this page, without the edge/cursor wrapper — a convenience over `edges`.

**fields**

**assignedExperiences** `[\[CheckoutWidgetAssignedExperience!\]!](/docs/api-reference/v3/reference/checkout/checkout-widget-assigned-experience)` *required*

Checkout experiences that show this widget.

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

The widget's settings.

**createdAt** `[DateTime!](/docs/api-reference/v3/reference/common/date-time)` *required*

When the widget was created.

**global** `Boolean!` *required*

Whether it shows in every checkout experience. A store has at most one per type. Always false for shipping option widgets.

**id** `ID!` *required*

The widget's id.

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

**type** `[CheckoutWidgetType!](/docs/api-reference/v3/reference/checkout/checkout-widget-type)` *required*

What the widget does. It can't change.

**updatedAt** `[DateTime!](/docs/api-reference/v3/reference/common/date-time)` *required*

When the widget was last changed.

**pageInfo** `[PageInfo!](/docs/api-reference/v3/pagination)` *required*

Pagination metadata for the current page.

**fields**

**endCursor** `String`

Cursor of the last edge in this page; pass to `after` to page forward.

**hasNextPage** `Boolean!` *required*

Whether more items exist after this page (drives forward pagination with `first`/`after`).

**hasPreviousPage** `Boolean!` *required*

Whether more items exist before this page (drives backward pagination with `last`/`before`).

**startCursor** `String`

Cursor of the first edge in this page; pass to `before` to page backward.


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