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

# checkoutWidgetDuplicate

> Copy a checkout widget. The copy is named "<name> (copy)", isn't global, and isn't assigned to any experience. Fails with CHECKOUT_WIDGETS_UNAVAILABLE (409) while `availability.available` is false. An id from another account, or one that does not exist, is null.

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

## Arguments

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

The widget to copy.

**fields**

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

The widget's id.

## Returns

**checkoutWidgetDuplicate** `[CheckoutWidget](/docs/api-reference/v3/reference/checkout/checkout-widget)`

A block a store shows at checkout. It reaches shoppers when `global` is true or an experience uses it.

**fields**

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

Checkout experiences that show this widget.

**fields**

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

The experience's id.

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

The experience's name.

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

## Example

```graphql theme={null}
mutation {
  checkoutWidgetDuplicate(input: { ... }) {
    createdAt
    global
    id
    name
    target
    type
    updatedAt
  }
}
```


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