The unique identifier (ULID) of the block you wish to retrieve products for.When sourcing the block from a block metaobject in a Shopify theme, note that the metaobject’s system.handle is layers-<lowercase block ID>, not the raw ID. Transform it (handle | remove_first: 'layers-' | upcase) before passing it here. Passing the prefixed handle matches no block and returns 404 with "Block not found".
The anchor identifier for the block. Required for product, article, and collection anchor types.
Product anchors: Numeric product ID (e.g., "8234567890123") or Shopify GID (e.g., "gid://shopify/Product/8234567890123"). Both formats are resolved automatically.
Article anchors: Numeric article ID (e.g., "556677889900") or Shopify GID (e.g., "gid://shopify/Article/556677889900"). Both formats are resolved automatically.
Collection anchors: Collection ID (e.g., "456789012345") or collection handle (e.g., "summer-collection"). The system automatically resolves both numeric IDs and string handles.
Cart anchors: Not required. Layers uses every context.productsInCart entry with a valid productId, removes duplicates, and preserves cart order. Entries without a productId are skipped.
Home, Search, Not Found, Landing, Other anchors: Not required. These surfaces rely on the context and identity parameters (search query, landing source, shopper context) to drive strategy selection. Search-anchored strategies (searched_then_viewed, searched_then_purchased) resolve their query from the last searchQuery in context.priorSearches, not from anchor_id, so callers must pass context: { priorSearches: [{ searchQuery }] } for those blocks to return results.
The ID of the specific variant the shopper is viewing on the anchor product. Only used for product-anchored blocks running a variant-aware strategy:
Similar Products: the block seeds similarity from that variant instead of the product as a whole, so recommendations reflect the variant’s visual and semantic attributes, such as the selected color.
Metafield References with a variant-scoped metafield: the block reads the reference metafield from that variant, falling back to the anchor product’s product-scoped value when the variant has none.
Photographed Together: when the variant has photography of its own, the set is built from those shots, so shoppers on a specific colorway see the items it was styled with.
The value is silently ignored when:
The block’s anchor type is not product.
The variant does not belong to the anchor product.
The block’s strategy is not variant-aware.
When variant_id is set on a product-anchored similar-products block, results are computed in real time rather than served from the precomputed cache. Different variants of the same product return different results and are cached under separate keys.
Product attributes to include in the response. By default, all attributes are included except opt-in attributes noted below. Available attributes include: id, title, handle, body_html, vendor, product_type, tags, images, available, created_at, updated_at, published_at, price_range, options, original_options, metafields, named_tags, calculated, category, featured_media, is_gift_card, has_variants_that_require_components, combined_listing_parent_product_id, combined_listing_role, first_or_matched_variant, and variants. The collection_titles attribute is opt-in: pass it in attributes to include the array of collection titles each product belongs to. It is excluded from responses by default. See the Product Schema for detailed descriptions, including nested field selection for slicing arrays and filtering collections (for example, images[:2].src, variants[sku=ABC].price, metafields[namespace=custom]).
A list of product IDs to exclude from the recommendations returned by this block. Use this to deduplicate products across multiple blocks rendered on the same page. For example, you can prevent the same product from appearing in both a “Frequently Bought Together” block and a “Customers Also Viewed” block.Each entry can be either a numeric product ID (e.g., "8234567890123") or a Shopify GID (e.g., "gid://shopify/Product/8234567890123"). Both formats are accepted and resolved automatically.Excluded products are filtered out before strategy ranking, safeguard checks, and fallback evaluation. If excluding products causes the primary block to fall below its minimum products safeguard, the fallback chain is used and exclusions are applied to fallback blocks as well.
Storefront endpoints accept nested AND/OR filter groups up to two levels deep. Each nested group must contain at least one expression; empty nested groups are rejected. Metafield filter properties may include hyphens in their namespace or key, for example metafields.my-app.fit-type.Refer to the dedicated Filter Expressions guide to learn more about filter expressions.
For product blocks, this shopper filter applies to the recommended products. It supports the nested groups described above; content blocks do not accept filter_group.
Facets to be included. Accepts both exact facet codes (e.g., "vendor", "options.Size") and wildcard patterns (e.g., "options.*", "metafields.product.*").Wildcard patterns expand to all matching attribute codes. For example, "options.*" expands to all option facets like "options.Size" and "options.Color". Wildcards must match at least one attribute code to be valid.Examples:
When true, any facet backed by a metaobject_reference or list.metaobject_reference metafield is returned with a companion facetDisplay object. Each entry maps a facet value (the metaobject handle) to the referenced metaobject’s display_name and fields. When the metaobject defines a color or image field, the entry also carries a resolved swatch object.Use this when your storefront filter UI needs human-readable labels or nested field data (for example, a color name or swatch hex) instead of the raw handle. When false or omitted, only the handles are returned in facets.Values are looked up from the local metaobject cache. Handles with no matching cached metaobject are omitted from facetDisplay and remain as plain values in facets. See Metaobjects and reference metafields for the normalized shape of each entry.
Apply discounts to products, variants, or collections. When provided, price-based sorting and filtering will use discounted prices. See the Discount Entitlements guide for detailed usage.Fixed amounts use your shop’s base currency. Layers skips them on market pricing rows in a different native currency, without converting the discount. Percentage discounts still apply to those localized prices. A variant that falls back to its base price can still receive a fixed-amount discount.
Optional filter group that qualifies products for the discount based on their attributes (for example, tags or vendor). Uses the same shape as the top-level filter_group parameter. Matches are additive with products, variants, and collections on the same entitlement.
The discount value. For PERCENTAGE, this must be a number between 0 and 100 (e.g., 10 for 10% off). For FIXED_AMOUNT, this is the amount in your shop’s base currency, not the shopper’s market currency.
Persistent browser identifier that remains constant across sessions. Used to recognize returning visitors for long-term personalization. Automatically generated and managed by the Storefront Pixel.
Temporary session identifier. Layers-generated sessions expire after 30 minutes without activity. The Storefront Pixel refreshes the rolling window at page load and on every route change, including pages without tracked events. When a legacy Shopify or fallback cookie is available, Layers prefers it and does not control its lifetime. Without consent, the pixel uses a sessionStorage or in-memory fallback and does not write an analytics cookie.
Shopify B2B company location GID (e.g. gid://shopify/CompanyLocation/123456789) for the authenticated buyer. Layers resolves the catalog assigned to the company location and uses it to scope results: only products in the catalog are returned, prices come from the catalog’s price list, and excluded collections return 404. Omit for retail (DTC) traffic.When you pass companyLocationId, you must also pass the buyer’s customerId. Layers verifies with Shopify that the customer belongs to the company that owns the location before resolving the catalog; unauthorized or unauthenticated requests return a 403. See B2B catalogs.
Contextual information about the customer’s session, behavior, and environment. Automatically collected by the Storefront Pixel; must be manually provided for headless integrations. See Contextual Information for implementation guidance.
Geographic location information for regional personalization and merchandising. Layers determines it from the IP address for client-side requests. For server-side API calls (headless integrations), provide geo explicitly.
Number of units of this line in the cart. Layers rounds fractional values down to a whole number. Missing values, non-numeric values, and values below 1 count as 1. Layers uses it to calculate the cart subtotal for Free Shipping Picks.
The cart subtotal at which the shopper qualifies for free shipping, in the request currency’s major units (e.g. 75.00 for $75), not cents. Layers ignores values that aren’t a number greater than 0. Required for Free Shipping Picks blocks.
Shopify’s /cart.js and Liquid money values such as cart.total_price and item.price are in cents. Divide them by 100 before sending productsInCart[].price or freeShippingThreshold.
Products the shopper has viewed during the current session. Layers uses these as short-lived personalization signals, with recent views weighted more heavily. Only the 20 most recent views are used. The Storefront Pixel populates this automatically; send it manually only for headless integrations. See Recently viewed products.
Unit price in the request currency’s major units (e.g. 29.00 for $29), not cents, at time of purchase. Accepts a JSON number or a numeric string such as "29.00".
The page the search was started from (e.g., the referring page URL or page type). Layers accepts this field but doesn’t currently use it for ranking or rules.
Click identifiers from the landing URL, keyed by parameter name (e.g., fbclid, gclid). Layers derives the originating network from them as marketing.clickSource and discards the raw tokens. See Context data structure.
Arrival channel. Layers derives it from UTMs, click identifiers, and the referring site, and keeps a value you send only when it can’t derive one. See Arrival channel.
A/B test assignments for the shopper, keyed by experiment ID with the assigned group ID as the value (e.g., {"exp_123": "group_b"}). Used by the Experiment Group contextual condition. The Layers app embed fills this from Intelligems automatically; values your storefront sends for the same experiment take precedence. Entries whose value isn’t a string are dropped.
Shopify customer tags on the shopper’s profile (e.g., ["vip", "wholesale"]). Collected by the Storefront Pixel for signed-in customers; null for guests.
Shopify customer segment IDs the shopper belongs to. Server-resolved: Layers populates this from the signed-in identity.customerId on every request and ignores any value you send. null for guests and customers with no segment memberships. Available as context.customer.segments in contextual conditions.
Explicitly set the Shopify Market for this request. Must be provided inside context; it is not a top-level request body parameter. Used for market-specific product availability filtering and contextual pricing. Accepts a two-letter country code (e.g., "US", "CA"), a numeric Shopify Market ID (e.g., "12345"), or a Shopify Market GID (e.g., "gid://shopify/Market/12345").When not provided, the market is automatically resolved from context.geo.country (or the shopper’s detected country for client-side requests). If no matching market is found, the store’s primary market is used as the fallback.When you send a two-letter country code that belongs to the resolved market, Layers also prices for that country, ahead of the shopper’s detected location. See Market resolution.Behavior depends on the store’s market application mode (set under Settings > Search & Discovery > Search Behavior, in the Markets card):
Restrict to market catalog — Products are filtered to only those available in the resolved market, and market-specific pricing is applied
Adjust pricing only — The full catalog remains visible, but variant prices are swapped to market-specific values where available
Ignore markets (default) — Market resolution is skipped entirely; base catalog and base pricing are used for all shoppers
Storefront locale code (e.g., "en", "fr", "pt-br"). Case-insensitive; Layers normalizes to lowercase. When the locale is published in Shopify and served by the resolved market, Layers returns translated display text (titles, descriptions, option values, filter labels) while IDs, prices, and filter values stay in the source language. Regional locales fall back to their base language (pt-br uses pt). The store’s primary locale returns source text. See Translations.
ISO 4217 currency code (e.g., "USD", "EUR"). Case-insensitive; Layers normalizes to uppercase. When Layers can resolve a currency from the shopper’s market or pricing context, the server-resolved value takes precedence.
Shopify B2B company location identifier. When identity.companyLocationId is provided, Layers resolves the company location server-side and the server value takes precedence.
The shopping channel the customer is browsing from. Used for channel-specific merchandising, sorting, and analytics segmentation. Automatically detected from request headers when not provided (e.g., mobile app requests via Tapcart, Fuego, or Mobiloud Canvas are detected as "app").Accepted values:
"web" — Standard web browser (default)
"app" — Mobile app (e.g., Tapcart, Fuego, Mobiloud Canvas)
Per-request overrides for response behavior. Currently controls image preload hints emitted in the Link response header. You can disable preloads or narrow the srcset to the breakpoints your storefront uses. You cannot enable preloads when the store has them disabled.
Set to false to skip the Link header for this request. Useful for server-rendered pages that do not benefit from preload hints, or when you want to reduce response header size. Cannot enable preloads if they are disabled at the store level.
Custom responsive image widths (in pixels) to emit in imagesrcset. Each value must be an integer between 1 and 10000. Overrides the store-level srcset configuration for this request only. When omitted, the store configuration or platform defaults are used.
Media query string emitted as the imagesizes attribute in the preload Link header (for example (max-width: 600px) 100vw, 50vw). Tells the browser which srcset width to pick per viewport. Overrides the store-level sizes value for this request only. When omitted or empty, the store configuration is used. Each comma-separated entry may carry a media condition, including the last entry. See the accepted format for details. The API rejects invalid values with a validation error.
The computed attributes of the product. Only includes attributes with non-null, non-empty values. Attributes that evaluate to null or an empty string are omitted.
Total inventory quantity across the locations in the store’s inventory location scope, which is all locations by default. Only included when the store has the Expose Variant Inventory setting enabled.
Inventory policy for the variant: DENY (stop selling when out of stock) or CONTINUE (allow overselling). Only included when the store has the Expose Variant Inventory setting enabled.
Object mapping location IDs to available inventory quantities (e.g., {"1001": 5, "1002": 10}). Returns empty object {} when no inventory data exists. Only included when the store has the Expose Variant Inventory setting enabled.
When the store has the Expose Variant Inventory setting enabled, variant data in block responses (both first_or_matched_variant and variants) includes the inventory_quantity, inventory_policy, and inventory_levels fields. This behavior is consistent across all storefront API endpoints: search, browse, and blocks. See Variant Schema Fields for details on these fields.
The total number of results. When a maximum products safeguard is configured, this value is capped to the maximum. When variant breakouts are enabled, this reflects the count of tiles (both product and variant tiles) rather than just products.
The total number of pages. Calculated from totalResults and the requested page size. When a maximum products safeguard is configured, this reflects the capped total. When variant breakouts are enabled, the calculation is based on tile count.
If retrieveFacetCount is true then an object with keys and values of the specified attributes. When variant breakouts are enabled, facet counts reflect tile counts rather than product counts. Empty values and literal "null" strings are automatically excluded from facet results.
Only returned when enrichFacetMetaobjects is true and at least one requested facet is backed by a metaobject_reference or list.metaobject_reference metafield. Keys are facet attribute codes and values map each facet value (the referenced metaobject’s handle) to the metaobject’s display_name and fields. Handles with no matching cached metaobject are omitted here and remain as plain values in facets. See Metaobjects and reference metafields for the normalized field shape.
The strategy type used: interaction, similar_products, manual, metafield_reference, sequence, personalized, trending, contextual, set, or related_content.
The specific strategy key. For product strategies: frequently_bought_together, customers_also_viewed, customers_also_added_to_cart, viewed_then_bought, customers_also_bought. For collection strategies: browsed_then_bought, browsed_then_viewed, collection_trending. For trending strategies: best_sellers, trending_in_region, live_feed. For contextual strategies: searched_then_viewed, searched_then_purchased, landing_page_picks, free_shipping_picks. For similar products strategies on article anchors: similar_to_article. For related content strategies: related_articles.
Present and set to true when the block’s strategy data is still being computed or the strategy doesn’t yet have enough signal to return results. This applies to interaction strategies during their initial computation and to trending and contextual strategies that are warming up. It also applies to Photographed Together blocks while image detection is still processing your catalog. In this state, the primary block returns empty results and the fallback chain is used instead. Once the strategy data is ready, this field is no longer included in the response.
Array of variant breakout configurations applied to this block. Only present when one or more variant breakouts are active. Multiple breakouts with different option codes can work simultaneously. Each object has the structure {optionCode: "Stone"}.
The product option code that determines which variants are broken out (e.g., “Stone”, “Color”). Each product is broken out by the first matching option code from the array.
Echoes the image preload configuration used to build the Link response header for this request. Only present when image preloads are emitted. See Early hints.
The responsive image widths (in pixels) used in the imagesrcset of the Link header. Reflects the request override when provided, otherwise the store-level configuration or platform defaults.
Echoes the discount entitlements applied to this request. Only present when the request included discountEntitlements (either directly or via a matched request transform). Use this to render discount badges or labels on the storefront without re-deriving which entitlements matched. Each entry mirrors the entitlement shape sent in the request.
The entitlement criteria that qualified products for the discount. Contains any of all, products, variants, collections, or conditions. See the entitlement criteria reference.
An ordered trace of processing steps the engine performed to produce results. Each entry represents a stage in the pipeline, recorded in the order it was executed.See the Text Search documentation for the full list of possible step types.
If an active block is hidden and has no usable fallback, the API returns HTTP 200 with empty results, not a 404. For example, a matching Hide Block rule can produce this response. Treat it as a successful request with nothing to display.The response preserves the requested page and page size, the attribution token, and the block’s identity:
This empty response doesn’t include strategy details in block. Missing or inactive blocks still return 404, and a configuration that can’t resolve a required sort order still returns 422.
Blocks configured with the related content strategy return articles or pages in results instead of products. Each item has this shape:
{ "__typename": "Article", "content_type": "article", "content_id": 556677889900, "title": "How to care for linen", "handle": "how-to-care-for-linen", "summary_text": "Keep your linen pieces looking new with these care tips.", "author": "Jamie Lee", "tags": ["care", "linen"], "image": { "url": "https://cdn.shopify.com/s/files/1/0588/3677/9194/articles/linen-care.jpg", "width": 1200, "height": 800, "alt": "Folded linen shirts" }, "published_at": "2026-08-14T09:00:00Z", "blog_title": "The Journal", "url": "/blogs/the-journal/how-to-care-for-linen"}
The item fields match the Content Search API results. __typename is Article or Page depending on the block’s configured content_type. Pages don’t have author, tags, or blog_title, so those fields are null for page results.Pagination fields (totalResults, page, totalPages, resultsPerPage), attributionToken, and the block object work the same as for product blocks. Product-only request parameters (filter_group, variant_id, attributes, facets, and discountEntitlements) don’t apply to content blocks.
Strategy compatibility depends on the anchor type. See the strategy availability by anchor type matrix for the complete list of supported strategies.Requests that use a strategy type not allowed for the anchor are rejected with a validation error on strategy_type.
Every API response includes the following headers for request tracing and performance optimization:
Header
Description
x-request-id
A unique identifier (ULID) for the request. This matches the attributionToken in the response body.
x-layers-build
The Layers build version that served the request.
X-Layers-Results-Cache
Indicates whether the response was served from the results cache. Returns HIT or MISS.
Link
Contains rel="preload" directives for product images (up to 6 items). See Early hints for details. Only included when early hints are enabled (enabled by default).
The specified block ID doesn’t exist or is not active.
{ "error": "Block not found"}
422 - Sort order required
The block’s configuration didn’t resolve to a valid sort order. This can happen with collection-anchored similar-products blocks when the configured fallback sort order no longer exists. Reconfigure the block with a valid sort order in the dashboard, then retry the request.
{ "error": "A sort order code or ID is required to load this block."}
401 - Unauthorized
Invalid or missing authentication token.
402 - Store suspended
The store is suspended. Every storefront API request returns 402 until the suspension is lifted.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Layers","colors":{"primary":"#607FFD","light":"#AFC0FF","dark":"#3A57E8"},"logo":{"light":"https://mintcdn.com/protoninc/PNs-gxGUVcdBDEEC/logo.svg?fit=max\u0026auto=format\u0026n=PNs-gxGUVcdBDEEC\u0026q=85\u0026s=989e3194cb32f07e7018b8b7186b9007","dark":"https://mintcdn.com/protoninc/PNs-gxGUVcdBDEEC/logo.svg?fit=max\u0026auto=format\u0026n=PNs-gxGUVcdBDEEC\u0026q=85\u0026s=989e3194cb32f07e7018b8b7186b9007","href":"https://www.uselayers.com/?utm_source=docs\u0026utm_medium=referral\u0026utm_campaign=docs-to-site"},"favicon":"https://mintcdn.com/protoninc/qubyNEZK4oJTl9By/favicon.svg?fit=max\u0026auto=format\u0026n=qubyNEZK4oJTl9By\u0026q=85\u0026s=3611d60346e12f15e4684bc60cb69ece","api":{"mdx":{"server":"https://app.uselayers.com/api/storefront/v1"}},"navbar":{"links":[{"href":"https://www.uselayers.com/changelog?utm_source=docs\u0026utm_medium=referral\u0026utm_campaign=docs-to-site","label":"Changelog"},{"href":"mailto:support@uselayers.com","label":"Support"},{"href":"https://app.uselayers.com/dashboard?utm_source=docs\u0026utm_medium=referral\u0026utm_campaign=docs-to-dashboard","label":"Dashboard"}],"primary":{"type":"button","label":"Request Demo","href":"https://www.uselayers.com/demo?utm_source=docs\u0026utm_medium=referral\u0026utm_campaign=docs-to-site"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/uselayers"},"links":[{"header":"Legal","items":[{"label":"Privacy Statement","href":"https://docs.uselayers.com/legal/privacy-statement"},{"label":"Terms of Use","href":"https://docs.uselayers.com/legal/terms-of-use"}]}]},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"protoninc","hasAudioNarration":false,"actualSubdomain":"protoninc","customDomains":["docs.uselayers.com"],"gitSource":{"type":"github","owner":"protonagency","repo":"layers-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aec9466ca078695d82aa007","collectionId":"eccc4149-6768-4a44-9ebd-e8539317fbe7","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aec9466ca078695d82aa007"},"feedback":{"thumbs":true,"edits":false,"issues":false,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"}},"buildId":"6aedfe438505f54819241077","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"default","tag":"Documentation","count":103},{"language":"default","tag":"Help Center","count":90},{"language":"default","tag":"Merchandising","count":57},{"language":"default","tag":"Developers","count":42},{"language":"default","tag":"API Reference","count":25},{"language":"default","tag":"SDK","count":20},{"language":"default","tag":"Sort Orders","count":18},{"language":"default","tag":"Configuration","count":15},{"language":"default","tag":"Liquid","count":14},{"language":"default","tag":"Search \u0026 Discovery","count":14}]},"assistantConfig":{"enableAskAiButton":true,"enableAskAiSearchBar":false,"deflection":{"enabled":true,"email":"support@uselayers.com","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":false,"toggles":[],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/blocks","slug":"/api-reference/blocks","pageMetadata":{"api":"POST /blocks/{blockId}/products","title":"Blocks API: Get Block Products","sidebarTitle":"Block Products","description":"Blocks API endpoint that returns product recommendations for a specific block using its configured strategy, fallback chain, and merchandising rules.","href":"/api-reference/blocks"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Blocks API endpoint that returns product recommendations for a specific block using its configured strategy, fallback chain, and merchandising rules.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,CodeBlock,Expandable,Heading,Note,ParamField,ResponseField,Table,Warning}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`authorization`,children:`Authorization`}),`\n`,_jsx(ParamField,{header:`X-Storefront-Access-Token`,type:`string`,required:true,id:`param-x-storefront-access-token`,children:_jsxs(_components.p,{children:[`Token-based authentication header in the form of `,_jsx(_components.code,{children:`\u003cYOUR_LAYERS_TOKEN>`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`headers`,children:`Headers`}),`\n`,_jsx(ParamField,{header:`Content-Type`,type:`string`,default:`application/json`,required:true,id:`param-content-type`}),`\n`,_jsx(ParamField,{header:`Accept`,type:`string`,default:`application/json`,required:true,id:`param-accept`}),`\n`,_jsx(Heading,{level:`2`,id:`path-parameters`,children:`Path parameters`}),`\n`,_jsxs(ParamField,{path:`blockId`,type:`string`,required:true,id:`param-block-id`,children:[_jsx(_components.p,{children:`The unique identifier (ULID) of the block you wish to retrieve products for.`}),_jsxs(_components.p,{children:[`When sourcing the block from a `,_jsx(_components.a,{href:`/shopify-integration/metaobjects-metafields/metaobjects#block-metaobject`,children:`block metaobject`}),` in a Shopify theme, note that the metaobject’s `,_jsx(_components.code,{children:`system.handle`}),` is `,_jsx(_components.code,{children:`layers-\u003clowercase block ID>`}),`, not the raw ID. Transform it (`,_jsx(_components.code,{children:`handle | remove_first: 'layers-' | upcase`}),`) before passing it here. Passing the prefixed handle matches no block and returns `,_jsx(_components.code,{children:`404`}),` with `,_jsx(_components.code,{children:`\"Block not found\"`}),`.`]})]}),`\n`,_jsx(Heading,{level:`2`,id:`body`,children:`Body`}),`\n`,_jsxs(ParamField,{body:`anchor_id`,type:`string`,id:`param-anchor-id`,children:[_jsx(_components.p,{children:`The anchor identifier for the block. Required for product, article, and collection anchor types.`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Product anchors`}),`: Numeric product ID (e.g., `,_jsx(_components.code,{children:`\"8234567890123\"`}),`) or Shopify GID (e.g., `,_jsx(_components.code,{children:`\"gid://shopify/Product/8234567890123\"`}),`). Both formats are resolved automatically.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Article anchors`}),`: Numeric article ID (e.g., `,_jsx(_components.code,{children:`\"556677889900\"`}),`) or Shopify GID (e.g., `,_jsx(_components.code,{children:`\"gid://shopify/Article/556677889900\"`}),`). Both formats are resolved automatically.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Collection anchors`}),`: Collection ID (e.g., `,_jsx(_components.code,{children:`\"456789012345\"`}),`) or collection handle (e.g., `,_jsx(_components.code,{children:`\"summer-collection\"`}),`). The system automatically resolves both numeric IDs and string handles.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Cart anchors`}),`: Not required. Layers uses every `,_jsx(_components.code,{children:`context.productsInCart`}),` entry with a valid `,_jsx(_components.code,{children:`productId`}),`, removes duplicates, and preserves cart order. Entries without a `,_jsx(_components.code,{children:`productId`}),` are skipped.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Home, Search, Not Found, Landing, Other anchors`}),`: Not required. These surfaces rely on the `,_jsx(_components.code,{children:`context`}),` and `,_jsx(_components.code,{children:`identity`}),` parameters (search query, landing source, shopper context) to drive strategy selection. Search-anchored strategies (`,_jsx(_components.code,{children:`searched_then_viewed`}),`, `,_jsx(_components.code,{children:`searched_then_purchased`}),`) resolve their query from the last `,_jsx(_components.code,{children:`searchQuery`}),` in `,_jsx(_components.code,{children:`context.priorSearches`}),`, not from `,_jsx(_components.code,{children:`anchor_id`}),`, so callers must pass `,_jsx(_components.code,{children:`context: { priorSearches: [{ searchQuery }] }`}),` for those blocks to return results.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`None anchors`}),`: Not required (global blocks)`]}),`\n`]})]}),`\n`,_jsx(ParamField,{body:`anchor_handle`,type:`string`,id:`param-anchor-handle`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Deprecated`}),`: Use `,_jsx(_components.code,{children:`anchor_id`}),` instead. For collection anchors, `,_jsx(_components.code,{children:`anchor_id`}),` now accepts both collection IDs and handles.`]})}),`\n`,_jsxs(ParamField,{body:`variant_id`,type:`integer`,id:`param-variant-id`,children:[_jsx(_components.p,{children:`The ID of the specific variant the shopper is viewing on the anchor product. Only used for product-anchored blocks running a variant-aware strategy:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.a,{href:`/platform/blocks/strategies#similar-products`,children:`Similar Products`})}),`: the block seeds similarity from that variant instead of the product as a whole, so recommendations reflect the variant’s visual and semantic attributes, such as the selected color.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.a,{href:`/platform/blocks/strategies#metafield-reference-strategy`,children:`Metafield References`})}),` with a variant-scoped metafield: the block reads the reference metafield from that variant, falling back to the anchor product’s product-scoped value when the variant has none.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.a,{href:`/platform/blocks/strategies#photographed-together`,children:`Photographed Together`})}),`: when the variant has photography of its own, the set is built from those shots, so shoppers on a specific colorway see the items it was styled with.`]}),`\n`]}),_jsx(_components.p,{children:`The value is silently ignored when:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`The block’s anchor type is not `,_jsx(_components.code,{children:`product`}),`.`]}),`\n`,_jsx(_components.li,{children:`The variant does not belong to the anchor product.`}),`\n`,_jsx(_components.li,{children:`The block’s strategy is not variant-aware.`}),`\n`]}),_jsxs(_components.p,{children:[`When `,_jsx(_components.code,{children:`variant_id`}),` is set on a product-anchored similar-products block, results are computed in real time rather than served from the precomputed cache. Different variants of the same product return different results and are cached under separate keys.`]})]}),`\n`,_jsx(ParamField,{body:`attributes`,type:`string[]`,description:`Product attributes to include in the response.`,id:`param-attributes`,children:_jsxs(_components.p,{children:[`Product attributes to include in the response. By default, all attributes are included except opt-in attributes noted below. Available attributes include: `,_jsx(_components.code,{children:`id`}),`, `,_jsx(_components.code,{children:`title`}),`, `,_jsx(_components.code,{children:`handle`}),`, `,_jsx(_components.code,{children:`body_html`}),`, `,_jsx(_components.code,{children:`vendor`}),`, `,_jsx(_components.code,{children:`product_type`}),`, `,_jsx(_components.code,{children:`tags`}),`, `,_jsx(_components.code,{children:`images`}),`, `,_jsx(_components.code,{children:`available`}),`, `,_jsx(_components.code,{children:`created_at`}),`, `,_jsx(_components.code,{children:`updated_at`}),`, `,_jsx(_components.code,{children:`published_at`}),`, `,_jsx(_components.code,{children:`price_range`}),`, `,_jsx(_components.code,{children:`options`}),`, `,_jsx(_components.code,{children:`original_options`}),`, `,_jsx(_components.code,{children:`metafields`}),`, `,_jsx(_components.code,{children:`named_tags`}),`, `,_jsx(_components.code,{children:`calculated`}),`, `,_jsx(_components.code,{children:`category`}),`, `,_jsx(_components.code,{children:`featured_media`}),`, `,_jsx(_components.code,{children:`is_gift_card`}),`, `,_jsx(_components.code,{children:`has_variants_that_require_components`}),`, `,_jsx(_components.code,{children:`combined_listing_parent_product_id`}),`, `,_jsx(_components.code,{children:`combined_listing_role`}),`, `,_jsx(_components.code,{children:`first_or_matched_variant`}),`, and `,_jsx(_components.code,{children:`variants`}),`. The `,_jsx(_components.code,{children:`collection_titles`}),` attribute is opt-in: pass it in `,_jsx(_components.code,{children:`attributes`}),` to include the array of collection titles each product belongs to. It is excluded from responses by default. See the `,_jsx(_components.a,{href:`/developers/product-schema/api-attributes`,children:`Product Schema`}),` for detailed descriptions, including `,_jsx(_components.a,{href:`/developers/product-schema/api-attributes#selecting-nested-fields`,children:`nested field selection`}),` for slicing arrays and filtering collections (for example, `,_jsx(`code`,{children:`images[:2].src`}),`, `,_jsx(`code`,{children:`variants[sku=ABC].price`}),`, `,_jsx(`code`,{children:`metafields[namespace=custom]`}),`).`]})}),`\n`,_jsxs(ParamField,{body:`excludeProductIds`,type:`string[]`,id:`param-exclude-product-ids`,children:[_jsx(_components.p,{children:`A list of product IDs to exclude from the recommendations returned by this block. Use this to deduplicate products across multiple blocks rendered on the same page. For example, you can prevent the same product from appearing in both a “Frequently Bought Together” block and a “Customers Also Viewed” block.`}),_jsxs(_components.p,{children:[`Each entry can be either a numeric product ID (e.g., `,_jsx(_components.code,{children:`\"8234567890123\"`}),`) or a Shopify GID (e.g., `,_jsx(_components.code,{children:`\"gid://shopify/Product/8234567890123\"`}),`). Both formats are accepted and resolved automatically.`]}),_jsxs(_components.p,{children:[`Excluded products are filtered out before strategy ranking, safeguard checks, and fallback evaluation. If excluding products causes the primary block to fall below its minimum products safeguard, the `,_jsx(_components.a,{href:`/platform/blocks/fallback-chains`,children:`fallback chain`}),` is used and exclusions are applied to fallback blocks as well.`]})]}),`\n`,_jsxs(ParamField,{body:`filter_group`,type:`object`,description:`A group of filter conditions using various operators.`,id:`param-filter-group`,children:[_jsxs(_components.p,{children:[`Storefront endpoints accept nested `,_jsx(_components.code,{children:`AND`}),`/`,_jsx(_components.code,{children:`OR`}),` filter groups up to two levels deep. Each nested group must contain at least one expression; empty nested groups are rejected. Metafield filter properties may include hyphens in their namespace or key, for example `,_jsx(_components.code,{children:`metafields.my-app.fit-type`}),`.`]}),_jsxs(_components.p,{children:[`Refer to the dedicated `,_jsx(_components.a,{href:`/engine/filtering`,children:`Filter Expressions`}),` guide to learn more about filter expressions.`]})]}),`\n`,_jsxs(_components.p,{children:[`For product blocks, this shopper filter applies to the recommended products. It supports the nested groups described above; content blocks do not accept `,_jsx(_components.code,{children:`filter_group`}),`.`]}),`\n`,_jsx(ParamField,{body:`pagination`,type:`Pagination Object`,description:`Specifies the page number and limit for pagination.`,id:`param-pagination`,children:_jsxs(Expandable,{title:`pagination`,children:[_jsx(ParamField,{body:`page`,type:`int`,min:`1`,max:`100`,id:`param-page`,children:_jsx(_components.p,{children:`The current page of results to fetch.`})}),_jsx(ParamField,{body:`limit`,type:`int`,min:`1`,max:`100`,id:`param-limit`,children:_jsx(_components.p,{children:`The max results to fetch per page.`})})]})}),`\n`,_jsxs(ParamField,{body:`facets`,type:`string[]`,description:`List of facets to include in the response.`,id:`param-facets`,children:[_jsxs(_components.p,{children:[`Facets to be included. Accepts both exact facet codes (e.g., `,_jsx(_components.code,{children:`\"vendor\"`}),`, `,_jsx(_components.code,{children:`\"options.Size\"`}),`) and wildcard patterns (e.g., `,_jsx(_components.code,{children:`\"options.*\"`}),`, `,_jsx(_components.code,{children:`\"metafields.product.*\"`}),`).`]}),_jsxs(_components.p,{children:[`Wildcard patterns expand to all matching attribute codes. For example, `,_jsx(_components.code,{children:`\"options.*\"`}),` expands to all option facets like `,_jsx(_components.code,{children:`\"options.Size\"`}),` and `,_jsx(_components.code,{children:`\"options.Color\"`}),`. Wildcards must match at least one attribute code to be valid.`]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Examples:`})}),_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`8`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Exact facet codes`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"facets\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"vendor\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"options.Size\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"options.Color\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Wildcard pattern`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"facets\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"options.*\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Mixed exact and wildcard`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"facets\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"vendor\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"options.*\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"metafields.product.*\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`})]}),`\n`]})})})]}),`\n`,_jsx(ParamField,{body:`retrieveFacetCount`,type:`boolean`,description:`Retrieve facet count.`,id:`param-retrieve-facet-count`,children:_jsx(_components.p,{children:`If the count of each facet value should be calculated.`})}),`\n`,_jsx(ParamField,{body:`includeFacetRanges`,type:`boolean`,description:`Return min/max range for facets with a numeric value.`,id:`param-include-facet-ranges`,children:_jsx(_components.p,{children:`If you want a min/max range for numeric facets such as price.`})}),`\n`,_jsxs(ParamField,{body:`enrichFacetMetaobjects`,type:`boolean`,description:`Hydrate metaobject-reference facet values with display data.`,id:`param-enrich-facet-metaobjects`,children:[_jsxs(_components.p,{children:[`When `,_jsx(_components.code,{children:`true`}),`, any facet backed by a `,_jsx(_components.code,{children:`metaobject_reference`}),` or `,_jsx(_components.code,{children:`list.metaobject_reference`}),` metafield is returned with a companion `,_jsx(_components.code,{children:`facetDisplay`}),` object. Each entry maps a facet value (the metaobject handle) to the referenced metaobject’s `,_jsx(_components.code,{children:`display_name`}),` and `,_jsx(_components.code,{children:`fields`}),`. When the metaobject defines a color or image field, the entry also carries a resolved `,_jsx(_components.code,{children:`swatch`}),` object.`]}),_jsxs(_components.p,{children:[`Use this when your storefront filter UI needs human-readable labels or nested field data (for example, a color name or swatch hex) instead of the raw handle. When `,_jsx(_components.code,{children:`false`}),` or omitted, only the handles are returned in `,_jsx(_components.code,{children:`facets`}),`.`]}),_jsxs(_components.p,{children:[`Values are looked up from the local metaobject cache. Handles with no matching cached metaobject are omitted from `,_jsx(_components.code,{children:`facetDisplay`}),` and remain as plain values in `,_jsx(_components.code,{children:`facets`}),`. See `,_jsx(_components.a,{href:`/developers/product-schema/metafields/metaobjects-and-references`,children:`Metaobjects and reference metafields`}),` for the normalized shape of each entry.`]})]}),`\n`,_jsxs(ParamField,{body:`discountEntitlements`,type:`array`,description:`Array of discount entitlement objects for applying dynamic discounts to products. Maximum 50 entries.`,id:`param-discount-entitlements`,children:[_jsxs(_components.p,{children:[`Apply discounts to products, variants, or collections. When provided, price-based sorting and filtering will use discounted prices. See the `,_jsx(_components.a,{href:`/shopify-integration/discount-entitlements`,children:`Discount Entitlements`}),` guide for detailed usage.`]}),_jsx(_components.p,{children:`Fixed amounts use your shop’s base currency. Layers skips them on market pricing rows in a different native currency, without converting the discount. Percentage discounts still apply to those localized prices. A variant that falls back to its base price can still receive a fixed-amount discount.`}),_jsxs(Expandable,{title:`Discount Entitlement Object`,children:[_jsxs(ParamField,{body:`entitled`,type:`object`,required:true,id:`param-entitled`,children:[_jsx(_components.p,{children:`Defines which products qualify for the discount.`}),_jsxs(Expandable,{title:`entitled`,children:[_jsx(ParamField,{body:`all`,type:`boolean`,id:`param-all`,children:_jsxs(_components.p,{children:[`When `,_jsx(_components.code,{children:`true`}),`, applies discount to all products. When `,_jsx(_components.code,{children:`false`}),`, uses products, variants, or collections arrays.`]})}),_jsx(ParamField,{body:`products`,type:`string[]`,id:`param-products`,children:_jsx(_components.p,{children:`Array of product IDs or handles that qualify for the discount. Maximum 250 entries.`})}),_jsx(ParamField,{body:`variants`,type:`string[] | number[]`,id:`param-variants`,children:_jsx(_components.p,{children:`Array of variant IDs that qualify for the discount. Maximum 250 entries.`})}),_jsx(ParamField,{body:`collections`,type:`string[]`,id:`param-collections`,children:_jsx(_components.p,{children:`Array of collection handles that qualify for the discount. Maximum 250 entries.`})}),_jsx(ParamField,{body:`conditions`,type:`object`,id:`param-conditions`,children:_jsxs(_components.p,{children:[`Optional filter group that qualifies products for the discount based on their attributes (for example, `,_jsx(_components.code,{children:`tags`}),` or `,_jsx(_components.code,{children:`vendor`}),`). Uses the same shape as the top-level `,_jsx(_components.code,{children:`filter_group`}),` parameter. Matches are additive with `,_jsx(_components.code,{children:`products`}),`, `,_jsx(_components.code,{children:`variants`}),`, and `,_jsx(_components.code,{children:`collections`}),` on the same entitlement.`]})})]})]}),_jsxs(ParamField,{body:`discount`,type:`object`,required:true,id:`param-discount`,children:[_jsx(_components.p,{children:`Defines the discount to apply.`}),_jsxs(Expandable,{title:`discount`,children:[_jsx(ParamField,{body:`type`,type:`string`,required:true,id:`param-type`,children:_jsxs(_components.p,{children:[`The discount type: `,_jsx(_components.code,{children:`PERCENTAGE`}),` or `,_jsx(_components.code,{children:`FIXED_AMOUNT`}),`.`]})}),_jsx(ParamField,{body:`value`,type:`number`,required:true,id:`param-value`,children:_jsxs(_components.p,{children:[`The discount value. For `,_jsx(_components.code,{children:`PERCENTAGE`}),`, this must be a number between 0 and 100 (e.g., 10 for 10% off). For `,_jsx(_components.code,{children:`FIXED_AMOUNT`}),`, this is the amount in your shop’s base currency, not the shopper’s market currency.`]})})]})]})]})]}),`\n`,_jsxs(ParamField,{body:`identity`,type:`object`,id:`param-identity`,children:[_jsx(_components.p,{children:`User identity information for tracking and personalization. Automatically managed by the Storefront Pixel; required for headless integrations.`}),_jsxs(Expandable,{title:`Properties`,children:[_jsx(ParamField,{body:`deviceId`,type:`string`,id:`param-device-id`,children:_jsx(_components.p,{children:`Persistent browser identifier that remains constant across sessions. Used to recognize returning visitors for long-term personalization. Automatically generated and managed by the Storefront Pixel.`})}),_jsx(ParamField,{body:`sessionId`,type:`string`,id:`param-session-id`,children:_jsx(_components.p,{children:`Temporary session identifier. Layers-generated sessions expire after 30 minutes without activity. The Storefront Pixel refreshes the rolling window at page load and on every route change, including pages without tracked events. When a legacy Shopify or fallback cookie is available, Layers prefers it and does not control its lifetime. Without consent, the pixel uses a sessionStorage or in-memory fallback and does not write an analytics cookie.`})}),_jsx(ParamField,{body:`customerId`,type:`string`,id:`param-customer-id`,children:_jsx(_components.p,{children:`Shopify customer ID for authenticated users. Only present when the customer is signed in to their account.`})}),_jsxs(ParamField,{body:`companyLocationId`,type:`string`,id:`param-company-location-id`,children:[_jsxs(_components.p,{children:[`Shopify B2B company location GID (e.g. `,_jsx(_components.code,{children:`gid://shopify/CompanyLocation/123456789`}),`) for the authenticated buyer. Layers resolves the catalog assigned to the company location and uses it to scope results: only products in the catalog are returned, prices come from the catalog’s price list, and excluded collections return 404. Omit for retail (DTC) traffic.`]}),_jsxs(_components.p,{children:[`When you pass `,_jsx(_components.code,{children:`companyLocationId`}),`, you must also pass the buyer’s `,_jsx(_components.code,{children:`customerId`}),`. Layers verifies with Shopify that the customer belongs to the company that owns the location before resolving the catalog; unauthorized or unauthenticated requests return a `,_jsx(_components.code,{children:`403`}),`. See `,_jsx(_components.a,{href:`/shopify-integration/b2b-catalogs`,children:`B2B catalogs`}),`.`]})]})]})]}),`\n`,_jsxs(ParamField,{body:`context`,type:`object`,id:`param-context`,children:[_jsxs(_components.p,{children:[`Contextual information about the customer’s session, behavior, and environment. Automatically collected by the Storefront Pixel; must be manually provided for headless integrations. See `,_jsx(_components.a,{href:`/engine/contextual-information`,children:`Contextual Information`}),` for implementation guidance.`]}),_jsxs(Expandable,{title:`Properties`,children:[_jsxs(ParamField,{body:`geo`,type:`object`,id:`param-geo`,children:[_jsxs(_components.p,{children:[`Geographic location information for regional personalization and merchandising. Layers determines it from the IP address for client-side requests. For server-side API calls (headless integrations), provide `,_jsx(_components.code,{children:`geo`}),` explicitly.`]}),_jsxs(Expandable,{title:`Properties`,children:[_jsx(ParamField,{body:`country`,type:`string`,id:`param-country`,children:_jsx(_components.p,{children:`Country code or name (e.g., “US”, “Canada”).`})}),_jsx(ParamField,{body:`province`,type:`string`,id:`param-province`,children:_jsx(_components.p,{children:`State or province name (e.g., “California”, “Ontario”).`})}),_jsx(ParamField,{body:`city`,type:`string`,id:`param-city`,children:_jsx(_components.p,{children:`City name (e.g., “Los Angeles”, “Toronto”).`})})]})]}),_jsxs(ParamField,{body:`productsInCart`,type:`array`,id:`param-products-in-cart`,children:[_jsx(_components.p,{children:`Products currently in the customer’s cart. Used to surface complementary products and influence relevance scoring.`}),_jsxs(Expandable,{title:`Array Item Properties`,children:[_jsx(ParamField,{body:`title`,type:`string`,id:`param-title`,children:_jsxs(_components.p,{children:[`Product title. Each entry needs at least a `,_jsx(_components.code,{children:`productId`}),`, `,_jsx(_components.code,{children:`variantId`}),`, or non-empty `,_jsx(_components.code,{children:`title`}),`. Layers drops entries with none of these.`]})}),_jsx(ParamField,{body:`price`,type:`number`,id:`param-price`,children:_jsxs(_components.p,{children:[`Unit price in the request currency’s major units (e.g. `,_jsx(_components.code,{children:`29.00`}),` for $29), not cents. Accepts a JSON number or a numeric string such as `,_jsx(_components.code,{children:`\"29.00\"`}),`.`]})}),_jsx(ParamField,{body:`type`,type:`string`,id:`param-type-1`,children:_jsx(_components.p,{children:`Product type or category.`})}),_jsx(ParamField,{body:`productId`,type:`string`,id:`param-product-id`,children:_jsxs(_components.p,{children:[`Product identifier. Accepts a numeric ID (e.g., `,_jsx(_components.code,{children:`\"8234567890123\"`}),`) or a Shopify GID (e.g., `,_jsx(_components.code,{children:`\"gid://shopify/Product/8234567890123\"`}),`).`]})}),_jsx(ParamField,{body:`variantId`,type:`string`,id:`param-variant-id-1`,children:_jsx(_components.p,{children:`Product variant identifier.`})}),_jsx(ParamField,{body:`options`,type:`object`,id:`param-options`,children:_jsxs(_components.p,{children:[`Product variant options (e.g., `,_jsx(_components.code,{children:`{\"Size\": \"11\", \"Color\": \"Red\"}`}),`).`]})}),_jsx(ParamField,{body:`quantity`,type:`integer`,id:`param-quantity`,children:_jsxs(_components.p,{children:[`Number of units of this line in the cart. Layers rounds fractional values down to a whole number. Missing values, non-numeric values, and values below `,_jsx(_components.code,{children:`1`}),` count as `,_jsx(_components.code,{children:`1`}),`. Layers uses it to calculate the cart subtotal for `,_jsx(_components.a,{href:`/platform/blocks/strategies#free-shipping-picks`,children:`Free Shipping Picks`}),`.`]})})]})]}),_jsx(ParamField,{body:`freeShippingThreshold`,type:`number`,id:`param-free-shipping-threshold`,children:_jsxs(_components.p,{children:[`The cart subtotal at which the shopper qualifies for free shipping, in the request currency’s major units (e.g. `,_jsx(_components.code,{children:`75.00`}),` for $75), not cents. Layers ignores values that aren’t a number greater than `,_jsx(_components.code,{children:`0`}),`. Required for `,_jsx(_components.a,{href:`/platform/blocks/strategies#free-shipping-picks`,children:`Free Shipping Picks`}),` blocks.`]})}),_jsx(Warning,{children:_jsxs(_components.p,{children:[`Shopify’s `,_jsx(_components.code,{children:`/cart.js`}),` and Liquid money values such as `,_jsx(_components.code,{children:`cart.total_price`}),` and `,_jsx(_components.code,{children:`item.price`}),` are in cents. Divide them by 100 before sending `,_jsx(_components.code,{children:`productsInCart[].price`}),` or `,_jsx(_components.code,{children:`freeShippingThreshold`}),`.`]})}),_jsxs(ParamField,{body:`productsViewed`,type:`array`,id:`param-products-viewed`,children:[_jsxs(_components.p,{children:[`Products the shopper has viewed during the current session. Layers uses these as short-lived personalization signals, with recent views weighted more heavily. Only the 20 most recent views are used. The Storefront Pixel populates this automatically; send it manually only for headless integrations. See `,_jsx(_components.a,{href:`/engine/contextual-information/data-structure#recently-viewed-products`,children:`Recently viewed products`}),`.`]}),_jsxs(Expandable,{title:`Array Item Properties`,children:[_jsx(ParamField,{body:`id`,type:`string`,id:`param-id`,children:_jsxs(_components.p,{children:[`Product identifier. Accepts a numeric ID or a Shopify GID. Also accepted as `,_jsx(_components.code,{children:`productId`}),`.`]})}),_jsx(ParamField,{body:`at`,type:`integer`,id:`param-at`,children:_jsxs(_components.p,{children:[`Timestamp of the view in Unix milliseconds. Views without `,_jsx(_components.code,{children:`at`}),` still count but skip recency weighting.`]})}),_jsx(ParamField,{body:`title`,type:`string`,id:`param-title-1`,children:_jsx(_components.p,{children:`Product title.`})}),_jsx(ParamField,{body:`type`,type:`string`,id:`param-type-2`,children:_jsx(_components.p,{children:`Product type or category.`})}),_jsx(ParamField,{body:`variantId`,type:`string`,id:`param-variant-id-2`,children:_jsx(_components.p,{children:`Variant identifier, if the shopper viewed a specific variant.`})}),_jsx(ParamField,{body:`options`,type:`object`,id:`param-options-1`,children:_jsxs(_components.p,{children:[`Product variant options (e.g., `,_jsx(_components.code,{children:`{\"Size\": \"11\", \"Color\": \"Red\"}`}),`).`]})})]})]}),_jsxs(ParamField,{body:`productsPurchased`,type:`array`,id:`param-products-purchased`,children:[_jsx(_components.p,{children:`Products the customer has previously purchased. Informs recommendations and prevents over-promotion of owned items.`}),_jsxs(Expandable,{title:`Array Item Properties`,children:[_jsx(ParamField,{body:`title`,type:`string`,id:`param-title-2`,children:_jsxs(_components.p,{children:[`Product title. Each entry needs at least a `,_jsx(_components.code,{children:`productId`}),`, `,_jsx(_components.code,{children:`variantId`}),`, or non-empty `,_jsx(_components.code,{children:`title`}),`. Layers drops entries with none of these.`]})}),_jsx(ParamField,{body:`price`,type:`number`,id:`param-price-1`,children:_jsxs(_components.p,{children:[`Unit price in the request currency’s major units (e.g. `,_jsx(_components.code,{children:`29.00`}),` for $29), not cents, at time of purchase. Accepts a JSON number or a numeric string such as `,_jsx(_components.code,{children:`\"29.00\"`}),`.`]})}),_jsx(ParamField,{body:`type`,type:`string`,id:`param-type-3`,children:_jsx(_components.p,{children:`Product type or category.`})}),_jsx(ParamField,{body:`productId`,type:`string`,id:`param-product-id-1`,children:_jsxs(_components.p,{children:[`Product identifier. Accepts a numeric ID (e.g., `,_jsx(_components.code,{children:`\"8234567890123\"`}),`) or a Shopify GID (e.g., `,_jsx(_components.code,{children:`\"gid://shopify/Product/8234567890123\"`}),`).`]})}),_jsx(ParamField,{body:`variantId`,type:`string`,id:`param-variant-id-3`,children:_jsx(_components.p,{children:`Product variant identifier.`})}),_jsx(ParamField,{body:`options`,type:`object`,id:`param-options-2`,children:_jsxs(_components.p,{children:[`Product variant options (e.g., `,_jsx(_components.code,{children:`{\"Size\": \"11\", \"Color\": \"Red\"}`}),`).`]})})]})]}),_jsxs(ParamField,{body:`priorSearches`,type:`array`,id:`param-prior-searches`,children:[_jsx(_components.p,{children:`Recent search queries and their outcomes. Helps understand customer intent and refine relevance models.`}),_jsxs(Expandable,{title:`Array Item Properties`,children:[_jsx(ParamField,{body:`searchQuery`,type:`string`,required:true,id:`param-search-query`,children:_jsx(_components.p,{children:`The search query text.`})}),_jsx(ParamField,{body:`hadClick`,type:`boolean`,default:`false`,id:`param-had-click`,children:_jsx(_components.p,{children:`Whether the customer clicked on any results from this search.`})}),_jsx(ParamField,{body:`hasResults`,type:`boolean`,default:`false`,id:`param-has-results`,children:_jsx(_components.p,{children:`Whether the search returned any results.`})}),_jsx(ParamField,{body:`fromPage`,type:`string`,id:`param-from-page`,children:_jsx(_components.p,{children:`The page the search was started from (e.g., the referring page URL or page type). Layers accepts this field but doesn’t currently use it for ranking or rules.`})})]})]}),_jsxs(ParamField,{body:`marketing`,type:`object`,id:`param-marketing`,children:[_jsx(_components.p,{children:`UTM parameters and marketing campaign information for attribution tracking.`}),_jsxs(Expandable,{title:`Properties`,children:[_jsx(ParamField,{body:`source`,type:`string`,id:`param-source`,children:_jsx(_components.p,{children:`Marketing source (e.g., “google”, “facebook”).`})}),_jsx(ParamField,{body:`medium`,type:`string`,id:`param-medium`,children:_jsx(_components.p,{children:`Marketing medium (e.g., “cpc”, “email”, “social”).`})}),_jsx(ParamField,{body:`campaign`,type:`string`,id:`param-campaign`,children:_jsx(_components.p,{children:`Campaign name.`})}),_jsx(ParamField,{body:`term`,type:`string`,id:`param-term`,children:_jsx(_components.p,{children:`Search term or keyword.`})}),_jsx(ParamField,{body:`content`,type:`string`,id:`param-content`,children:_jsxs(_components.p,{children:[`Ad or link variant, such as the value of `,_jsx(_components.code,{children:`utm_content`}),`.`]})}),_jsx(ParamField,{body:`clickIds`,type:`object`,id:`param-click-ids`,children:_jsxs(_components.p,{children:[`Click identifiers from the landing URL, keyed by parameter name (e.g., `,_jsx(_components.code,{children:`fbclid`}),`, `,_jsx(_components.code,{children:`gclid`}),`). Layers derives the originating network from them as `,_jsx(_components.code,{children:`marketing.clickSource`}),` and discards the raw tokens. See `,_jsx(_components.a,{href:`/engine/contextual-information/data-structure#click-identifiers-and-derived-click-source`,children:`Context data structure`}),`.`]})}),_jsx(ParamField,{body:`referrer`,type:`string`,id:`param-referrer`,children:_jsxs(_components.p,{children:[`Host or URL of the site that linked the shopper to the storefront (e.g., “google.com”). Layers normalizes it to a lowercase host without `,_jsx(_components.code,{children:`www.`}),`.`]})}),_jsx(ParamField,{body:`landingPath`,type:`string`,id:`param-landing-path`,children:_jsx(_components.p,{children:`Storefront path the shopper first landed on this visit (e.g., “/collections/sale”). Layers removes the query string and keeps up to 512 characters.`})}),_jsx(ParamField,{body:`channel`,type:`string`,id:`param-channel`,children:_jsxs(_components.p,{children:[`Arrival channel. Layers derives it from UTMs, click identifiers, and the referring site, and keeps a value you send only when it can’t derive one. See `,_jsx(_components.a,{href:`/engine/contextual-information/data-structure#arrival-channel`,children:`Arrival channel`}),`.`]})})]})]}),_jsx(ParamField,{body:`experiments`,type:`object`,id:`param-experiments`,children:_jsxs(_components.p,{children:[`A/B test assignments for the shopper, keyed by experiment ID with the assigned group ID as the value (e.g., `,_jsx(_components.code,{children:`{\"exp_123\": \"group_b\"}`}),`). Used by the `,_jsx(_components.strong,{children:`Experiment Group`}),` contextual condition. The Layers app embed fills this from Intelligems automatically; values your storefront sends for the same experiment take precedence. Entries whose value isn’t a string are dropped.`]})}),_jsxs(ParamField,{body:`customer`,type:`object`,id:`param-customer`,children:[_jsx(_components.p,{children:`Aggregated customer behavior and purchase patterns for personalization.`}),_jsxs(Expandable,{title:`Properties`,children:[_jsx(ParamField,{body:`signedIn`,type:`boolean`,id:`param-signed-in`,children:_jsx(_components.p,{children:`Whether the customer is currently authenticated.`})}),_jsx(ParamField,{body:`returning`,type:`boolean`,id:`param-returning`,children:_jsx(_components.p,{children:`Whether this is a returning customer.`})}),_jsx(ParamField,{body:`numberOfOrders`,type:`integer`,id:`param-number-of-orders`,children:_jsx(_components.p,{children:`Total number of orders placed.`})}),_jsx(ParamField,{body:`averageOrderValue`,type:`number`,id:`param-average-order-value`,children:_jsx(_components.p,{children:`Average order value in store currency.`})}),_jsx(ParamField,{body:`daysBetweenOrders`,type:`integer`,id:`param-days-between-orders`,children:_jsx(_components.p,{children:`Average days between orders.`})}),_jsx(ParamField,{body:`daysSinceLastOrder`,type:`integer`,id:`param-days-since-last-order`,children:_jsx(_components.p,{children:`Days since the most recent order.`})}),_jsx(ParamField,{body:`daysSinceOldestOrder`,type:`integer`,id:`param-days-since-oldest-order`,children:_jsx(_components.p,{children:`Days since the first order.`})}),_jsx(ParamField,{body:`totalSpent`,type:`number`,id:`param-total-spent`,children:_jsx(_components.p,{children:`Total amount spent in store currency.`})}),_jsx(ParamField,{body:`tags`,type:`array`,id:`param-tags`,children:_jsxs(_components.p,{children:[`Shopify customer tags on the shopper’s profile (e.g., `,_jsx(_components.code,{children:`[\"vip\", \"wholesale\"]`}),`). Collected by the Storefront Pixel for signed-in customers; `,_jsx(_components.code,{children:`null`}),` for guests.`]})}),_jsx(ParamField,{body:`segments`,type:`array`,id:`param-segments`,children:_jsxs(_components.p,{children:[`Shopify customer segment IDs the shopper belongs to. Server-resolved: Layers populates this from the signed-in `,_jsx(_components.code,{children:`identity.customerId`}),` on every request and ignores any value you send. `,_jsx(_components.code,{children:`null`}),` for guests and customers with no segment memberships. Available as `,_jsx(_components.code,{children:`context.customer.segments`}),` in `,_jsx(_components.a,{href:`/platform/merchandising/contextual-conditions`,children:`contextual conditions`}),`.`]})})]})]}),_jsxs(ParamField,{body:`market`,type:`string`,id:`param-market`,children:[_jsxs(_components.p,{children:[`Explicitly set the Shopify Market for this request. Must be provided inside `,_jsx(_components.code,{children:`context`}),`; it is not a top-level request body parameter. Used for market-specific product availability filtering and contextual pricing. Accepts a two-letter country code (e.g., `,_jsx(_components.code,{children:`\"US\"`}),`, `,_jsx(_components.code,{children:`\"CA\"`}),`), a numeric Shopify Market ID (e.g., `,_jsx(_components.code,{children:`\"12345\"`}),`), or a Shopify Market GID (e.g., `,_jsx(_components.code,{children:`\"gid://shopify/Market/12345\"`}),`).`]}),_jsxs(_components.p,{children:[`When not provided, the market is automatically resolved from `,_jsx(_components.code,{children:`context.geo.country`}),` (or the shopper’s detected country for client-side requests). If no matching market is found, the store’s primary market is used as the fallback.`]}),_jsxs(_components.p,{children:[`When you send a two-letter country code that belongs to the resolved market, Layers also prices for that country, ahead of the shopper’s detected location. See `,_jsx(_components.a,{href:`/engine/contextual-information/data-structure#market`,children:`Market resolution`}),`.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Behavior depends on the store’s market application mode`}),` (set under `,_jsx(_components.strong,{children:`Settings > Search \u0026 Discovery > Search Behavior`}),`, in the `,_jsx(_components.strong,{children:`Markets`}),` card):`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Restrict to market catalog`}),` — Products are filtered to only those available in the resolved market, and market-specific pricing is applied`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Adjust pricing only`}),` — The full catalog remains visible, but variant prices are swapped to market-specific values where available`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Ignore markets`}),` (default) — Market resolution is skipped entirely; base catalog and base pricing are used for all shoppers`]}),`\n`]})]}),_jsxs(ParamField,{body:`session`,type:`object`,id:`param-session`,children:[_jsx(_components.p,{children:`Session-level signals about the current visit.`}),_jsx(Expandable,{title:`Properties`,children:_jsx(ParamField,{body:`returning`,type:`boolean`,id:`param-returning-1`,children:_jsx(_components.p,{children:`Whether the current session belongs to a returning visitor. Layers derives this from the storefront’s session cookie when not provided.`})})})]}),_jsx(ParamField,{body:`locale`,type:`string`,id:`param-locale`,children:_jsxs(_components.p,{children:[`Storefront locale code (e.g., `,_jsx(_components.code,{children:`\"en\"`}),`, `,_jsx(_components.code,{children:`\"fr\"`}),`, `,_jsx(_components.code,{children:`\"pt-br\"`}),`). Case-insensitive; Layers normalizes to lowercase. When the locale is published in Shopify and served by the resolved market, Layers returns translated display text (titles, descriptions, option values, filter labels) while IDs, prices, and filter values stay in the source language. Regional locales fall back to their base language (`,_jsx(_components.code,{children:`pt-br`}),` uses `,_jsx(_components.code,{children:`pt`}),`). The store’s primary locale returns source text. See `,_jsx(_components.a,{href:`/shopify-integration/translations`,children:`Translations`}),`.`]})}),_jsx(ParamField,{body:`currency`,type:`string`,id:`param-currency`,children:_jsxs(_components.p,{children:[`ISO 4217 currency code (e.g., `,_jsx(_components.code,{children:`\"USD\"`}),`, `,_jsx(_components.code,{children:`\"EUR\"`}),`). Case-insensitive; Layers normalizes to uppercase. When Layers can resolve a currency from the shopper’s market or pricing context, the server-resolved value takes precedence.`]})}),_jsx(ParamField,{body:`b2bCompany`,type:`string`,id:`param-b2b-company`,children:_jsxs(_components.p,{children:[`Shopify B2B company location identifier. When `,_jsx(_components.code,{children:`identity.companyLocationId`}),` is provided, Layers resolves the company location server-side and the server value takes precedence.`]})}),_jsxs(ParamField,{body:`shoppingChannel`,type:`string`,default:`web`,id:`param-shopping-channel`,children:[_jsxs(_components.p,{children:[`The shopping channel the customer is browsing from. Used for channel-specific merchandising, sorting, and analytics segmentation. Automatically detected from request headers when not provided (e.g., mobile app requests via Tapcart, Fuego, or Mobiloud Canvas are detected as `,_jsx(_components.code,{children:`\"app\"`}),`).`]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Accepted values:`})}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`\"web\"`}),` — Standard web browser (default)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`\"app\"`}),` — Mobile app (e.g., Tapcart, Fuego, Mobiloud Canvas)`]}),`\n`]})]}),_jsx(ParamField,{body:`custom`,type:`object`,id:`param-custom`,children:_jsx(_components.p,{children:`Custom contextual data specific to your implementation. Structure is flexible and can contain any key-value pairs relevant to your use case.`})})]})]}),`\n`,_jsxs(ParamField,{body:`responseOptions`,type:`object`,description:`Per-request overrides for response behavior.`,id:`param-response-options`,children:[_jsxs(_components.p,{children:[`Per-request overrides for response behavior. Currently controls image preload hints emitted in the `,_jsx(_components.code,{children:`Link`}),` response header. You can disable preloads or narrow the srcset to the breakpoints your storefront uses. You cannot enable preloads when the store has them disabled.`]}),_jsx(Expandable,{title:`Properties`,children:_jsxs(ParamField,{body:`mediaPreloads`,type:`object`,description:`Controls Early Hints preload directives for product images.`,id:`param-media-preloads`,children:[_jsxs(_components.p,{children:[`Controls the `,_jsx(_components.code,{children:`Link: rel=\\\\\"preload\\\\\"`}),` directives generated for product images in this response. See `,_jsx(_components.a,{href:`/sdk/performance#early-hints-link-header-preloading`,children:`Early hints`}),` for background.`]}),_jsxs(Expandable,{title:`Properties`,children:[_jsx(ParamField,{body:`enabled`,type:`boolean`,default:`true`,id:`param-enabled`,children:_jsxs(_components.p,{children:[`Set to `,_jsx(_components.code,{children:`false`}),` to skip the `,_jsx(_components.code,{children:`Link`}),` header for this request. Useful for server-rendered pages that do not benefit from preload hints, or when you want to reduce response header size. Cannot enable preloads if they are disabled at the store level.`]})}),_jsx(ParamField,{body:`srcsetSizes`,type:`int[]`,id:`param-srcset-sizes`,children:_jsxs(_components.p,{children:[`Custom responsive image widths (in pixels) to emit in `,_jsx(_components.code,{children:`imagesrcset`}),`. Each value must be an integer between `,_jsx(_components.code,{children:`1`}),` and `,_jsx(_components.code,{children:`10000`}),`. Overrides the store-level srcset configuration for this request only. When omitted, the store configuration or platform defaults are used.`]})}),_jsx(ParamField,{body:`sizes`,type:`string`,id:`param-sizes`,children:_jsxs(_components.p,{children:[`Media query string emitted as the `,_jsx(_components.code,{children:`imagesizes`}),` attribute in the preload `,_jsx(_components.code,{children:`Link`}),` header (for example `,_jsx(_components.code,{children:`(max-width: 600px) 100vw, 50vw`}),`). Tells the browser which srcset width to pick per viewport. Overrides the store-level sizes value for this request only. When omitted or empty, the store configuration is used. Each comma-separated entry may carry a media condition, including the last entry. See the `,_jsx(_components.a,{href:`/sdk/performance#customization`,children:`accepted format`}),` for details. The API rejects invalid values with a validation error.`]})})]})]})}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Example:`})}),_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`9`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"responseOptions\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"mediaPreloads\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"enabled\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"srcsetSizes\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`320`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`640`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`960`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"sizes\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"(max-width: 600px) 100vw, 50vw\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsx(ResponseField,{name:`results`,type:`Array of Objects`,id:`param-results`,children:_jsxs(Expandable,{title:`Properties`,children:[_jsx(ResponseField,{name:`id`,type:`number`,id:`param-id-1`,children:_jsx(_components.p,{children:`The unique identifier of the product.`})}),_jsx(ResponseField,{name:`title`,type:`string`,id:`param-title-3`,children:_jsx(_components.p,{children:`The title of the product.`})}),_jsx(ResponseField,{name:`body_html`,type:`string`,id:`param-body-html`,children:_jsx(_components.p,{children:`The HTML content describing the product.`})}),_jsx(ResponseField,{name:`vendor`,type:`string`,id:`param-vendor`,children:_jsx(_components.p,{children:`The vendor of the product.`})}),_jsx(ResponseField,{name:`product_type`,type:`string`,id:`param-product-type`,children:_jsx(_components.p,{children:`The type of the product.`})}),_jsx(ResponseField,{name:`created_at`,type:`number`,id:`param-created-at`,children:_jsx(_components.p,{children:`The timestamp when the product was created.`})}),_jsx(ResponseField,{name:`handle`,type:`string`,id:`param-handle`,children:_jsx(_components.p,{children:`The handle of the product.`})}),_jsx(ResponseField,{name:`updated_at`,type:`number`,id:`param-updated-at`,children:_jsx(_components.p,{children:`The timestamp when the product was updated.`})}),_jsx(ResponseField,{name:`published_at`,type:`number`,id:`param-published-at`,children:_jsx(_components.p,{children:`The timestamp when the product was published.`})}),_jsx(ResponseField,{name:`tags`,type:`Array of strings`,id:`param-tags-1`,children:_jsx(_components.p,{children:`The tags associated with the product.`})}),_jsx(ResponseField,{name:`combined_listing_parent_product_id`,type:`number`,id:`param-combined-listing-parent-product-id`,children:_jsx(_components.p,{children:`The parent product id if a child in a Combined Listing.`})}),_jsx(ResponseField,{name:`combined_listing_role`,type:`string`,id:`param-combined-listing-role`,children:_jsx(_components.p,{children:`The role of the product if part of a Combined Listing.`})}),_jsxs(ResponseField,{name:`images`,type:`Array of Objects`,id:`param-images`,children:[_jsx(_components.p,{children:`The images of the product.`}),_jsxs(Expandable,{title:`Properties`,children:[_jsx(ResponseField,{name:`alt`,type:`string`,id:`param-alt`,children:_jsx(_components.p,{children:`The alt text of the image.`})}),_jsx(ResponseField,{name:`src`,type:`string`,id:`param-src`,children:_jsx(_components.p,{children:`The src of the image.`})}),_jsx(ResponseField,{name:`width`,type:`number`,id:`param-width`,children:_jsx(_components.p,{children:`The width of the image.`})}),_jsx(ResponseField,{name:`height`,type:`number`,id:`param-height`,children:_jsx(_components.p,{children:`The height of the image.`})}),_jsx(ResponseField,{name:`variant_ids`,type:`Array`,id:`param-variant-ids`,children:_jsx(_components.p,{children:`The variant IDs associated with the image.`})})]})]}),_jsx(ResponseField,{name:`metafields`,type:`Object`,id:`param-metafields`,children:_jsx(_components.p,{children:`The metafields of the product.`})}),_jsx(ResponseField,{name:`calculated`,type:`Object`,id:`param-calculated`,children:_jsx(_components.p,{children:`The computed attributes of the product. Only includes attributes with non-null, non-empty values. Attributes that evaluate to null or an empty string are omitted.`})}),_jsxs(ResponseField,{name:`category`,type:`Object`,id:`param-category`,children:[_jsx(_components.p,{children:`The Shopify Product Taxonomy Category of the product.`}),_jsxs(Expandable,{title:`Properties`,children:[_jsx(ResponseField,{name:`name`,type:`string`,id:`param-name`,children:_jsx(_components.p,{children:`The name of the category leaf.`})}),_jsx(ResponseField,{name:`full_name`,type:`string`,id:`param-full-name`,children:_jsx(_components.p,{children:`The full name of the category.`})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-2`,children:_jsx(_components.p,{children:`The ID of the category.`})}),_jsx(ResponseField,{name:`is_leaf`,type:`boolean`,id:`param-is-leaf`,children:_jsx(_components.p,{children:`Is the category a leaf category.`})}),_jsx(ResponseField,{name:`is_root`,type:`boolean`,id:`param-is-root`,children:_jsx(_components.p,{children:`Is the category a root category.`})})]})]}),_jsxs(ResponseField,{name:`first_or_matched_variant`,type:`Object`,id:`param-first-or-matched-variant`,children:[_jsx(_components.p,{children:`The first available variant (depending on OOS settings) or the variant matched with a filter or search query.`}),_jsxs(Expandable,{title:`Properties`,children:[_jsx(ResponseField,{name:`id`,type:`number`,id:`param-id-3`,children:_jsx(_components.p,{children:`The ID of the variant.`})}),_jsx(ResponseField,{name:`title`,type:`string`,id:`param-title-4`,children:_jsx(_components.p,{children:`The title of the variant.`})}),_jsx(ResponseField,{name:`available`,type:`boolean`,id:`param-available`,children:_jsx(_components.p,{children:`The availability of the variant.`})}),_jsx(ResponseField,{name:`sku`,type:`number`,id:`param-sku`,children:_jsx(_components.p,{children:`The sku of the variant.`})}),_jsx(ResponseField,{name:`price`,type:`string`,id:`param-price-2`,children:_jsx(_components.p,{children:`The price of the variant.`})}),_jsx(ResponseField,{name:`compare_at_price`,type:`string`,id:`param-compare-at-price`,children:_jsx(_components.p,{children:`The compare at price of the variant.`})}),_jsx(ResponseField,{name:`metafields`,type:`Object`,id:`param-metafields-1`,children:_jsx(_components.p,{children:`The metafields of the variant.`})}),_jsxs(ResponseField,{name:`selected_options`,type:`Array of Objects`,id:`param-selected-options`,children:[_jsx(_components.p,{children:`The selected options of the variant.`}),_jsxs(Expandable,{title:`Properties`,children:[_jsx(ResponseField,{name:`name`,type:`string`,id:`param-name-1`,children:_jsx(_components.p,{children:`The name of the option.`})}),_jsx(ResponseField,{name:`value`,type:`string`,id:`param-value-1`,children:_jsx(_components.p,{children:`The value of the option.`})}),_jsx(ResponseField,{name:`option_value`,type:`object`,id:`param-option-value`,children:_jsx(_components.p,{children:`The linked metafield of the option.`})})]})]}),_jsx(ResponseField,{name:`position`,type:`number`,id:`param-position`,children:_jsx(_components.p,{children:`The position of the variant in the product’s variant list.`})}),_jsx(ResponseField,{name:`inventory_quantity`,type:`number`,id:`param-inventory-quantity`,children:_jsxs(_components.p,{children:[`Total inventory quantity across the locations in the store’s `,_jsx(_components.a,{href:`/shopify-integration/catalog-sync#inventory-location-scope`,children:`inventory location scope`}),`, which is all locations by default. Only included when the store has the `,_jsx(_components.strong,{children:`Expose Variant Inventory`}),` setting enabled.`]})}),_jsx(ResponseField,{name:`inventory_policy`,type:`string`,id:`param-inventory-policy`,children:_jsxs(_components.p,{children:[`Inventory policy for the variant: `,_jsx(_components.code,{children:`DENY`}),` (stop selling when out of stock) or `,_jsx(_components.code,{children:`CONTINUE`}),` (allow overselling). Only included when the store has the `,_jsx(_components.strong,{children:`Expose Variant Inventory`}),` setting enabled.`]})}),_jsx(ResponseField,{name:`inventory_levels`,type:`object`,id:`param-inventory-levels`,children:_jsxs(_components.p,{children:[`Object mapping location IDs to available inventory quantities (e.g., `,_jsx(_components.code,{children:`{\"1001\": 5, \"1002\": 10}`}),`). Returns empty object `,_jsx(_components.code,{children:`{}`}),` when no inventory data exists. Only included when the store has the `,_jsx(_components.strong,{children:`Expose Variant Inventory`}),` setting enabled.`]})}),_jsxs(ResponseField,{name:`featured_media`,type:`Object`,id:`param-featured-media`,children:[_jsx(_components.p,{children:`The featured media of the product.`}),_jsxs(Expandable,{title:`Properties`,children:[_jsx(ResponseField,{name:`mediaContentType`,type:`string`,id:`param-media-content-type`,children:_jsx(_components.p,{children:`The type of media.`})}),_jsx(ResponseField,{name:`alt`,type:`string`,id:`param-alt-1`,children:_jsx(_components.p,{children:`The alt text of the image.`})}),_jsx(ResponseField,{name:`src`,type:`string`,id:`param-src-1`,children:_jsx(_components.p,{children:`The src of the image.`})}),_jsx(ResponseField,{name:`width`,type:`number`,id:`param-width-1`,children:_jsx(_components.p,{children:`The width of the image.`})}),_jsx(ResponseField,{name:`height`,type:`number`,id:`param-height-1`,children:_jsx(_components.p,{children:`The height of the image.`})})]})]})]})]}),_jsxs(ResponseField,{name:`featured_media`,type:`Object`,id:`param-featured-media-1`,children:[_jsx(_components.p,{children:`The featured media of the product.`}),_jsxs(Expandable,{title:`Properties`,children:[_jsx(ResponseField,{name:`mediaContentType`,type:`string`,id:`param-media-content-type-1`,children:_jsx(_components.p,{children:`The type of media.`})}),_jsx(ResponseField,{name:`alt`,type:`string`,id:`param-alt-2`,children:_jsx(_components.p,{children:`The alt text of the image.`})}),_jsx(ResponseField,{name:`src`,type:`string`,id:`param-src-2`,children:_jsx(_components.p,{children:`The src of the image.`})}),_jsx(ResponseField,{name:`width`,type:`number`,id:`param-width-2`,children:_jsx(_components.p,{children:`The width of the image.`})}),_jsx(ResponseField,{name:`height`,type:`number`,id:`param-height-2`,children:_jsx(_components.p,{children:`The height of the image.`})})]})]}),_jsx(ResponseField,{name:`available`,type:`boolean`,id:`param-available-1`,children:_jsx(_components.p,{children:`The availability of the product.`})}),_jsxs(ResponseField,{name:`price_range`,type:`Object`,id:`param-price-range`,children:[_jsx(_components.p,{children:`The price range of the product.`}),_jsxs(Expandable,{title:`Properties`,children:[_jsx(ResponseField,{name:`from`,type:`number`,id:`param-from`,children:_jsx(_components.p,{children:`The starting price of the product.`})}),_jsx(ResponseField,{name:`to`,type:`number`,id:`param-to`,children:_jsx(_components.p,{children:`The ending price of the product.`})})]})]})]})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`When the store has the `,_jsx(_components.strong,{children:`Expose Variant Inventory`}),` setting enabled, variant data in block responses (both `,_jsx(_components.code,{children:`first_or_matched_variant`}),` and `,_jsx(_components.code,{children:`variants`}),`) includes the `,_jsx(_components.code,{children:`inventory_quantity`}),`, `,_jsx(_components.code,{children:`inventory_policy`}),`, and `,_jsx(_components.code,{children:`inventory_levels`}),` fields. This behavior is consistent across all storefront API endpoints: search, browse, and blocks. See `,_jsx(_components.a,{href:`/developers/product-schema/variant-data#variant-schema-fields`,children:`Variant Schema Fields`}),` for details on these fields.`]})}),`\n`,_jsx(ResponseField,{name:`totalResults`,type:`number`,id:`param-total-results`,children:_jsx(_components.p,{children:`The total number of results. When a maximum products safeguard is configured, this value is capped to the maximum. When variant breakouts are enabled, this reflects the count of tiles (both product and variant tiles) rather than just products.`})}),`\n`,_jsx(ResponseField,{name:`page`,type:`number`,id:`param-page-1`,children:_jsx(_components.p,{children:`The current page number.`})}),`\n`,_jsx(ResponseField,{name:`totalPages`,type:`number`,id:`param-total-pages`,children:_jsxs(_components.p,{children:[`The total number of pages. Calculated from `,_jsx(_components.code,{children:`totalResults`}),` and the requested page size. When a maximum products safeguard is configured, this reflects the capped total. When variant breakouts are enabled, the calculation is based on tile count.`]})}),`\n`,_jsx(ResponseField,{name:`resultsPerPage`,type:`number`,id:`param-results-per-page`,children:_jsxs(_components.p,{children:[`The number of results per page (matches the `,_jsx(_components.code,{children:`limit`}),` parameter from the request).`]})}),`\n`,_jsx(ResponseField,{name:`facets`,type:`object`,id:`param-facets-1`,children:_jsxs(_components.p,{children:[`If `,_jsx(_components.code,{children:`retrieveFacetCount`}),` is `,_jsx(_components.code,{children:`true`}),` then an object with keys and values of the specified attributes. When variant breakouts are enabled, facet counts reflect tile counts rather than product counts. Empty values and literal `,_jsx(_components.code,{children:`\"null\"`}),` strings are automatically excluded from facet results.`]})}),`\n`,_jsx(ResponseField,{name:`facetRanges`,type:`object`,id:`param-facet-ranges`,children:_jsxs(_components.p,{children:[`If `,_jsx(_components.code,{children:`includeFacetRanges`}),` is `,_jsx(_components.code,{children:`true`}),` then an object with keys of the facet attribute code and value is an object with min/max.`]})}),`\n`,_jsx(ResponseField,{name:`facetDisplay`,type:`object`,id:`param-facet-display`,children:_jsxs(_components.p,{children:[`Only returned when `,_jsx(_components.code,{children:`enrichFacetMetaobjects`}),` is `,_jsx(_components.code,{children:`true`}),` and at least one requested facet is backed by a `,_jsx(_components.code,{children:`metaobject_reference`}),` or `,_jsx(_components.code,{children:`list.metaobject_reference`}),` metafield. Keys are facet attribute codes and values map each facet value (the referenced metaobject’s handle) to the metaobject’s `,_jsx(_components.code,{children:`display_name`}),` and `,_jsx(_components.code,{children:`fields`}),`. Handles with no matching cached metaobject are omitted here and remain as plain values in `,_jsx(_components.code,{children:`facets`}),`. See `,_jsx(_components.a,{href:`/developers/product-schema/metafields/metaobjects-and-references`,children:`Metaobjects and reference metafields`}),` for the normalized field shape.`]})}),`\n`,_jsx(ResponseField,{name:`attributionToken`,type:`string`,id:`param-attribution-token`,children:_jsxs(_components.p,{children:[`A unique request identifier (ULID) for this API call. Use this token to correlate block requests with analytics events via the `,_jsx(_components.a,{href:`/tracking-api/send-events`,children:`Beacon API`}),`.`]})}),`\n`,_jsxs(ResponseField,{name:`block`,type:`object`,id:`param-block`,children:[_jsx(_components.p,{children:`Information about the block that generated these recommendations.`}),_jsxs(Expandable,{title:`Properties`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-4`,children:_jsx(_components.p,{children:`The block ID.`})}),_jsx(ResponseField,{name:`title`,type:`string`,id:`param-title-5`,children:_jsx(_components.p,{children:`The customer-facing title of the block.`})}),_jsx(ResponseField,{name:`anchor_type`,type:`string`,id:`param-anchor-type`,children:_jsxs(_components.p,{children:[`The anchor type of the block: `,_jsx(_components.code,{children:`product`}),`, `,_jsx(_components.code,{children:`article`}),`, `,_jsx(_components.code,{children:`collection`}),`, `,_jsx(_components.code,{children:`cart`}),`, `,_jsx(_components.code,{children:`home`}),`, `,_jsx(_components.code,{children:`search`}),`, `,_jsx(_components.code,{children:`not_found`}),`, `,_jsx(_components.code,{children:`landing`}),`, `,_jsx(_components.code,{children:`other`}),`, or `,_jsx(_components.code,{children:`none`}),`.`]})}),_jsx(ResponseField,{name:`strategy_type`,type:`string`,id:`param-strategy-type`,children:_jsxs(_components.p,{children:[`The strategy type used: `,_jsx(_components.code,{children:`interaction`}),`, `,_jsx(_components.code,{children:`similar_products`}),`, `,_jsx(_components.code,{children:`manual`}),`, `,_jsx(_components.code,{children:`metafield_reference`}),`, `,_jsx(_components.code,{children:`sequence`}),`, `,_jsx(_components.code,{children:`personalized`}),`, `,_jsx(_components.code,{children:`trending`}),`, `,_jsx(_components.code,{children:`contextual`}),`, `,_jsx(_components.code,{children:`set`}),`, or `,_jsx(_components.code,{children:`related_content`}),`.`]})}),_jsx(ResponseField,{name:`strategy_key`,type:`string`,id:`param-strategy-key`,children:_jsxs(_components.p,{children:[`The specific strategy key. For product strategies: `,_jsx(_components.code,{children:`frequently_bought_together`}),`, `,_jsx(_components.code,{children:`customers_also_viewed`}),`, `,_jsx(_components.code,{children:`customers_also_added_to_cart`}),`, `,_jsx(_components.code,{children:`viewed_then_bought`}),`, `,_jsx(_components.code,{children:`customers_also_bought`}),`. For collection strategies: `,_jsx(_components.code,{children:`browsed_then_bought`}),`, `,_jsx(_components.code,{children:`browsed_then_viewed`}),`, `,_jsx(_components.code,{children:`collection_trending`}),`. For trending strategies: `,_jsx(_components.code,{children:`best_sellers`}),`, `,_jsx(_components.code,{children:`trending_in_region`}),`, `,_jsx(_components.code,{children:`live_feed`}),`. For contextual strategies: `,_jsx(_components.code,{children:`searched_then_viewed`}),`, `,_jsx(_components.code,{children:`searched_then_purchased`}),`, `,_jsx(_components.code,{children:`landing_page_picks`}),`, `,_jsx(_components.code,{children:`free_shipping_picks`}),`. For similar products strategies on article anchors: `,_jsx(_components.code,{children:`similar_to_article`}),`. For related content strategies: `,_jsx(_components.code,{children:`related_articles`}),`.`]})})]})]}),`\n`,_jsx(ResponseField,{name:`_training`,type:`boolean`,id:`param-training`,children:_jsxs(_components.p,{children:[`Present and set to `,_jsx(_components.code,{children:`true`}),` when the block’s strategy data is still being computed or the strategy doesn’t yet have enough signal to return results. This applies to interaction strategies during their initial computation and to trending and contextual strategies that are warming up. It also applies to Photographed Together blocks while image detection is still processing your catalog. In this state, the primary block returns empty results and the fallback chain is used instead. Once the strategy data is ready, this field is no longer included in the response.`]})}),`\n`,_jsx(ResponseField,{name:`_meta`,type:`object`,id:`param-meta`,children:_jsxs(Expandable,{title:`Properties`,children:[_jsxs(ResponseField,{name:`variantBreakouts`,type:`array of objects`,id:`param-variant-breakouts`,children:[_jsxs(_components.p,{children:[`Array of variant breakout configurations applied to this block. Only present when one or more variant breakouts are active. Multiple breakouts with different option codes can work simultaneously. Each object has the structure `,_jsx(_components.code,{children:`{optionCode: \"Stone\"}`}),`.`]}),_jsx(Expandable,{title:`Properties`,children:_jsx(ResponseField,{name:`optionCode`,type:`string`,id:`param-option-code`,children:_jsx(_components.p,{children:`The product option code that determines which variants are broken out (e.g., “Stone”, “Color”). Each product is broken out by the first matching option code from the array.`})})})]}),_jsxs(ResponseField,{name:`mediaPreloads`,type:`object`,id:`param-media-preloads-1`,children:[_jsxs(_components.p,{children:[`Echoes the image preload configuration used to build the `,_jsx(_components.code,{children:`Link`}),` response header for this request. Only present when image preloads are emitted. See `,_jsx(_components.a,{href:`/sdk/performance#early-hints-link-header-preloading`,children:`Early hints`}),`.`]}),_jsx(Expandable,{title:`Properties`,children:_jsx(ResponseField,{name:`srcsetSizes`,type:`int[]`,id:`param-srcset-sizes-1`,children:_jsxs(_components.p,{children:[`The responsive image widths (in pixels) used in the `,_jsx(_components.code,{children:`imagesrcset`}),` of the `,_jsx(_components.code,{children:`Link`}),` header. Reflects the request override when provided, otherwise the store-level configuration or platform defaults.`]})})})]}),_jsxs(ResponseField,{name:`discountEntitlements`,type:`array of objects`,id:`param-discount-entitlements-1`,children:[_jsxs(_components.p,{children:[`Echoes the `,_jsx(_components.a,{href:`/shopify-integration/discount-entitlements`,children:`discount entitlements`}),` applied to this request. Only present when the request included `,_jsx(_components.code,{children:`discountEntitlements`}),` (either directly or via a matched `,_jsx(_components.a,{href:`/platform/request-transforms`,children:`request transform`}),`). Use this to render discount badges or labels on the storefront without re-deriving which entitlements matched. Each entry mirrors the entitlement shape sent in the request.`]}),_jsxs(Expandable,{title:`Properties`,children:[_jsx(ResponseField,{name:`entitled`,type:`object`,id:`param-entitled-1`,children:_jsxs(_components.p,{children:[`The entitlement criteria that qualified products for the discount. Contains any of `,_jsx(_components.code,{children:`all`}),`, `,_jsx(_components.code,{children:`products`}),`, `,_jsx(_components.code,{children:`variants`}),`, `,_jsx(_components.code,{children:`collections`}),`, or `,_jsx(_components.code,{children:`conditions`}),`. See the `,_jsx(_components.a,{href:`/shopify-integration/discount-entitlements#entitlement-criteria`,children:`entitlement criteria`}),` reference.`]})}),_jsxs(ResponseField,{name:`discount`,type:`object`,id:`param-discount-1`,children:[_jsx(_components.p,{children:`The discount Layers applied.`}),_jsxs(Expandable,{title:`Properties`,children:[_jsx(ResponseField,{name:`type`,type:`string`,id:`param-type-4`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`\"PERCENTAGE\"`}),` or `,_jsx(_components.code,{children:`\"FIXED_AMOUNT\"`}),`.`]})}),_jsx(ResponseField,{name:`value`,type:`number`,id:`param-value-2`,children:_jsxs(_components.p,{children:[`The discount value. Percent off for `,_jsx(_components.code,{children:`PERCENTAGE`}),`, currency amount for `,_jsx(_components.code,{children:`FIXED_AMOUNT`}),`.`]})})]})]})]})]})]})}),`\n`,_jsxs(ResponseField,{name:`_workflow`,type:`array of objects`,id:`param-workflow`,children:[_jsx(_components.p,{children:`An ordered trace of processing steps the engine performed to produce results. Each entry represents a stage in the pipeline, recorded in the order it was executed.`}),_jsxs(_components.p,{children:[`See the `,_jsx(_components.a,{href:`/api-reference/search`,children:`Text Search`}),` documentation for the full list of possible step types.`]}),_jsxs(Expandable,{title:`Properties`,children:[_jsx(ResponseField,{name:`type`,type:`string`,id:`param-type-5`,children:_jsxs(_components.p,{children:[`The processing step type (e.g., `,_jsx(_components.code,{children:`\"rule-applied\"`}),`).`]})}),_jsx(ResponseField,{name:`payload`,type:`string | array | object`,id:`param-payload`,children:_jsx(_components.p,{children:`The data associated with this processing step.`})})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`hidden-blocks-return-an-empty-success`,children:`Hidden blocks return an empty success`}),`\n`,_jsxs(_components.p,{children:[`If an active block is hidden and has no usable fallback, the API returns HTTP `,_jsx(_components.code,{children:`200`}),` with empty results, not a `,_jsx(_components.code,{children:`404`}),`. For example, a matching `,_jsx(_components.strong,{children:`Hide Block`}),` rule can produce this response. Treat it as a successful request with nothing to display.`]}),`\n`,_jsx(_components.p,{children:`The response preserves the requested page and page size, the attribution token, and the block’s identity:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`17`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`17`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"results\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"totalResults\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"totalPages\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"page\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"resultsPerPage\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`8`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"attributionToken\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"01K8A2B3C4D5E6F7G8H9J0K1M2\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"block\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"01K8A2B3C4D5E6F7G8H9J0K1M3\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"title\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"You may also like\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"anchor_type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"product\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"result_type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"products\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"_meta\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"experimentsRan\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: []`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`This empty response doesn’t include strategy details in `,_jsx(_components.code,{children:`block`}),`. Missing or inactive blocks still return `,_jsx(_components.code,{children:`404`}),`, and a configuration that can’t resolve a required sort order still returns `,_jsx(_components.code,{children:`422`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`content-block-responses`,children:`Content block responses`}),`\n`,_jsxs(_components.p,{children:[`Blocks configured with the `,_jsx(_components.a,{href:`/platform/blocks/strategies#related-content-strategy`,children:`related content strategy`}),` return articles or pages in `,_jsx(_components.code,{children:`results`}),` instead of products. Each item has this shape:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`19`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`19`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"__typename\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Article\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"content_type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"article\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"content_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`556677889900`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"title\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"How to care for linen\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"handle\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"how-to-care-for-linen\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"summary_text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Keep your linen pieces looking new with these care tips.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"author\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Jamie Lee\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"tags\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"care\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"linen\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"image\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://cdn.shopify.com/s/files/1/0588/3677/9194/articles/linen-care.jpg\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"width\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1200`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"height\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`800`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"alt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Folded linen shirts\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"published_at\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2026-08-14T09:00:00Z\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"blog_title\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"The Journal\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"/blogs/the-journal/how-to-care-for-linen\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`The item fields match the `,_jsx(_components.a,{href:`/api-reference/search-content`,children:`Content Search API`}),` results. `,_jsx(_components.code,{children:`__typename`}),` is `,_jsx(_components.code,{children:`Article`}),` or `,_jsx(_components.code,{children:`Page`}),` depending on the block’s configured `,_jsx(_components.code,{children:`content_type`}),`. Pages don’t have `,_jsx(_components.code,{children:`author`}),`, `,_jsx(_components.code,{children:`tags`}),`, or `,_jsx(_components.code,{children:`blog_title`}),`, so those fields are `,_jsx(_components.code,{children:`null`}),` for page results.`]}),`\n`,_jsxs(_components.p,{children:[`Pagination fields (`,_jsx(_components.code,{children:`totalResults`}),`, `,_jsx(_components.code,{children:`page`}),`, `,_jsx(_components.code,{children:`totalPages`}),`, `,_jsx(_components.code,{children:`resultsPerPage`}),`), `,_jsx(_components.code,{children:`attributionToken`}),`, and the `,_jsx(_components.code,{children:`block`}),` object work the same as for product blocks. Product-only request parameters (`,_jsx(_components.code,{children:`filter_group`}),`, `,_jsx(_components.code,{children:`variant_id`}),`, `,_jsx(_components.code,{children:`attributes`}),`, facets, and `,_jsx(_components.code,{children:`discountEntitlements`}),`) don’t apply to content blocks.`]}),`\n`,_jsx(Heading,{level:`3`,id:`anchor-and-strategy-compatibility`,children:`Anchor and strategy compatibility`}),`\n`,_jsxs(_components.p,{children:[`Strategy compatibility depends on the anchor type. See the `,_jsx(_components.a,{href:`/platform/blocks/strategies#strategy-availability-by-anchor-type`,children:`strategy availability by anchor type`}),` matrix for the complete list of supported strategies.`]}),`\n`,_jsxs(_components.p,{children:[`Requests that use a strategy type not allowed for the anchor are rejected with a validation error on `,_jsx(_components.code,{children:`strategy_type`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`response-headers`,children:`Response headers`}),`\n`,_jsx(_components.p,{children:`Every API response includes the following headers for request tracing and performance optimization:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Header`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`x-request-id`})}),_jsxs(_components.td,{children:[`A unique identifier (ULID) for the request. This matches the `,_jsx(_components.code,{children:`attributionToken`}),` in the response body.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`x-layers-build`})}),_jsx(_components.td,{children:`The Layers build version that served the request.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`X-Layers-Results-Cache`})}),_jsxs(_components.td,{children:[`Indicates whether the response was served from the results cache. Returns `,_jsx(_components.code,{children:`HIT`}),` or `,_jsx(_components.code,{children:`MISS`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`Link`})}),_jsxs(_components.td,{children:[`Contains `,_jsx(_components.code,{children:`rel=\"preload\"`}),` directives for product images (up to 6 items). See `,_jsx(_components.a,{href:`/sdk/performance#early-hints-link-header-preloading`,children:`Early hints`}),` for details. Only included when early hints are enabled (enabled by default).`]})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`block-concepts`,children:`Block concepts`}),`\n`,_jsx(_components.p,{children:`For details on how blocks work conceptually (anchor types, strategies, rules, safeguards, and fallback chains), see the platform documentation:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/platform/blocks/strategies`,children:`Block strategies and anchor types`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/platform/blocks/rules-and-safeguards`,children:`Rules and safeguards`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/platform/blocks/fallback-chains`,children:`Fallback chains`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/platform/blocks/priority-and-status`,children:`Priority and status`})}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`error-handling`,children:`Error handling`}),`\n`,_jsx(ResponseField,{name:`error`,type:`string`,id:`param-error`,children:_jsx(_components.p,{children:`Error message when the request fails.`})}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Common errors:`})}),`\n`,_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`404 - Block not found`,id:`404-block-not-found`,children:[_jsx(_components.p,{children:`The specified block ID doesn’t exist or is not active.`}),_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Block not found\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]}),_jsxs(Accordion,{title:`422 - Sort order required`,id:`422-sort-order-required`,children:[_jsx(_components.p,{children:`The block’s configuration didn’t resolve to a valid sort order. This can happen with collection-anchored similar-products blocks when the configured fallback sort order no longer exists. Reconfigure the block with a valid sort order in the dashboard, then retry the request.`}),_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"A sort order code or ID is required to load this block.\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]}),_jsx(Accordion,{title:`401 - Unauthorized`,id:`401-unauthorized`,children:_jsx(_components.p,{children:`Invalid or missing authentication token.`})}),_jsxs(Accordion,{title:`402 - Store suspended`,id:`402-store-suspended`,children:[_jsxs(_components.p,{children:[`The store is suspended. Every storefront API request returns `,_jsx(_components.code,{children:`402`}),` until the suspension is lifted.`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"This store has been suspended.\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]})]}),`\n`,`\n`,_jsx(Heading,{level:`2`,id:`see-also`,children:`See also`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/platform/blocks`,children:`Blocks Platform Documentation`}),` - Learn about block concepts and configuration`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"api":"POST /blocks/{blockId}/products","title":"Blocks API: Get Block Products","sidebarTitle":"Block Products","description":"Blocks API endpoint that returns product recommendations for a specific block using its configured strategy, fallback chain, and merchandising rules.","href":"/api-reference/blocks"}}},"mdxSourceWithNoJs":null,"noJsSplices":[[435,439,"Example,ResponseFiel"],[851,866,"Example)_missingMdxReference(`ResponseExample`,true);if(!ResponseField)_missingM"],[98046,98756,"_jsxs(ResponseExample,{children:[_jsx(CodeBlock,{filename:`Product Anchor - Frequently Bought Together`,numberOfLines:`27`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`27`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`POST /storefront/v`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`/blocks/`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`01`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`HQXYZ`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`123`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`ABC`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`456`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`DEF`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`789`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`/products`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"anchor_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"8234567890123\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"pagination\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"page\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"limit\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`12`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"context\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"geo\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"country\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"US\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"province\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"California\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"productsInCart\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"title\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Nike Air Force 1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"productId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"8234567890123\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"variantId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"45678901234567\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"shoppingChannel\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"web\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"identity\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"sessionId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"abc123\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"deviceId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"device-uuid\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Article Anchor - Shop the Article`,numberOfLines:`18`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`18`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`POST /storefront/v`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`/blocks/`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`01`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`HQXYZ`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`654`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`STU`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`321`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`VWX`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`098`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`/products`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"anchor_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"gid://shopify/Article/556677889900\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"pagination\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"page\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"limit\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`12`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"context\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"geo\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"country\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"US\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"shoppingChannel\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"web\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"identity\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"sessionId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"abc123\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Collection Anchor - Collection Interaction Strategy`,numberOfLines:`18`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`18`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`POST /storefront/v`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`/blocks/`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`01`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`HQXYZ`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`789`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`GHI`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`012`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`JKL`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`345`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`/products`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"anchor_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"summer-collection\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"pagination\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"page\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"limit\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`12`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"context\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"geo\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"country\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"US\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"shoppingChannel\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"web\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"identity\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"sessionId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"abc123\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Collection Anchor - Manual Strategy`,numberOfLines:`25`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`25`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`POST /storefront/v`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`/blocks/`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`01`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`HQXYZ`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`789`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`GHI`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`012`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`JKL`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`345`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`/products`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"anchor_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"summer-collection\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"pagination\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"page\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"limit\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`20`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"filter_group\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"conditional\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"AND\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"expressions\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"property\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"available\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"operator\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"=\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"values\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"context\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"geo\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"country\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"US\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"shoppingChannel\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"web\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Cart Anchor - Complete the Look`,numberOfLines:`29`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`29`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`POST /storefront/v`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`/blocks/`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`01`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`HQXYZ`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`456`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`MNO`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`789`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`PQR`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`012`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`/products`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"pagination\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"page\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"limit\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`8`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"context\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"geo\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"country\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"US\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"productsInCart\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"title\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Nike Air Force 1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"productId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"8234567890123\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"variantId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"45678901234567\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"title\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Classic Tee\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"productId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"8234567890456\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"variantId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"45678901234890\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"shoppingChannel\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"app\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"identity\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"sessionId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"abc123\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Market Pricing and Discount Entitlements`,numberOfLines:`32`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`32`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`POST /storefront/v`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`/blocks/`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`01`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`HQXYZ`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`123`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`ABC`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`456`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`DEF`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`789`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`/products`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"anchor_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"8234567890123\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"pagination\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"page\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"limit\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`12`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"context\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"market\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"CA\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"geo\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"country\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"CA\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"shoppingChannel\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"web\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"identity\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"sessionId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"abc123\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"customerId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"8123456789\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"companyLocationId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"gid://shopify/CompanyLocation/1234567890\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"discountEntitlements\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"entitled\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"collections\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"gid://shopify/Collection/456789012345\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"discount\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"PERCENTAGE\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"value\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`20`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Deduplicate Products Across Blocks`,numberOfLines:`22`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`22`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`POST /storefront/v`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`/blocks/`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`01`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`HQXYZ`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`456`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`MNO`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`789`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`PQR`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`012`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`/products`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"anchor_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"8234567890123\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"pagination\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"page\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"limit\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`8`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"excludeProductIds\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"8234567890456\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"gid://shopify/Product/8234567890789\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"context\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"geo\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"country\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"US\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"shoppingChannel\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"web\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"identity\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"sessionId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"abc123\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Response`,numberOfLines:`57`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`57`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"results\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`7003338965178`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"title\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"SUPREME SEALLINE SEE POUCH SMALL\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"body_html\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"The Supreme Sealline See Pouch Small is a versatile and waterproof storage solution that seamlessly marries utility and style. With its clear window for easy visibility and the iconic Supreme branding, it's a sought-after accessory for those who appreciate keeping their essentials dry while making a fashion statement, whether at the beach or in the city.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"vendor\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"SUPREME\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"product_type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Accessories\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"created_at\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1644047925`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"handle\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"supreme-pouch-44370ss18a32-sm\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"updated_at\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1698280024`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"published_at\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1644047925`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"tags\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"consignment\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"images\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"alt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"SUPREME POUCH\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"src\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://cdn.shopify.com/s/files/1/0588/3677/9194/products/ss18_supreme_tnf_pouch_blk_2-l_5fb1316e-22f7-4702-9953-57f3fbdda5be.jpg?v=1644047927\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"width\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`800`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"height\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`534`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"variant_ids\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: []`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"metafields\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"product\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"alias\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"SEALLINE SEE POUCH SMALL\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"colorway\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"BLACK\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"styleCode\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"SS18A30 BLACK\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"yearOfRelease\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`2018`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"searchColor\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"black\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"available\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"price_range\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"from\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`30`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"to\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`30`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"totalResults\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`8`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"page\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"totalPages\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"resultsPerPage\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`12`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"block\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"01HQXYZ123ABC456DEF789\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"title\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Frequently Bought Together\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"anchor_type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"product\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"strategy_type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"interaction\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"strategy_key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"frequently_bought_together\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"attributionToken\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"01JRVX9N4O5P6Q7R8S9T0U1V2W\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"_meta\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {},`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"_workflow\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: []`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]}),`\n`,_jsx(Heading,{level:`2`,id:`see-also`,children:`See also`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/platform/blocks`,children:`Blocks Platform Documentation`}),` - Learn about block concepts and configuration`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}"]]},"mdxExtracts":{"tableOfContents":[{"title":"Authorization","slug":"authorization","depth":2,"children":[]},{"title":"Headers","slug":"headers","depth":2,"children":[]},{"title":"Path parameters","slug":"path-parameters","depth":2,"children":[]},{"title":"Body","slug":"body","depth":2,"children":[]},{"title":"Response","slug":"response","depth":2,"children":[{"title":"Hidden blocks return an empty success","slug":"hidden-blocks-return-an-empty-success","depth":3,"children":[]},{"title":"Content block responses","slug":"content-block-responses","depth":3,"children":[]},{"title":"Anchor and strategy compatibility","slug":"anchor-and-strategy-compatibility","depth":3,"children":[]},{"title":"Response headers","slug":"response-headers","depth":3,"children":[]}]},{"title":"Block concepts","slug":"block-concepts","depth":2,"children":[]},{"title":"Error handling","slug":"error-handling","depth":2,"children":[]},{"title":"See also","slug":"see-also","depth":2,"children":[]}],"codeExamples":{"response":{"type":"ResponseExample","children":[{"filename":"Product Anchor - Frequently Bought Together","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"27\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">POST /storefront/v\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">1\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">/blocks/\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">01\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">HQXYZ\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">123\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">ABC\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">456\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">DEF\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">789\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">/products\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"anchor_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"8234567890123\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"pagination\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"page\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">1\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"limit\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">12\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"context\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"geo\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"country\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"US\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"province\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"California\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"productsInCart\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"title\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Nike Air Force 1\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"productId\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"8234567890123\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"variantId\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"45678901234567\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> ],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"shoppingChannel\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"web\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"identity\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"sessionId\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"abc123\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"deviceId\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"device-uuid\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"Article Anchor - Shop the Article","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"18\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">POST /storefront/v\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">1\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">/blocks/\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">01\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">HQXYZ\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">654\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">STU\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">321\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">VWX\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">098\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">/products\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"anchor_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"gid://shopify/Article/556677889900\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"pagination\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"page\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">1\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"limit\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">12\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"context\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"geo\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"country\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"US\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"shoppingChannel\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"web\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"identity\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"sessionId\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"abc123\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"Collection Anchor - Collection Interaction Strategy","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"18\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">POST /storefront/v\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">1\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">/blocks/\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">01\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">HQXYZ\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">789\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">GHI\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">012\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">JKL\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">345\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">/products\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"anchor_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"summer-collection\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"pagination\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"page\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">1\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"limit\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">12\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"context\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"geo\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"country\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"US\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"shoppingChannel\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"web\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"identity\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"sessionId\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"abc123\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"Collection Anchor - Manual Strategy","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"25\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">POST /storefront/v\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">1\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">/blocks/\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">01\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">HQXYZ\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">789\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">GHI\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">012\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">JKL\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">345\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">/products\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"anchor_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"summer-collection\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"pagination\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"page\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">1\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"limit\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">20\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"filter_group\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"conditional\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"AND\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"expressions\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"property\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"available\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"operator\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"=\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"values\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: [\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">true\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">]\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> ]\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"context\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"geo\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"country\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"US\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"shoppingChannel\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"web\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"Cart Anchor - Complete the Look","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"29\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">POST /storefront/v\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">1\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">/blocks/\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">01\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">HQXYZ\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">456\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">MNO\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">789\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">PQR\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">012\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">/products\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"pagination\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"page\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">1\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"limit\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">8\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"context\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"geo\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"country\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"US\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"productsInCart\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"title\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Nike Air Force 1\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"productId\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"8234567890123\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"variantId\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"45678901234567\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"title\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Classic Tee\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"productId\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"8234567890456\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"variantId\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"45678901234890\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> ],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"shoppingChannel\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"app\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"identity\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"sessionId\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"abc123\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"Market Pricing and Discount Entitlements","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"32\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">POST /storefront/v\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">1\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">/blocks/\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">01\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">HQXYZ\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">123\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">ABC\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">456\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">DEF\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">789\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">/products\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"anchor_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"8234567890123\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"pagination\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"page\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">1\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"limit\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">12\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"context\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"market\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"CA\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"geo\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"country\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"CA\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"shoppingChannel\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"web\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"identity\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"sessionId\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"abc123\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"customerId\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"8123456789\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"companyLocationId\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"gid://shopify/CompanyLocation/1234567890\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"discountEntitlements\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"entitled\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"collections\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: [\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"gid://shopify/Collection/456789012345\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">]\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"discount\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"type\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"PERCENTAGE\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"value\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">20\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> ]\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"Deduplicate Products Across Blocks","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"22\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">POST /storefront/v\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">1\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">/blocks/\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">01\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">HQXYZ\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">456\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">MNO\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">789\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">PQR\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">012\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">/products\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"anchor_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"8234567890123\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"pagination\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"page\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">1\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"limit\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">8\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"excludeProductIds\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"8234567890456\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"gid://shopify/Product/8234567890789\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> ],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"context\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"geo\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"country\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"US\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"shoppingChannel\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"web\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"identity\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"sessionId\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"abc123\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"Response","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"57\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"results\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">7003338965178\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"title\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"SUPREME SEALLINE SEE POUCH SMALL\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"body_html\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"The Supreme Sealline See Pouch Small is a versatile and waterproof storage solution that seamlessly marries utility and style. With its clear window for easy visibility and the iconic Supreme branding, it's a sought-after accessory for those who appreciate keeping their essentials dry while making a fashion statement, whether at the beach or in the city.\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"vendor\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"SUPREME\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"product_type\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Accessories\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"created_at\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">1644047925\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"handle\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"supreme-pouch-44370ss18a32-sm\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"updated_at\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">1698280024\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"published_at\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">1644047925\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"tags\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"consignment\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> ],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"images\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"alt\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"SUPREME POUCH\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"src\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"https://cdn.shopify.com/s/files/1/0588/3677/9194/products/ss18_supreme_tnf_pouch_blk_2-l_5fb1316e-22f7-4702-9953-57f3fbdda5be.jpg?v=1644047927\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"width\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">800\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"height\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">534\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"variant_ids\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: []\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> ],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"metafields\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"product\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"alias\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"SEALLINE SEE POUCH SMALL\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"colorway\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"BLACK\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"styleCode\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"SS18A30 BLACK\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"yearOfRelease\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">2018\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"searchColor\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"black\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> ]\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"available\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">true\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"price_range\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"from\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">30\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"to\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">30\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> ],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"totalResults\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">8\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"page\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">1\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"totalPages\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">1\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"resultsPerPage\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">12\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"block\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"01HQXYZ123ABC456DEF789\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"title\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Frequently Bought Together\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"anchor_type\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"product\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"strategy_type\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"interaction\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"strategy_key\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"frequently_bought_together\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"attributionToken\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"01JRVX9N4O5P6Q7R8S9T0U1V2W\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"_meta\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {},\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"_workflow\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: []\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]}},"endpoint":{"title":"Blocks API: Get Block Products","path":"/blocks/{blockId}/products","servers":[{"url":"https://app.uselayers.com/api/storefront/v1"}],"method":"post","request":{"security":[],"parameters":{"query":{},"header":{"X-Storefront-Access-Token":{"schema":[{"type":"string","description":"Token-based authentication header in the form of `\u003cYOUR_LAYERS_TOKEN>` .","required":true}]},"Content-Type":{"schema":[{"type":"string","required":true}]},"Accept":{"schema":[{"type":"string","required":true}]}},"cookie":{},"path":{"blockId":{"schema":[{"type":"string","description":"The unique identifier (ULID) of the block you wish to retrieve products for. When sourcing the block from a block metaobject in a Shopify theme, note that the metaobject’s `system.handle` is `layers-\u003clowercase block ID>` , not the raw ID. Transform it ( `handle | remove_first: 'layers-' | upcase` ) before passing it here. Passing the prefixed handle matches no block and returns `404` with `\"Block not found\"` .","required":true}]}}},"body":{"application/json":{"schemaArray":[{"type":"object","properties":{"anchor_id":[{"type":"string","description":"The anchor identifier for the block. Required for product, article, and collection anchor types. Product anchors : Numeric product ID (e.g., `\"8234567890123\"` ) or Shopify GID (e.g., `\"gid://shopify/Product/8234567890123\"` ). Both formats are resolved automatically. Article anchors : Numeric article ID (e.g., `\"556677889900\"` ) or Shopify GID (e.g., `\"gid://shopify/Article/556677889900\"` ). Both formats are resolved automatically. Collection anchors : Collection ID (e.g., `\"456789012345\"` ) or collection handle (e.g., `\"summer-collection\"` ). The system automatically resolves both numeric IDs and string handles. Cart anchors : Not required. Layers uses every `context.productsInCart` entry with a valid `productId` , removes duplicates, and preserves cart order. Entries without a `productId` are skipped. Home, Search, Not Found, Landing, Other anchors : Not required. These surfaces rely on the `context` and `identity` parameters (search query, landing source, shopper context) to drive strategy selection. Search-anchored strategies ( `searched_then_viewed` , `searched_then_purchased` ) resolve their query from the last `searchQuery` in `context.priorSearches` , not from `anchor_id` , so callers must pass `context: { priorSearches: [{ searchQuery }] }` for those blocks to return results. None anchors : Not required (global blocks)"}],"anchor_handle":[{"type":"string","description":"Deprecated : Use `anchor_id` instead. For collection anchors, `anchor_id` now accepts both collection IDs and handles."}],"variant_id":[{"type":"integer","description":"The ID of the specific variant the shopper is viewing on the anchor product. Only used for product-anchored blocks running a variant-aware strategy: Similar Products : the block seeds similarity from that variant instead of the product as a whole, so recommendations reflect the variant’s visual and semantic attributes, such as the selected color. Metafield References with a variant-scoped metafield: the block reads the reference metafield from that variant, falling back to the anchor product’s product-scoped value when the variant has none. Photographed Together : when the variant has photography of its own, the set is built from those shots, so shoppers on a specific colorway see the items it was styled with. The value is silently ignored when: The block’s anchor type is not `product` . The variant does not belong to the anchor product. The block’s strategy is not variant-aware. When `variant_id` is set on a product-anchored similar-products block, results are computed in real time rather than served from the precomputed cache. Different variants of the same product return different results and are cached under separate keys."}],"attributes":[{"type":"array","items":[{"type":"string"}],"description":"Product attributes to include in the response. By default, all attributes are included except opt-in attributes noted below. Available attributes include: `id` , `title` , `handle` , `body_html` , `vendor` , `product_type` , `tags` , `images` , `available` , `created_at` , `updated_at` , `published_at` , `price_range` , `options` , `original_options` , `metafields` , `named_tags` , `calculated` , `category` , `featured_media` , `is_gift_card` , `has_variants_that_require_components` , `combined_listing_parent_product_id` , `combined_listing_role` , `first_or_matched_variant` , and `variants` . The `collection_titles` attribute is opt-in: pass it in `attributes` to include the array of collection titles each product belongs to. It is excluded from responses by default. See the for detailed descriptions, including for slicing arrays and filtering collections (for example, , , )."}],"excludeProductIds":[{"type":"array","items":[{"type":"string"}],"description":"A list of product IDs to exclude from the recommendations returned by this block. Use this to deduplicate products across multiple blocks rendered on the same page. For example, you can prevent the same product from appearing in both a “Frequently Bought Together” block and a “Customers Also Viewed” block. Each entry can be either a numeric product ID (e.g., `\"8234567890123\"` ) or a Shopify GID (e.g., `\"gid://shopify/Product/8234567890123\"` ). Both formats are accepted and resolved automatically. Excluded products are filtered out before strategy ranking, safeguard checks, and fallback evaluation. If excluding products causes the primary block to fall below its minimum products safeguard, the fallback chain is used and exclusions are applied to fallback blocks as well."}],"filter_group":[{"type":"object","properties":{},"description":"Storefront endpoints accept nested `AND` / `OR` filter groups up to two levels deep. Each nested group must contain at least one expression; empty nested groups are rejected. Metafield filter properties may include hyphens in their namespace or key, for example `metafields.my-app.fit-type` . Refer to the dedicated Filter Expressions guide to learn more about filter expressions."}],"pagination":[{"type":"object","properties":{"page":[{"type":"integer","description":"The current page of results to fetch."}],"limit":[{"type":"integer","description":"The max results to fetch per page."}]}}],"facets":[{"type":"array","items":[{"type":"string"}],"description":"Facets to be included. Accepts both exact facet codes (e.g., `\"vendor\"` , `\"options.Size\"` ) and wildcard patterns (e.g., `\"options.*\"` , `\"metafields.product.*\"` ). Wildcard patterns expand to all matching attribute codes. For example, `\"options.*\"` expands to all option facets like `\"options.Size\"` and `\"options.Color\"` . Wildcards must match at least one attribute code to be valid. Examples:"}],"retrieveFacetCount":[{"type":"boolean","description":"If the count of each facet value should be calculated."}],"includeFacetRanges":[{"type":"boolean","description":"If you want a min/max range for numeric facets such as price."}],"enrichFacetMetaobjects":[{"type":"boolean","description":"When `true` , any facet backed by a `metaobject_reference` or `list.metaobject_reference` metafield is returned with a companion `facetDisplay` object. Each entry maps a facet value (the metaobject handle) to the referenced metaobject’s `display_name` and `fields` . When the metaobject defines a color or image field, the entry also carries a resolved `swatch` object. Use this when your storefront filter UI needs human-readable labels or nested field data (for example, a color name or swatch hex) instead of the raw handle. When `false` or omitted, only the handles are returned in `facets` . Values are looked up from the local metaobject cache. Handles with no matching cached metaobject are omitted from `facetDisplay` and remain as plain values in `facets` . See Metaobjects and reference metafields for the normalized shape of each entry."}],"discountEntitlements":[{"type":"array","items":[{"type":"object","properties":{"entitled":[{"type":"object","properties":{"all":[{"type":"boolean","description":"When `true` , applies discount to all products. When `false` , uses products, variants, or collections arrays."}],"products":[{"type":"array","items":[{"type":"string"}],"description":"Array of product IDs or handles that qualify for the discount. Maximum 250 entries."}],"variants":[{"type":"array","items":[{"type":"object","properties":{}}],"description":"Array of variant IDs that qualify for the discount. Maximum 250 entries."}],"collections":[{"type":"array","items":[{"type":"string"}],"description":"Array of collection handles that qualify for the discount. Maximum 250 entries."}],"conditions":[{"type":"object","properties":{},"description":"Optional filter group that qualifies products for the discount based on their attributes (for example, `tags` or `vendor` ). Uses the same shape as the top-level `filter_group` parameter. Matches are additive with `products` , `variants` , and `collections` on the same entitlement."}]},"description":"Defines which products qualify for the discount.","required":true}],"discount":[{"type":"object","properties":{"type":[{"type":"string","description":"The discount type: `PERCENTAGE` or `FIXED_AMOUNT` .","required":true}],"value":[{"type":"number","description":"The discount value. For `PERCENTAGE` , this must be a number between 0 and 100 (e.g., 10 for 10% off). For `FIXED_AMOUNT` , this is the amount in your shop’s base currency, not the shopper’s market currency.","required":true}]},"description":"Defines the discount to apply.","required":true}]}}],"description":"Apply discounts to products, variants, or collections. When provided, price-based sorting and filtering will use discounted prices. See the Discount Entitlements guide for detailed usage. Fixed amounts use your shop’s base currency. Layers skips them on market pricing rows in a different native currency, without converting the discount. Percentage discounts still apply to those localized prices. A variant that falls back to its base price can still receive a fixed-amount discount."}],"identity":[{"type":"object","properties":{"deviceId":[{"type":"string","description":"Persistent browser identifier that remains constant across sessions. Used to recognize returning visitors for long-term personalization. Automatically generated and managed by the Storefront Pixel."}],"sessionId":[{"type":"string","description":"Temporary session identifier. Layers-generated sessions expire after 30 minutes without activity. The Storefront Pixel refreshes the rolling window at page load and on every route change, including pages without tracked events. When a legacy Shopify or fallback cookie is available, Layers prefers it and does not control its lifetime. Without consent, the pixel uses a sessionStorage or in-memory fallback and does not write an analytics cookie."}],"customerId":[{"type":"string","description":"Shopify customer ID for authenticated users. Only present when the customer is signed in to their account."}],"companyLocationId":[{"type":"string","description":"Shopify B2B company location GID (e.g. `gid://shopify/CompanyLocation/123456789` ) for the authenticated buyer. Layers resolves the catalog assigned to the company location and uses it to scope results: only products in the catalog are returned, prices come from the catalog’s price list, and excluded collections return 404. Omit for retail (DTC) traffic. When you pass `companyLocationId` , you must also pass the buyer’s `customerId` . Layers verifies with Shopify that the customer belongs to the company that owns the location before resolving the catalog; unauthorized or unauthenticated requests return a `403` . See B2B catalogs ."}]},"description":"User identity information for tracking and personalization. Automatically managed by the Storefront Pixel; required for headless integrations."}],"context":[{"type":"object","properties":{"geo":[{"type":"object","properties":{"country":[{"type":"string","description":"Country code or name (e.g., “US”, “Canada”)."}],"province":[{"type":"string","description":"State or province name (e.g., “California”, “Ontario”)."}],"city":[{"type":"string","description":"City name (e.g., “Los Angeles”, “Toronto”)."}]},"description":"Geographic location information for regional personalization and merchandising. Layers determines it from the IP address for client-side requests. For server-side API calls (headless integrations), provide `geo` explicitly."}],"productsInCart":[{"type":"array","items":[{"type":"object","properties":{"title":[{"type":"string","description":"Product title. Each entry needs at least a `productId` , `variantId` , or non-empty `title` . Layers drops entries with none of these."}],"price":[{"type":"number","description":"Unit price in the request currency’s major units (e.g. `29.00` for $29), not cents. Accepts a JSON number or a numeric string such as `\"29.00\"` ."}],"type":[{"type":"string","description":"Product type or category."}],"productId":[{"type":"string","description":"Product identifier. Accepts a numeric ID (e.g., `\"8234567890123\"` ) or a Shopify GID (e.g., `\"gid://shopify/Product/8234567890123\"` )."}],"variantId":[{"type":"string","description":"Product variant identifier."}],"options":[{"type":"object","properties":{},"description":"Product variant options (e.g., `{\"Size\": \"11\", \"Color\": \"Red\"}` )."}],"quantity":[{"type":"integer","description":"Number of units of this line in the cart. Layers rounds fractional values down to a whole number. Missing values, non-numeric values, and values below `1` count as `1` . Layers uses it to calculate the cart subtotal for Free Shipping Picks ."}]}}],"description":"Products currently in the customer’s cart. Used to surface complementary products and influence relevance scoring."}],"freeShippingThreshold":[{"type":"number","description":"The cart subtotal at which the shopper qualifies for free shipping, in the request currency’s major units (e.g. `75.00` for $75), not cents. Layers ignores values that aren’t a number greater than `0` . Required for Free Shipping Picks blocks."}],"productsViewed":[{"type":"array","items":[{"type":"object","properties":{"id":[{"type":"string","description":"Product identifier. Accepts a numeric ID or a Shopify GID. Also accepted as `productId` ."}],"at":[{"type":"integer","description":"Timestamp of the view in Unix milliseconds. Views without `at` still count but skip recency weighting."}],"title":[{"type":"string","description":"Product title."}],"type":[{"type":"string","description":"Product type or category."}],"variantId":[{"type":"string","description":"Variant identifier, if the shopper viewed a specific variant."}],"options":[{"type":"object","properties":{},"description":"Product variant options (e.g., `{\"Size\": \"11\", \"Color\": \"Red\"}` )."}]}}],"description":"Products the shopper has viewed during the current session. Layers uses these as short-lived personalization signals, with recent views weighted more heavily. Only the 20 most recent views are used. The Storefront Pixel populates this automatically; send it manually only for headless integrations. See Recently viewed products ."}],"productsPurchased":[{"type":"array","items":[{"type":"object","properties":{"title":[{"type":"string","description":"Product title. Each entry needs at least a `productId` , `variantId` , or non-empty `title` . Layers drops entries with none of these."}],"price":[{"type":"number","description":"Unit price in the request currency’s major units (e.g. `29.00` for $29), not cents, at time of purchase. Accepts a JSON number or a numeric string such as `\"29.00\"` ."}],"type":[{"type":"string","description":"Product type or category."}],"productId":[{"type":"string","description":"Product identifier. Accepts a numeric ID (e.g., `\"8234567890123\"` ) or a Shopify GID (e.g., `\"gid://shopify/Product/8234567890123\"` )."}],"variantId":[{"type":"string","description":"Product variant identifier."}],"options":[{"type":"object","properties":{},"description":"Product variant options (e.g., `{\"Size\": \"11\", \"Color\": \"Red\"}` )."}]}}],"description":"Products the customer has previously purchased. Informs recommendations and prevents over-promotion of owned items."}],"priorSearches":[{"type":"array","items":[{"type":"object","properties":{"searchQuery":[{"type":"string","description":"The search query text.","required":true}],"hadClick":[{"type":"boolean","description":"Whether the customer clicked on any results from this search."}],"hasResults":[{"type":"boolean","description":"Whether the search returned any results."}],"fromPage":[{"type":"string","description":"The page the search was started from (e.g., the referring page URL or page type). Layers accepts this field but doesn’t currently use it for ranking or rules."}]}}],"description":"Recent search queries and their outcomes. Helps understand customer intent and refine relevance models."}],"marketing":[{"type":"object","properties":{"source":[{"type":"string","description":"Marketing source (e.g., “google”, “facebook”)."}],"medium":[{"type":"string","description":"Marketing medium (e.g., “cpc”, “email”, “social”)."}],"campaign":[{"type":"string","description":"Campaign name."}],"term":[{"type":"string","description":"Search term or keyword."}],"content":[{"type":"string","description":"Ad or link variant, such as the value of `utm_content` ."}],"clickIds":[{"type":"object","properties":{},"description":"Click identifiers from the landing URL, keyed by parameter name (e.g., `fbclid` , `gclid` ). Layers derives the originating network from them as `marketing.clickSource` and discards the raw tokens. See Context data structure ."}],"referrer":[{"type":"string","description":"Host or URL of the site that linked the shopper to the storefront (e.g., “google.com”). Layers normalizes it to a lowercase host without `www.` ."}],"landingPath":[{"type":"string","description":"Storefront path the shopper first landed on this visit (e.g., “/collections/sale”). Layers removes the query string and keeps up to 512 characters."}],"channel":[{"type":"string","description":"Arrival channel. Layers derives it from UTMs, click identifiers, and the referring site, and keeps a value you send only when it can’t derive one. See Arrival channel ."}]},"description":"UTM parameters and marketing campaign information for attribution tracking."}],"experiments":[{"type":"object","properties":{},"description":"A/B test assignments for the shopper, keyed by experiment ID with the assigned group ID as the value (e.g., `{\"exp_123\": \"group_b\"}` ). Used by the Experiment Group contextual condition. The Layers app embed fills this from Intelligems automatically; values your storefront sends for the same experiment take precedence. Entries whose value isn’t a string are dropped."}],"customer":[{"type":"object","properties":{"signedIn":[{"type":"boolean","description":"Whether the customer is currently authenticated."}],"returning":[{"type":"boolean","description":"Whether this is a returning customer."}],"numberOfOrders":[{"type":"integer","description":"Total number of orders placed."}],"averageOrderValue":[{"type":"number","description":"Average order value in store currency."}],"daysBetweenOrders":[{"type":"integer","description":"Average days between orders."}],"daysSinceLastOrder":[{"type":"integer","description":"Days since the most recent order."}],"daysSinceOldestOrder":[{"type":"integer","description":"Days since the first order."}],"totalSpent":[{"type":"number","description":"Total amount spent in store currency."}],"tags":[{"type":"array","items":[{"type":"object","properties":{}}],"description":"Shopify customer tags on the shopper’s profile (e.g., `[\"vip\", \"wholesale\"]` ). Collected by the Storefront Pixel for signed-in customers; `null` for guests."}],"segments":[{"type":"array","items":[{"type":"object","properties":{}}],"description":"Shopify customer segment IDs the shopper belongs to. Server-resolved: Layers populates this from the signed-in `identity.customerId` on every request and ignores any value you send. `null` for guests and customers with no segment memberships. Available as `context.customer.segments` in contextual conditions ."}]},"description":"Aggregated customer behavior and purchase patterns for personalization."}],"market":[{"type":"string","description":"Explicitly set the Shopify Market for this request. Must be provided inside `context` ; it is not a top-level request body parameter. Used for market-specific product availability filtering and contextual pricing. Accepts a two-letter country code (e.g., `\"US\"` , `\"CA\"` ), a numeric Shopify Market ID (e.g., `\"12345\"` ), or a Shopify Market GID (e.g., `\"gid://shopify/Market/12345\"` ). When not provided, the market is automatically resolved from `context.geo.country` (or the shopper’s detected country for client-side requests). If no matching market is found, the store’s primary market is used as the fallback. When you send a two-letter country code that belongs to the resolved market, Layers also prices for that country, ahead of the shopper’s detected location. See Market resolution . Behavior depends on the store’s market application mode (set under Settings > Search \u0026 Discovery > Search Behavior , in the Markets card): Restrict to market catalog — Products are filtered to only those available in the resolved market, and market-specific pricing is applied Adjust pricing only — The full catalog remains visible, but variant prices are swapped to market-specific values where available Ignore markets (default) — Market resolution is skipped entirely; base catalog and base pricing are used for all shoppers"}],"session":[{"type":"object","properties":{"returning":[{"type":"boolean","description":"Whether the current session belongs to a returning visitor. Layers derives this from the storefront’s session cookie when not provided."}]},"description":"Session-level signals about the current visit."}],"locale":[{"type":"string","description":"Storefront locale code (e.g., `\"en\"` , `\"fr\"` , `\"pt-br\"` ). Case-insensitive; Layers normalizes to lowercase. When the locale is published in Shopify and served by the resolved market, Layers returns translated display text (titles, descriptions, option values, filter labels) while IDs, prices, and filter values stay in the source language. Regional locales fall back to their base language ( `pt-br` uses `pt` ). The store’s primary locale returns source text. See Translations ."}],"currency":[{"type":"string","description":"ISO 4217 currency code (e.g., `\"USD\"` , `\"EUR\"` ). Case-insensitive; Layers normalizes to uppercase. When Layers can resolve a currency from the shopper’s market or pricing context, the server-resolved value takes precedence."}],"b2bCompany":[{"type":"string","description":"Shopify B2B company location identifier. When `identity.companyLocationId` is provided, Layers resolves the company location server-side and the server value takes precedence."}],"shoppingChannel":[{"type":"string","description":"The shopping channel the customer is browsing from. Used for channel-specific merchandising, sorting, and analytics segmentation. Automatically detected from request headers when not provided (e.g., mobile app requests via Tapcart, Fuego, or Mobiloud Canvas are detected as `\"app\"` ). Accepted values: `\"web\"` — Standard web browser (default) `\"app\"` — Mobile app (e.g., Tapcart, Fuego, Mobiloud Canvas)"}],"custom":[{"type":"object","properties":{},"description":"Custom contextual data specific to your implementation. Structure is flexible and can contain any key-value pairs relevant to your use case."}]},"description":"Contextual information about the customer’s session, behavior, and environment. Automatically collected by the Storefront Pixel; must be manually provided for headless integrations. See Contextual Information for implementation guidance."}],"responseOptions":[{"type":"object","properties":{"mediaPreloads":[{"type":"object","properties":{"enabled":[{"type":"boolean","description":"Set to `false` to skip the `Link` header for this request. Useful for server-rendered pages that do not benefit from preload hints, or when you want to reduce response header size. Cannot enable preloads if they are disabled at the store level."}],"srcsetSizes":[{"type":"array","items":[{"type":"integer"}],"description":"Custom responsive image widths (in pixels) to emit in `imagesrcset` . Each value must be an integer between `1` and `10000` . Overrides the store-level srcset configuration for this request only. When omitted, the store configuration or platform defaults are used."}],"sizes":[{"type":"string","description":"Media query string emitted as the `imagesizes` attribute in the preload `Link` header (for example `(max-width: 600px) 100vw, 50vw` ). Tells the browser which srcset width to pick per viewport. Overrides the store-level sizes value for this request only. When omitted or empty, the store configuration is used. Each comma-separated entry may carry a media condition, including the last entry. See the accepted format for details. The API rejects invalid values with a validation error."}]},"description":"Controls the `Link: rel=\\\"preload\\\"` directives generated for product images in this response. See Early hints for background."}]},"description":"Per-request overrides for response behavior. Currently controls image preload hints emitted in the `Link` response header. You can disable preloads or narrow the srcset to the breakpoints your storefront uses. You cannot enable preloads when the store has them disabled. Example:"}]}}],"examples":{"example":{"value":{"anchor_id":"\u003cstring>","anchor_handle":"\u003cstring>","variant_id":123,"attributes":["\u003cstring>"],"excludeProductIds":["\u003cstring>"],"filter_group":{},"pagination":{"page":123,"limit":123},"facets":["\u003cstring>"],"retrieveFacetCount":true,"includeFacetRanges":true,"enrichFacetMetaobjects":true,"discountEntitlements":[{"entitled":{"all":true,"products":["\u003cstring>"],"variants":[{}],"collections":["\u003cstring>"],"conditions":{}},"discount":{"type":"\u003cstring>","value":123}}],"identity":{"deviceId":"\u003cstring>","sessionId":"\u003cstring>","customerId":"\u003cstring>","companyLocationId":"\u003cstring>"},"context":{"geo":{"country":"\u003cstring>","province":"\u003cstring>","city":"\u003cstring>"},"productsInCart":[{"title":"\u003cstring>","price":123,"type":"\u003cstring>","productId":"\u003cstring>","variantId":"\u003cstring>","options":{},"quantity":123}],"freeShippingThreshold":123,"productsViewed":[{"id":"\u003cstring>","at":123,"title":"\u003cstring>","type":"\u003cstring>","variantId":"\u003cstring>","options":{}}],"productsPurchased":[{"title":"\u003cstring>","price":123,"type":"\u003cstring>","productId":"\u003cstring>","variantId":"\u003cstring>","options":{}}],"priorSearches":[{"searchQuery":"\u003cstring>","hadClick":true,"hasResults":true,"fromPage":"\u003cstring>"}],"marketing":{"source":"\u003cstring>","medium":"\u003cstring>","campaign":"\u003cstring>","term":"\u003cstring>","content":"\u003cstring>","clickIds":{},"referrer":"\u003cstring>","landingPath":"\u003cstring>","channel":"\u003cstring>"},"experiments":{},"customer":{"signedIn":true,"returning":true,"numberOfOrders":123,"averageOrderValue":123,"daysBetweenOrders":123,"daysSinceLastOrder":123,"daysSinceOldestOrder":123,"totalSpent":123,"tags":[{}],"segments":[{}]},"market":"\u003cstring>","session":{"returning":true},"locale":"\u003cstring>","currency":"\u003cstring>","b2bCompany":"\u003cstring>","shoppingChannel":"\u003cstring>","custom":{}},"responseOptions":{"mediaPreloads":{"enabled":true,"srcsetSizes":[123],"sizes":"\u003cstring>"}}}}}}}},"response":{"200":{"application/json":{"schemaArray":[{"type":"object","properties":{"results":[{"type":"object","properties":{"id":[{"type":"number","description":"The unique identifier of the product."}],"title":[{"type":"string","description":"The title of the product."}],"body_html":[{"type":"string","description":"The HTML content describing the product."}],"vendor":[{"type":"string","description":"The vendor of the product."}],"product_type":[{"type":"string","description":"The type of the product."}],"created_at":[{"type":"number","description":"The timestamp when the product was created."}],"handle":[{"type":"string","description":"The handle of the product."}],"updated_at":[{"type":"number","description":"The timestamp when the product was updated."}],"published_at":[{"type":"number","description":"The timestamp when the product was published."}],"tags":[{"type":"object","properties":{},"description":"The tags associated with the product."}],"combined_listing_parent_product_id":[{"type":"number","description":"The parent product id if a child in a Combined Listing."}],"combined_listing_role":[{"type":"string","description":"The role of the product if part of a Combined Listing."}],"images":[{"type":"object","properties":{"alt":[{"type":"string","description":"The alt text of the image."}],"src":[{"type":"string","description":"The src of the image."}],"width":[{"type":"number","description":"The width of the image."}],"height":[{"type":"number","description":"The height of the image."}],"variant_ids":[{"type":"array","items":[{"type":"object","properties":{}}],"description":"The variant IDs associated with the image."}]},"description":"The images of the product."}],"metafields":[{"type":"object","properties":{},"description":"The metafields of the product."}],"calculated":[{"type":"object","properties":{},"description":"The computed attributes of the product. Only includes attributes with non-null, non-empty values. Attributes that evaluate to null or an empty string are omitted."}],"category":[{"type":"object","properties":{"name":[{"type":"string","description":"The name of the category leaf."}],"full_name":[{"type":"string","description":"The full name of the category."}],"id":[{"type":"string","description":"The ID of the category."}],"is_leaf":[{"type":"boolean","description":"Is the category a leaf category."}],"is_root":[{"type":"boolean","description":"Is the category a root category."}]},"description":"The Shopify Product Taxonomy Category of the product."}],"first_or_matched_variant":[{"type":"object","properties":{"id":[{"type":"number","description":"The ID of the variant."}],"title":[{"type":"string","description":"The title of the variant."}],"available":[{"type":"boolean","description":"The availability of the variant."}],"sku":[{"type":"number","description":"The sku of the variant."}],"price":[{"type":"string","description":"The price of the variant."}],"compare_at_price":[{"type":"string","description":"The compare at price of the variant."}],"metafields":[{"type":"object","properties":{},"description":"The metafields of the variant."}],"selected_options":[{"type":"object","properties":{"name":[{"type":"string","description":"The name of the option."}],"value":[{"type":"string","description":"The value of the option."}],"option_value":[{"type":"object","properties":{},"description":"The linked metafield of the option."}]},"description":"The selected options of the variant."}],"position":[{"type":"number","description":"The position of the variant in the product’s variant list."}],"inventory_quantity":[{"type":"number","description":"Total inventory quantity across the locations in the store’s inventory location scope , which is all locations by default. Only included when the store has the Expose Variant Inventory setting enabled."}],"inventory_policy":[{"type":"string","description":"Inventory policy for the variant: `DENY` (stop selling when out of stock) or `CONTINUE` (allow overselling). Only included when the store has the Expose Variant Inventory setting enabled."}],"inventory_levels":[{"type":"object","properties":{},"description":"Object mapping location IDs to available inventory quantities (e.g., `{\"1001\": 5, \"1002\": 10}` ). Returns empty object `{}` when no inventory data exists. Only included when the store has the Expose Variant Inventory setting enabled."}],"featured_media":[{"type":"object","properties":{"mediaContentType":[{"type":"string","description":"The type of media."}],"alt":[{"type":"string","description":"The alt text of the image."}],"src":[{"type":"string","description":"The src of the image."}],"width":[{"type":"number","description":"The width of the image."}],"height":[{"type":"number","description":"The height of the image."}]},"description":"The featured media of the product."}]},"description":"The first available variant (depending on OOS settings) or the variant matched with a filter or search query."}],"featured_media":[{"type":"object","properties":{"mediaContentType":[{"type":"string","description":"The type of media."}],"alt":[{"type":"string","description":"The alt text of the image."}],"src":[{"type":"string","description":"The src of the image."}],"width":[{"type":"number","description":"The width of the image."}],"height":[{"type":"number","description":"The height of the image."}]},"description":"The featured media of the product."}],"available":[{"type":"boolean","description":"The availability of the product."}],"price_range":[{"type":"object","properties":{"from":[{"type":"number","description":"The starting price of the product."}],"to":[{"type":"number","description":"The ending price of the product."}]},"description":"The price range of the product."}]}}],"totalResults":[{"type":"number","description":"The total number of results. When a maximum products safeguard is configured, this value is capped to the maximum. When variant breakouts are enabled, this reflects the count of tiles (both product and variant tiles) rather than just products."}],"page":[{"type":"number","description":"The current page number."}],"totalPages":[{"type":"number","description":"The total number of pages. Calculated from `totalResults` and the requested page size. When a maximum products safeguard is configured, this reflects the capped total. When variant breakouts are enabled, the calculation is based on tile count."}],"resultsPerPage":[{"type":"number","description":"The number of results per page (matches the `limit` parameter from the request)."}],"facets":[{"type":"object","properties":{},"description":"If `retrieveFacetCount` is `true` then an object with keys and values of the specified attributes. When variant breakouts are enabled, facet counts reflect tile counts rather than product counts. Empty values and literal `\"null\"` strings are automatically excluded from facet results."}],"facetRanges":[{"type":"object","properties":{},"description":"If `includeFacetRanges` is `true` then an object with keys of the facet attribute code and value is an object with min/max."}],"facetDisplay":[{"type":"object","properties":{},"description":"Only returned when `enrichFacetMetaobjects` is `true` and at least one requested facet is backed by a `metaobject_reference` or `list.metaobject_reference` metafield. Keys are facet attribute codes and values map each facet value (the referenced metaobject’s handle) to the metaobject’s `display_name` and `fields` . Handles with no matching cached metaobject are omitted here and remain as plain values in `facets` . See Metaobjects and reference metafields for the normalized field shape."}],"attributionToken":[{"type":"string","description":"A unique request identifier (ULID) for this API call. Use this token to correlate block requests with analytics events via the Beacon API ."}],"block":[{"type":"object","properties":{"id":[{"type":"string","description":"The block ID."}],"title":[{"type":"string","description":"The customer-facing title of the block."}],"anchor_type":[{"type":"string","description":"The anchor type of the block: `product` , `article` , `collection` , `cart` , `home` , `search` , `not_found` , `landing` , `other` , or `none` ."}],"strategy_type":[{"type":"string","description":"The strategy type used: `interaction` , `similar_products` , `manual` , `metafield_reference` , `sequence` , `personalized` , `trending` , `contextual` , `set` , or `related_content` ."}],"strategy_key":[{"type":"string","description":"The specific strategy key. For product strategies: `frequently_bought_together` , `customers_also_viewed` , `customers_also_added_to_cart` , `viewed_then_bought` , `customers_also_bought` . For collection strategies: `browsed_then_bought` , `browsed_then_viewed` , `collection_trending` . For trending strategies: `best_sellers` , `trending_in_region` , `live_feed` . For contextual strategies: `searched_then_viewed` , `searched_then_purchased` , `landing_page_picks` , `free_shipping_picks` . For similar products strategies on article anchors: `similar_to_article` . For related content strategies: `related_articles` ."}]},"description":"Information about the block that generated these recommendations."}],"_training":[{"type":"boolean","description":"Present and set to `true` when the block’s strategy data is still being computed or the strategy doesn’t yet have enough signal to return results. This applies to interaction strategies during their initial computation and to trending and contextual strategies that are warming up. It also applies to Photographed Together blocks while image detection is still processing your catalog. In this state, the primary block returns empty results and the fallback chain is used instead. Once the strategy data is ready, this field is no longer included in the response."}],"_meta":[{"type":"object","properties":{"variantBreakouts":[{"type":"object","properties":{"optionCode":[{"type":"string","description":"The product option code that determines which variants are broken out (e.g., “Stone”, “Color”). Each product is broken out by the first matching option code from the array."}]},"description":"Array of variant breakout configurations applied to this block. Only present when one or more variant breakouts are active. Multiple breakouts with different option codes can work simultaneously. Each object has the structure `{optionCode: \"Stone\"}` ."}],"mediaPreloads":[{"type":"object","properties":{"srcsetSizes":[{"type":"array","items":[{"type":"integer"}],"description":"The responsive image widths (in pixels) used in the `imagesrcset` of the `Link` header. Reflects the request override when provided, otherwise the store-level configuration or platform defaults."}]},"description":"Echoes the image preload configuration used to build the `Link` response header for this request. Only present when image preloads are emitted. See Early hints ."}],"discountEntitlements":[{"type":"object","properties":{"entitled":[{"type":"object","properties":{},"description":"The entitlement criteria that qualified products for the discount. Contains any of `all` , `products` , `variants` , `collections` , or `conditions` . See the entitlement criteria reference."}],"discount":[{"type":"object","properties":{"type":[{"type":"string","description":"`\"PERCENTAGE\"` or `\"FIXED_AMOUNT\"` ."}],"value":[{"type":"number","description":"The discount value. Percent off for `PERCENTAGE` , currency amount for `FIXED_AMOUNT` ."}]},"description":"The discount Layers applied."}]},"description":"Echoes the discount entitlements applied to this request. Only present when the request included `discountEntitlements` (either directly or via a matched request transform ). Use this to render discount badges or labels on the storefront without re-deriving which entitlements matched. Each entry mirrors the entitlement shape sent in the request."}]}}],"_workflow":[{"type":"object","properties":{"type":[{"type":"string","description":"The processing step type (e.g., `\"rule-applied\"` )."}],"payload":[{"type":"object","properties":{},"description":"The data associated with this processing step."}]},"description":"An ordered trace of processing steps the engine performed to produce results. Each entry represents a stage in the pipeline, recorded in the order it was executed. See the Text Search documentation for the full list of possible step types."}],"error":[{"type":"string","description":"Error message when the request fails."}]}}],"examples":{"example":{"value":{"results":{"id":123,"title":"\u003cstring>","body_html":"\u003cstring>","vendor":"\u003cstring>","product_type":"\u003cstring>","created_at":123,"handle":"\u003cstring>","updated_at":123,"published_at":123,"tags":{},"combined_listing_parent_product_id":123,"combined_listing_role":"\u003cstring>","images":{"alt":"\u003cstring>","src":"\u003cstring>","width":123,"height":123,"variant_ids":[{}]},"metafields":{},"calculated":{},"category":{"name":"\u003cstring>","full_name":"\u003cstring>","id":"\u003cstring>","is_leaf":true,"is_root":true},"first_or_matched_variant":{"id":123,"title":"\u003cstring>","available":true,"sku":123,"price":"\u003cstring>","compare_at_price":"\u003cstring>","metafields":{},"selected_options":{"name":"\u003cstring>","value":"\u003cstring>","option_value":{}},"position":123,"inventory_quantity":123,"inventory_policy":"\u003cstring>","inventory_levels":{},"featured_media":{"mediaContentType":"\u003cstring>","alt":"\u003cstring>","src":"\u003cstring>","width":123,"height":123}},"featured_media":{"mediaContentType":"\u003cstring>","alt":"\u003cstring>","src":"\u003cstring>","width":123,"height":123},"available":true,"price_range":{"from":123,"to":123}},"totalResults":123,"page":123,"totalPages":123,"resultsPerPage":123,"facets":{},"facetRanges":{},"facetDisplay":{},"attributionToken":"\u003cstring>","block":{"id":"\u003cstring>","title":"\u003cstring>","anchor_type":"\u003cstring>","strategy_type":"\u003cstring>","strategy_key":"\u003cstring>"},"_training":true,"_meta":{"variantBreakouts":{"optionCode":"\u003cstring>"},"mediaPreloads":{"srcsetSizes":[123]},"discountEntitlements":{"entitled":{},"discount":{"type":"\u003cstring>","value":123}}},"_workflow":{"type":"\u003cstring>","payload":{}},"error":"\u003cstring>"}}}}}},"deprecated":false}},"jsLinks":["/_mintlify/custom/protoninc/d2da920448b9ce07/track.js"],"subdomain":"protoninc","siteName":"Layers","title":"Blocks API: Get Block Products - Layers","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-03T14:45:11.624Z","originalFileLocation":"api-reference/blocks.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Blocks API endpoint that returns product recommendations for a specific block using its configured strategy, fallback chain, and merchandising rules.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Layers\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/protoninc/-Zid9_7urMZu-aPC/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/protoninc/-Zid9_7urMZu-aPC/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/protoninc/-Zid9_7urMZu-aPC/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/protoninc/-Zid9_7urMZu-aPC/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/protoninc/-Zid9_7urMZu-aPC/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/protoninc/-Zid9_7urMZu-aPC/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/protoninc/-Zid9_7urMZu-aPC/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/protoninc/-Zid9_7urMZu-aPC/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/protoninc/-Zid9_7urMZu-aPC/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Blocks API: Get Block Products - Layers\">\u003cmeta data-mint-head property=\"og:description\" content=\"Blocks API endpoint that returns product recommendations for a specific block using its configured strategy, fallback chain, and merchandising rules.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Layers\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.uselayers.com/api-reference/blocks\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://protoninc.mintlify.site/_mintlify/api/og/v2?division=Blocks\u0026amp;title=Blocks+API%3A+Get+Block+Products\u0026amp;description=Blocks+API+endpoint+that+returns+product+recommendations+for+a+specific+block+using+its+configured+strategy%2C+fallback+chain%2C+and+merchandising+rules.\u0026amp;theme=a10a6113a77cea89cec87611\u0026amp;signature=c2a239bc977a8d525395ca6ec178143e1b2553d241f00f56905793628fa06d4b\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Blocks API: Get Block Products - Layers\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Blocks API endpoint that returns product recommendations for a specific block using its configured strategy, fallback chain, and merchandising rules.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://protoninc.mintlify.site/_mintlify/api/og/v2?division=Blocks\u0026amp;title=Blocks+API%3A+Get+Block+Products\u0026amp;description=Blocks+API+endpoint+that+returns+product+recommendations+for+a+specific+block+using+its+configured+strategy%2C+fallback+chain%2C+and+merchandising+rules.\u0026amp;theme=a10a6113a77cea89cec87611\u0026amp;signature=c2a239bc977a8d525395ca6ec178143e1b2553d241f00f56905793628fa06d4b\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/protoninc/-Zid9_7urMZu-aPC/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Layers\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#607FFD\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.uselayers.com/api-reference/blocks\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/blocks.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.uselayers.com/#organization\",\"name\":\"Layers\",\"url\":\"https://docs.uselayers.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/protoninc/PNs-gxGUVcdBDEEC/logo.svg?fit=max\u0026auto=format\u0026n=PNs-gxGUVcdBDEEC\u0026q=85\u0026s=989e3194cb32f07e7018b8b7186b9007\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.uselayers.com#website\",\"name\":\"Layers\",\"url\":\"https://docs.uselayers.com\",\"publisher\":{\"@id\":\"https://docs.uselayers.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.uselayers.com/api-reference/blocks#webpage\",\"url\":\"https://docs.uselayers.com/api-reference/blocks\",\"name\":\"Blocks API: Get Block Products\",\"description\":\"Blocks API endpoint that returns product recommendations for a specific block using its configured strategy, fallback chain, and merchandising rules.\",\"dateModified\":\"2026-11-03T14:45:11.624Z\",\"isPartOf\":{\"@id\":\"https://docs.uselayers.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.uselayers.com/api-reference/blocks#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.uselayers.com/api-reference/blocks#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Layers\",\"item\":\"https://docs.uselayers.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Blocks API: Get Block Products\",\"item\":\"https://docs.uselayers.com/api-reference/blocks\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.uselayers.com/api-reference/blocks#apireference\",\"headline\":\"Blocks API: Get Block Products\",\"name\":\"Blocks API: Get Block Products\",\"description\":\"Blocks API endpoint that returns product recommendations for a specific block using its configured strategy, fallback chain, and merchandising rules.\",\"url\":\"https://docs.uselayers.com/api-reference/blocks\",\"mainEntityOfPage\":{\"@id\":\"https://docs.uselayers.com/api-reference/blocks#webpage\"},\"dateModified\":\"2026-11-03T14:45:11.624Z\",\"publisher\":{\"@id\":\"https://docs.uselayers.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.uselayers.com#website\"}}]}\u003c/script>","siteName":"Layers","nav":{"global":null,"anchors":[{"anchor":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"anchor":"Help Center","icon":"map","pages":[{"title":"Help Center","href":"/help/onboarding/install"}]},{"anchor":"Developers","icon":"code","pages":[{"title":"Developers","href":"/developers/overview"}]},{"anchor":"API Reference","icon":"rectangle-terminal","tabs":[{"tab":"Storefront API","groups":[{"group":"Browse","pages":[{"api":"POST /browse/{collection_handle}","title":"Browse API: Browse Collection Page","sidebarTitle":"Collection Page","href":"/api-reference/browse"}]},{"group":"Product Search","pages":[{"group":"Text Search","pages":[{"api":"POST /search/{searchQuery}/prepare","title":"Text Search: Prepare Search","sidebarTitle":"Prepare Search","href":"/api-reference/search-prepare"},{"api":"POST /search/{searchQuery}/execute","title":"Text Search: Execute Search","sidebarTitle":"Execute Search","href":"/api-reference/search"},{"api":"POST /search/feedback","title":"Text Search: Submit Feedback","sidebarTitle":"Submit Feedback","href":"/api-reference/search-feedback"}]},{"group":"Image Search","pages":[{"api":"POST /images/upload","title":"Image Search: Upload Image","sidebarTitle":"Upload Image","href":"/api-reference/upload-image"},{"api":"POST /search/image","title":"Image Search: Execute Search","sidebarTitle":"Execute Search","href":"/api-reference/search-image"}]},{"group":"Autocomplete","pages":[{"api":"GET /search/complete?query={query}","title":"Autocomplete: Get Suggestions","sidebarTitle":"Get Suggestions","href":"/api-reference/predict"}]},{"api":"POST /search/product/{searchProductId}","title":"Search API: Similar Products","sidebarTitle":"Similar Products","href":"/api-reference/similar-products"}]},{"group":"Content Search","pages":[{"api":"POST /search/content/{searchQuery}/execute","title":"Content Search: Execute Search","sidebarTitle":"Execute Search","description":"Content Search API endpoint to run semantic queries across blog articles, knowledge base pages, and other non-product content in your catalog.","href":"/api-reference/search-content"}]},{"group":"Blocks","pages":[{"api":"POST /blocks/{blockId}/products","title":"Blocks API: Get Block Products","sidebarTitle":"Block Products","href":"/api-reference/blocks"}]},{"group":"Facets","pages":[{"api":"POST /{collection_handle}/facets","title":"Facets API: Get Collection Facets","sidebarTitle":"Collection Facets","description":"Facets API endpoint that returns facet values and result counts for a collection without running a full browse query, ideal for filter sidebars.","href":"/api-reference/facets"}]},{"group":"Utilities","pages":[{"api":"GET /sort-orders","title":"Sort Orders API: Get Available Sort Orders","sidebarTitle":"Sort Orders","href":"/api-reference/sort-orders"}]}]},{"tab":"Tracking API","pages":[{"title":"Tracking API","href":"/tracking-api/overview"}]}]},{"anchor":"Integrations","icon":"plug","href":"https://www.uselayers.com/integrations?utm_source=docs\u0026utm_medium=referral\u0026utm_campaign=docs-to-site"}]},"basePath":"","title":"Blocks API: Get Block Products - Layers","buildId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","deploymentId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","dynamics":["c2aa737661","2b790eda92","b0f84f53ff"],"chunks":["OpenApiReferenceProvider-i2a3QZ8E.js","utils-ChLwp8m0.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DRktVTDc.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CA2pEs4T.js","snippetPresets-ClQ6XrKD.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-Ct_Lv36y.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-Cn2PYw9e.js","shallow-rkyymjXQ.js","getApiPlaygroundDisplay-BB9vkXtE.js","CodeSnippet-Bm5RU7m1.js","CodeSnippets-BgU9Deuz.js","Page-BUDYNlhG.js","getPastedJson-BD-6NNum.js","icon-8Z6tud2e.js","MethodPill-Tuzr4g3V.js","DuplicateIcon-0ceWFYhN.js","createIcon-FBXow_ST.js","DynamicMarkdown-CD8713Yy.js","SectionHeading-7zgzQbH-.js","axios-vUo_bRtp.js"]}