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

# checkoutExperiences

> List the store's checkout experiences with a summary of each one's shipping methods. For prices, carriers, conditions, and fulfillment delays, get the experience with checkoutExperience(id:). `active` tells you whether an experience is reachable in the store's live checkout tree, which decides which shoppers see which experience. Experiences belonging to another account are not included. An invalid request fails with INVALID_CHECKOUT_REQUEST (400).

**Required scopes:** [`checkout_read`](/docs/api-reference/v3/reference/scopes#scope-checkout_read)

## Arguments

<ResponseField name="active" type="Boolean">
  `true` returns only experiences reachable in the store's live checkout tree, `false` only those that are not. Omit to return both.
</ResponseField>

## Returns

<ResponseField name="checkoutExperiences" type={<a href="/docs/api-reference/v3/reference/checkout/checkout-experience-summary">[CheckoutExperienceSummary!]!</a>} required>
  A checkout experience: a named group of shipping methods shown together at checkout. It does not decide who sees it — the checkout tree does. An experience can also group checkout widgets and a post-purchase upsell page; this summary covers only its shipping methods.

  <Expandable title="fields" lazyRender>
    <ResponseField name="active" type="Boolean!" required>
      True when this experience is reachable in the team's live checkout tree, i.e. real shoppers can be served it.
    </ResponseField>

    <ResponseField name="createdAt" type={<a href="/docs/api-reference/v3/reference/common/date-time">DateTime!</a>} required>
      Creation timestamp, ISO 8601 UTC.
    </ResponseField>

    <ResponseField name="id" type="ID!" required>
      Checkout experience ID. Pass it to checkoutExperience(id:) for full detail.
    </ResponseField>

    <ResponseField name="methods" type={<a href="/docs/api-reference/v3/reference/checkout/shipping-method-summary">[ShippingMethodSummary!]!</a>} required>
      Shipping methods this experience offers. Summary only: call checkoutExperience(id:) for prices, carriers, conditions, constraints, and which methods are auto-selected.

      <Expandable title="fields" lazyRender>
        <ResponseField name="description" type="String!" required>
          Shopper-facing description shown next to the method.
        </ResponseField>

        <ResponseField name="id" type="ID!" required>
          Shipping method ID, unique within the team.
        </ResponseField>

        <ResponseField name="name" type="String!" required>
          Shopper-facing name of the shipping method as it appears at checkout, e.g. 'Standard'.
        </ResponseField>

        <ResponseField name="priceDisplay" type="String!" required>
          Human-readable price for this method: 'FREE', a formatted amount like '\$5.99', 'DYNAMIC' for carrier-calculated rates, 'CUSTOM' for merchant-scripted rates, or '-' when no price is configured. Reflects only the FIRST configured price, so a method that prices by cart weight or cart value, or that has a free-shipping threshold, may read 'FREE' while most carts are charged something else. Call checkoutExperience(id:) for every price and the conditions each applies to.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="name" type="String!" required>
      Merchant-facing name of the checkout experience.
    </ResponseField>
  </Expandable>
</ResponseField>

## Example

```graphql theme={null}
query {
  checkoutExperiences(active: true) {
    active
    createdAt
    id
    name
  }
}
```


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