---
title: "List checkout blocks"
method: GET
path: "/v25-10-beta/experiences/{experienceId}/checkout-blocks"
tags: ["Manage Checkout Blocks"]
---

# List checkout blocks

`GET /v25-10-beta/experiences/{experienceId}/checkout-blocks`

## Request

- Base URL: `https://api.intelligems.io`
- URL: `https://api.intelligems.io/v25-10-beta/experiences/{experienceId}/checkout-blocks`
- Auth: API key in header `intelligems-access-token`
- TypeScript: <https://skmtc.dev/intelligems/apis/intelligems-external-api-v25-10-beta/docs/v25-10-beta/experiences/:experienceId/checkout-blocks/get.ts> (a function with typed inputs; its response is checked against the schema)

Lists an experience's checkout blocks, grouped by variation.

The response has one entry per variation, each with its `variationId`, `name`, `isControl`, and `blocks`:

```json
{
  "variations": [
    {
      "variationId": "YOUR_VARIATION_ID",
      "name": "Control",
      "isControl": true,
      "blocks": []
    }
  ]
}
```

### Query Parameters

All query parameters are optional.

- `variationId` (UUID) — Only return this variation's blocks.
- `blockType` (string) — Only return blocks of this type.

### Important Notes

- Each block is returned as stored, including its `id`, which the `PUT` and `DELETE` endpoints take.
- `displayConditions` and `upsellProductRules` come back in the compiled form the storefront evaluates, not the condition-list form you send on `POST` and `PUT`.

**Rate Limit:** 50 requests per 30s window, refilling 25 tokens every 30s.

## Path parameters

- `experienceId` string, uuid, required: The experience the checkout block belongs to.

## Query parameters

- `variationId` string, uuid: Only return blocks on this variation.
- `blockType` 'trustBadge' | 'upsell' | 'shippingProgressBar' | 'timer' | 'faqs' | 'postPurchaseUpsell': Only return blocks of this type.

## Response `200`

OK

