generated: '2026-08-04' method: derived source: graphql/coldsnap-storefront.graphql note: >- Derived from the live-introspected Shopify Storefront GraphQL schema served at https://coldsnap.com/api/2026-07/graphql.json — there is no OpenAPI to derive from. Every entity and every relationship field named below was read out of that SDL; nothing is inferred from platform documentation. schema: types: 428 root_queries: 35 mutations: 41 node_interface: Node metafield_interface: HasMetafields connection_style: relay-cursor-connections entities: - name: Shop root_field: shop identity: singleton description: >- The ColdSnap store itself — name, primary domain, brand, payment settings, shipping countries and the policy documents. key_fields: [name, description, primaryDomain, brand, paymentSettings, shipsToCountries, metafields] policy_fields: [privacyPolicy, termsOfService, refundPolicy, shippingPolicy, subscriptionPolicy, termsOfSale, contactInformation, legalNotice] - name: Product root_field: products lookup_fields: [product, productByHandle] identity: gid://shopify/Product/{id} + handle description: A sellable ColdSnap item — a machine, a pod pack, an accessory or merchandise. key_fields: [id, handle, title, description, productType, vendor, tags, availableForSale, priceRange, compareAtPriceRange, featuredImage, options, seo, createdAt, updatedAt, publishedAt] - name: ProductVariant identity: gid://shopify/ProductVariant/{id} description: A purchasable configuration of a product — the unit that actually enters a cart. key_fields: [id, title, sku, barcode, price, compareAtPrice, availableForSale, quantityAvailable, requiresShipping, selectedOptions, weight, unitPrice] - name: Collection root_field: collections lookup_fields: [collection, collectionByHandle] identity: gid://shopify/Collection/{id} + handle description: A merchandising grouping — Premium Ice Cream, Machine, ColdSnap Pods, Accessories, Merchandise. key_fields: [id, handle, title, description, image, updatedAt, seo] - name: Cart root_field: cart identity: gid://shopify/Cart/{id} description: >- The agent-visible order in progress. The MCP update_cart tool is a consolidated projection over eleven cart mutations. key_fields: [id, checkoutUrl, totalQuantity, createdAt, updatedAt, note, attributes, appliedGiftCards] - name: CartLine identity: gid://shopify/CartLine/{id} implements: [BaseCartLine, Node] description: One variant plus quantity within a cart. key_fields: [id, quantity, cost, attributes] - name: CartDeliveryGroup description: Shipping grouping for a cart, carrying the address and the selectable delivery options. key_fields: [id, groupType, deliveryOptions, selectedDeliveryOption] - name: Customer identity: authenticated-only description: >- A signed-in shopper. Unreachable anonymously — requires a customer access token issued through the Shopify customer-accounts OIDC flow. No MCP tool exposes it. key_fields: [id, email, firstName, lastName, phone, displayName, acceptsMarketing, createdAt] - name: Order identity: gid://shopify/Order/{id} description: A completed purchase, reachable only through an authenticated Customer. key_fields: [id, orderNumber, processedAt, financialStatus, fulfillmentStatus, currencyCode, totalPrice, statusUrl] - name: MailingAddress identity: gid://shopify/MailingAddress/{id} description: A shipping or billing address on a customer, cart delivery group or order. key_fields: [id, address1, address2, city, province, country, zip, phone, formatted] - name: Blog root_field: blogs lookup_fields: [blog, blogByHandle] description: An editorial container. ColdSnap runs two — News (0 articles) and Blog (78 articles). key_fields: [id, handle, title, seo] - name: Article root_field: articles lookup_fields: [article] description: A ColdSnap blog post — case studies, engineering explainers, vertical guides. key_fields: [id, handle, title, content, excerpt, image, publishedAt, tags, seo] - name: Page root_field: pages lookup_fields: [page, pageByHandle] description: >- A static store page — 38 of them, covering the vertical landing pages (restaurants, golf, colleges, senior living, micro markets), patents, investors, press and FAQ. key_fields: [id, handle, title, body, bodySummary, seo, createdAt, updatedAt] - name: Menu root_field: menu description: Navigation structure, resolved by handle. key_fields: [id, handle, title, items, itemsCount] - name: Metaobject root_field: metaobjects lookup_fields: [metaobject] description: Custom structured content records defined by the merchant. key_fields: [id, handle, type, fields, updatedAt] - name: SellingPlan description: A subscription or deferred-purchase plan attached to a variant. key_fields: [id, name, description, recurringDeliveries, options, priceAdjustments] - name: Location root_field: locations description: A physical store or fulfillment location. key_fields: [id, name, address] - name: Image description: A media asset on a product, variant, collection or article. key_fields: [id, url, altText, width, height] - name: Fulfillment description: A shipment against an order, with tracking. key_fields: [trackingCompany, trackingInfo, fulfillmentLineItems] - name: Metafield description: Merchant-defined key/value extension available on most entities via HasMetafields. key_fields: [id, namespace, key, value, type, reference, references] relationships: - from: Product to: ProductVariant kind: has_many via: variants - from: Product to: ProductVariant kind: has_one via: selectedOrFirstAvailableVariant - from: Product to: ProductVariant kind: has_one via: variantBySelectedOptions - from: Product to: ProductVariant kind: has_many via: adjacentVariants - from: Product to: Collection kind: has_many via: collections - from: Product to: Image kind: has_many via: images - from: Product to: Image kind: has_one via: featuredImage - from: Product to: SellingPlanGroup kind: has_many via: sellingPlanGroups - from: ProductVariant to: Product kind: belongs_to via: product - from: ProductVariant to: Image kind: has_one via: image - from: ProductVariant to: SellingPlanAllocation kind: has_many via: sellingPlanAllocations - from: ProductVariant to: ProductVariant kind: has_many via: components note: bundle composition - from: ProductVariant to: ProductVariant kind: has_many via: groupedBy - from: Collection to: Product kind: has_many via: products - from: Collection to: Image kind: has_one via: image - from: Cart to: CartLine kind: has_many via: lines - from: Cart to: CartDeliveryGroup kind: has_many via: deliveryGroups - from: Cart to: CartBuyerIdentity kind: has_one via: buyerIdentity - from: Cart to: CartCost kind: has_one via: cost - from: Cart to: CartDiscountCode kind: has_many via: discountCodes - from: CartLine to: Merchandise kind: belongs_to via: merchandise note: union resolving to ProductVariant - from: CartLine to: SellingPlanAllocation kind: has_one via: sellingPlanAllocation - from: CartDeliveryGroup to: CartLine kind: has_many via: cartLines - from: CartDeliveryGroup to: MailingAddress kind: has_one via: deliveryAddress - from: CartDeliveryGroup to: CartDeliveryOption kind: has_many via: deliveryOptions - from: Customer to: Order kind: has_many via: orders - from: Customer to: MailingAddress kind: has_many via: addresses - from: Customer to: MailingAddress kind: has_one via: defaultAddress - from: Order to: OrderLineItem kind: has_many via: lineItems - from: Order to: MailingAddress kind: has_one via: shippingAddress - from: Order to: MailingAddress kind: has_one via: billingAddress - from: Order to: Fulfillment kind: has_many via: successfulFulfillments - from: Blog to: Article kind: has_many via: articles - from: Article to: Blog kind: belongs_to via: blog - from: Article to: Image kind: has_one via: image - from: Shop to: ShopPolicy kind: has_many via: [privacyPolicy, termsOfService, refundPolicy, shippingPolicy, subscriptionPolicy, termsOfSale, contactInformation, legalNotice] agent_reachability: anonymous_via_mcp: [Product, ProductVariant, Cart, CartLine, CartDeliveryGroup, Shop] anonymous_via_graphql: [Product, ProductVariant, Collection, Cart, CartLine, CartDeliveryGroup, Shop, Blog, Article, Page, Menu, Metaobject, Location, SellingPlan, Image, Metafield] authenticated_only: [Customer, Order, MailingAddress, Fulfillment] note: >- The gap between the first two lists is the surface divergence recorded in mcp/coldsnap-tool-crosswalk.yml — editorial content, navigation, localization and taxonomy are GraphQL-only. render: null x-evidence: derived_from: graphql/coldsnap-storefront.graphql introspected: '2026-08-02' verified: '2026-08-04'