- object
  - `variations` object[], required: The experience's variations, each with its checkout blocks.
    - `variationId` string, uuid, required
    - `name` string, required
    - `isControl` boolean, required
    - `blocks` union[], required
      - union
        - object
          - `id` string, uuid, required: Server-generated. Read-only.
          - `variationId` string, uuid, required: References the parent variation.
          - `locationId` string, required: Shopify checkout extensibility target location where the block renders.
          - `blockType` 'trustBadge', required
          - `blockTemplate` 'badgeList' | 'badgeTiles' | 'callOut' | 'grid' | 'header' | 'images' | 'brandLogo' | 'textOnly', nullable: The template preset this block was created from, within its block type. Null on blocks saved before templates were persisted, which callers must treat as unknown rather than assuming a default.
          - `name` string, required: Display name for identifying this block in the dashboard.
          - `displayConditions` object: Optional cart-based conditions; the block renders only when the expression evaluates true against the current cart.
            - `id` string, uuid, required
            - `expression` object[], required
              - …
          - `variables` object, required: Configurable content for the trust badge (e.g., badge images, guarantee text).
            - `headerText` union, required
              - …
            - `items` object[], required
              - …
          - `styles` object, required: CSS styling overrides for the trust badge appearance.
            - `typography` object, required
              - …
            - `backgroundColors` object, required
              - …
            - `colors` object, required
              - …
            - `layout` object, required
              - …
            - `appearance` object, required
              - …
        - object
          - `id` string, uuid, required: Server-generated. Read-only.
          - `variationId` string, uuid, required: References the parent variation.
          - `locationId` string, required: Shopify checkout extensibility target location where the block renders.
          - `blockType` 'upsell', required
          - `blockTemplate` 'productTiles' | 'productList' | 'singleProduct' | 'singleProductCheckbox', nullable: The template preset this block was created from, within its block type. Null on blocks saved before templates were persisted, which callers must treat as unknown rather than assuming a default.
          - `name` string, required: Display name for identifying this block in the dashboard.
          - `displayConditions` object: Optional cart-based conditions; the block renders only when the expression evaluates true against the current cart.
            - `id` string, uuid, required
            - `expression` object[], required
              - …
          - `variables` object, required: Configurable content for the upsell block (e.g., product selection, heading text, CTA label).
            - `headerText` union, required
              - …
            - `maxProductLimit` integer, required
            - `excludeItemsInCart` boolean, required
            - `excludeOutOfStock` boolean, required
            - `buttonText` string, required
            - `imageSize` number, required
            - `imageSizeUnit` 'pixels' | 'percentage', required
            - `imageAspectRatio` string, required
            - `mediaSpacing` string, required
            - `discount` object
              - …
          - `styles` object, required: CSS styling overrides for the upsell block appearance.
            - `typography` object, required
              - …
            - `backgroundColors` object, required
              - …
            - `colors` object, required
              - …
            - `layout` object, required
              - …
            - `appearance` object, required
              - …
          - `upsellProductRules` object[], required: Product selection and recommendation rules that determine which products to show in this upsell block.
            - `id` string, uuid, required
            - `checkoutBlockId` string, uuid, required
            - `priority` integer, required
            - `cartTargeting` object, required
              - …
            - `action` Schema0, required
              - …
            - `variationId` string, uuid, required
          - `agenticLogicPlacementId` string, uuid, nullable: Agentic Logic placement this block evaluates through. Absent means the legacy rule engine serves it — clearing the mapping is the per-surface rollback.
          - `agenticLogicRuleId` string, uuid, nullable: WRITE-SIDE intent: the Agentic Logic rule this block should serve. The experience save upserts the placement and the (placement, variation) assignment from it and stamps `agenticLogicPlacementId`, so callers never assemble that pair themselves. Null detaches the block and returns it to the legacy engine. Reads echo the rule currently assigned.
        - object
          - `id` string, uuid, required: Server-generated. Read-only.
          - `variationId` string, uuid, required: References the parent variation.
          - `locationId` string, required: Shopify checkout extensibility target location where the block renders.
          - `blockType` 'shippingProgressBar', required
          - `blockTemplate` 'minimal' | 'milestones', nullable: The template preset this block was created from, within its block type. Null on blocks saved before templates were persisted, which callers must treat as unknown rather than assuming a default.
          - `name` string, required: Display name for identifying this block in the dashboard.
          - `displayConditions` object: Optional cart-based conditions; the block renders only when the expression evaluates true against the current cart.
            - `id` string, uuid, required
            - `expression` object[], required
              - …
          - `variables` object, required
            - `headerText` union
              - …
            - `currency` string, required
            - `template` 'minimal' | 'milestones', required
            - `tiers` object[], required
              - …
          - `styles` object, required
            - `typography` object, required
              - …
            - `backgroundColors` object, required
              - …
            - `colors` object, required
              - …
            - `layout` object, required
              - …
            - `appearance` object, required
              - …
        - object
          - `id` string, uuid, required: Server-generated. Read-only.
          - `variationId` string, uuid, required: References the parent variation.
          - `locationId` string, required: Shopify checkout extensibility target location where the block renders.
          - `blockType` 'timer', required
          - `blockTemplate` 'textCountdown' | 'digitalClock' | 'inlinePill', nullable: The template preset this block was created from, within its block type. Null on blocks saved before templates were persisted, which callers must treat as unknown rather than assuming a default.
          - `name` string, required: Display name for identifying this block in the dashboard.
          - `displayConditions` object: Optional cart-based conditions; the block renders only when the expression evaluates true against the current cart.
            - `id` string, uuid, required
            - `expression` object[], required
              - …
          - `variables` object, required
            - `timerMode` 'fixedDate' | 'perVisitor' | 'recurring', required
            - `endDateTime` string, nullable
            - `durationMinutes` integer, required
            - `resetIntervalUnit` 'hour' | 'day' | 'week', nullable
            - `resetTimeOfDay` string, nullable
            - `resetDayOfWeek` union
              - …
            - `resetMinuteOfHour` integer, nullable
            - `resetTimezone` string, nullable
            - `expiredBehavior` 'remove' | 'showText', required
            - `timerTemplate` 'textCountdown' | 'digitalClock' | 'inlinePill', required
            - `showDays` boolean, required
            - `showHours` boolean, required
            - `showMinutes` boolean, required
            - `showSeconds` boolean, required
            - `countdownText` union, required
              - …
            - `expiredText` union, required
              - …
            - `headline` union, required
              - …
          - `styles` object, required
            - `typography` object, required
              - …
            - `backgroundColors` object, required
              - …
            - `colors` object, required
              - …
            - `layout` object, required
              - …
            - `appearance` object, required
              - …
            - `digits` object, required
              - …
        - object
          - `id` string, uuid, required: Server-generated. Read-only.
          - `variationId` string, uuid, required: References the parent variation.
          - `locationId` string, required: Shopify checkout extensibility target location where the block renders.
          - `blockType` 'faqs', required
          - `blockTemplate` 'faqsAccordion', nullable: The template preset this block was created from, within its block type. Null on blocks saved before templates were persisted, which callers must treat as unknown rather than assuming a default.
          - `name` string, required: Display name for identifying this block in the dashboard.
          - `displayConditions` object: Optional cart-based conditions; the block renders only when the expression evaluates true against the current cart.
            - `id` string, uuid, required
            - `expression` object[], required
              - …
          - `variables` object, required
            - `headerText` union
              - …
            - `showDivider` boolean, required
            - `allowMultipleOpen` boolean, required
            - `questions` object[], required
              - …
          - `styles` object, required
            - `typography` object, required
              - …
            - `backgroundColors` object, required
              - …
            - `colors` object, required
              - …
            - `layout` object, required
              - …
            - `appearance` object, required
              - …
        - object
          - `id` string, uuid, required: Server-generated. Read-only.
          - `variationId` string, uuid, required: References the parent variation.
          - `locationId` string, required: Shopify checkout extensibility target location where the block renders.
          - `blockType` 'postPurchaseUpsell', required
          - `blockTemplate` unknown
          - `name` string, required: Display name for identifying this block in the dashboard.
          - `displayConditions` object: Optional cart-based conditions; the block renders only when the expression evaluates true against the current cart.
            - `id` string, uuid, required
            - `expression` object[], required
              - …
          - `variables` object, required
            - `headerText` string, required
            - `discountType` 'none' | 'percentage' | 'fixed', required
            - `discountValue` number, nullable
            - `compareAtPriceDisplay` 'none' | 'compareAtPrice' | 'regularPrice', required
            - `imageAspectRatio` string, required
            - `excludeOutOfStock` boolean, required
            - `excludeItemsInCart` boolean, required
            - `maxProductLimit` integer, required
            - `bannerEnabled` boolean, required
            - `bannerTitle` string
            - `bannerSubtitle` string
            - `customerFirstNameFallback` string
            - `compareAtPriceEnabled` boolean, required
            - `descriptionEnabled` boolean, required
            - `quantitySelectorEnabled` boolean, required
            - `quantityLabel` string
            - `maxQuantityType` string
            - `maxQuantity` integer
            - `moneyLineEnabled` boolean, required
            - `moneyLineSubtotal` boolean, required
            - `moneyLineShipping` boolean, required
            - `moneyLineTaxes` boolean, required
            - `primaryButtonText` string, required
            - `secondaryButtonEnabled` boolean, required
            - `secondaryButtonText` string, required
            - `headingLevel` string, required
            - `countdownTimerEnabled` boolean
            - `timerCheckout` object
              - …
            - `offerTimeout` number
            - `discount` object
              - …
          - `styles` object, required
            - `typography` object, required
              - …
            - `backgroundColors` object, required
              - …
            - `colors` object, required
              - …
            - `appearance` object, required
              - …
          - `upsellProductRules` object[], required: Product selection and recommendation rules that determine which products to show in this upsell block.
            - `id` string, uuid, required
            - `checkoutBlockId` string, uuid, required
            - `priority` integer, required
            - `cartTargeting` object, required
              - …
            - `action` Schema0, required
              - …
            - `variationId` string, uuid, required
          - `agenticLogicPlacementId` string, uuid, nullable: Agentic Logic placement this block evaluates through. Absent means the legacy rule engine serves it — clearing the mapping is the per-surface rollback.
          - `agenticLogicRuleId` string, uuid, nullable: WRITE-SIDE intent: the Agentic Logic rule this block should serve. The experience save upserts the placement and the (placement, variation) assignment from it and stamps `agenticLogicPlacementId`, so callers never assemble that pair themselves. Null detaches the block and returns it to the legacy engine. Reads echo the rule currently assigned.

## Other responses

- `429`: Too Many Requests

---

[API](https://skmtc.dev/intelligems/apis/intelligems-external-api-v25-10-beta.md) - [All operations](https://skmtc.dev/intelligems/apis/intelligems-external-api-v25-10-beta/llms.txt) - [OpenAPI document](https://skmtc.dev/intelligems/apis/intelligems-external-api-v25-10-beta/revisions/7b769b2f90b1?raw)
