Files

11388 lines
410 KiB
JSON
Raw Permalink Normal View History

2026-06-24 12:44:34 -07:00
{
"schema_version": "v1",
"tools": [
{
"name": "add_to_collection",
"description": "Add products to a collection.\n\nArgs:\n collection_id: The collection ID\n product_ids: Product IDs to add\n\nReturns:\n Updated collection with lists of added/already-present products",
"inputSchema": {
"additionalProperties": false,
"properties": {
"collection_id": {
"type": "string"
},
"product_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"collection_id",
"product_ids"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "award_points",
"description": "Manually award loyalty points to a customer. Grows both spendable balance and lifetime points.\n\nArgs:\n customer_id: The customer's GID.\n points: Positive integer of points to award.\n reason: Optional reason for the award (e.g., 'Birthday bonus').",
"inputSchema": {
"additionalProperties": false,
"properties": {
"customer_id": {
"type": "string"
},
"points": {
"type": "integer"
},
"reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"customer_id",
"points"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "cancel_order",
"description": "Cancel an order. Sets financial status to REFUNDED and records cancellation time.\n\nArgs:\n order_id: The order ID to cancel\n reason: Reason for cancellation (appended to order note)\n\nReturns:\n Cancelled order details",
"inputSchema": {
"additionalProperties": false,
"properties": {
"order_id": {
"type": "string"
},
"reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"order_id"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "configure_loyalty_program",
"description": "Configure the store's loyalty program.\n\nArgs:\n enabled: Whether the program is active.\n earn_rate: Points earned per $1 of order subtotal (e.g., 1 = 1 point per dollar).\n redemption_rate: Points needed to equal $1 when redeeming (e.g., 100 = 100pts per dollar off).\n max_redemption_percent: Cap on what percent of an order's subtotal can be paid with points (0-100).\n tiers: List of {name, min_lifetime_points, discount_percent}. Replaces existing tiers.\n\nReturns:\n The updated program configuration.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"enabled": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"earn_rate": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null
},
"redemption_rate": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"max_redemption_percent": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null
},
"tiers": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"store_id": {
"default": "default",
"type": "string"
}
},
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "create_collection",
"description": "Create a new product collection (e.g., 'Summer Sale', 'Best Sellers').\n\nArgs:\n title: Collection title (must be unique)\n description: Collection description\n product_ids: Product IDs to include initially (optional)\n sort_order: Sort order (MANUAL, BEST_SELLING, ALPHA_ASC, ALPHA_DESC, PRICE_ASC, PRICE_DESC, CREATED_DESC)\n\nReturns:\n The created collection",
"inputSchema": {
"additionalProperties": false,
"properties": {
"title": {
"type": "string"
},
"description": {
"default": "",
"type": "string"
},
"product_ids": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"sort_order": {
"default": "MANUAL",
"type": "string"
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"title"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "create_customer",
"description": "Create a new customer account.\n\nArgs:\n email: Customer email address (must be unique)\n first_name: Customer first name\n last_name: Customer last name\n phone: Customer phone number\n address: Default address with fields like firstName, lastName, address1, city, zip, countryCode\n tags: Tags for categorizing the customer (e.g., 'vip', 'wholesale')\n note: Internal note about the customer\n accepts_marketing: Whether customer consents to marketing emails\n\nReturns:\n The created customer profile",
"inputSchema": {
"additionalProperties": false,
"properties": {
"email": {
"type": "string"
},
"first_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"last_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"phone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"address": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null
},
"tags": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"note": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"accepts_marketing": {
"default": false,
"type": "boolean"
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"email"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "create_discount_code",
"description": "Create a new discount code for the store.\n\nArgs:\n code: The discount code string (e.g., 'SUMMER20', 'WELCOME10')\n value: Discount value (e.g., '20' for 20% off, '10.00' for $10 off)\n discount_type: Type of discount \u2014 PERCENTAGE, FIXED_AMOUNT, or FREE_SHIPPING\n minimum_purchase: Minimum purchase amount to qualify (optional)\n usage_limit: Maximum number of times the code can be used (optional, null = unlimited)\n product_ids: Product IDs this discount applies to (optional, null = all products)\n minimum_tier: Loyalty tier name required to use this code (optional, null = no tier gate)\n\nReturns:\n The created discount code",
"inputSchema": {
"additionalProperties": false,
"properties": {
"code": {
"type": "string"
},
"value": {
"type": "string"
},
"discount_type": {
"default": "PERCENTAGE",
"type": "string"
},
"minimum_purchase": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null
},
"usage_limit": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"product_ids": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"minimum_tier": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"code",
"value"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "create_my_return",
"description": "Create a return request, only if the order belongs to the current customer.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"order_id": {
"type": "string"
},
"line_items": {
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
"reason": {
"default": "",
"type": "string"
},
"note": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"order_id",
"line_items"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "create_my_review",
"description": "Post a product review as the current customer. Author name and email are\nfilled in automatically from the customer's profile.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"product_id": {
"type": "string"
},
"rating": {
"maximum": 5,
"minimum": 1,
"type": "integer"
},
"title": {
"default": "",
"type": "string"
},
"body": {
"default": "",
"type": "string"
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"product_id",
"rating"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "create_order",
"description": "Place an order from an existing cart. Requires payment, addresses, and shipping method.\n\nArgs:\n cart_id: The cart ID to convert into an order\n payment_method: Payment info. For credit card: {type: \"credit_card\", card_number: \"4111111111111111\", cvv: \"123\", expiry: \"12/26\"}. For digital wallets: {type: \"google_pay\"|\"apple_pay\"|\"paypal\", email: \"user@example.com\"}\n shipping_address: Shipping address (required: address1, city, countryCode)\n billing_address: Billing address (same format as shipping)\n shipping_method_id: Shipping method ID (e.g., 'standard', 'express'). If omitted, checkout uses the cart's selected delivery option.\n discount_code: Discount code to apply (optional). PERCENTAGE/FIXED_AMOUNT discounts reduce the item subtotal. FREE_SHIPPING removes shipping cost. Product-scoped discounts only apply to matching items.\n email: Customer email (falls back to cart buyer identity email, then current customer email)\n phone: Customer phone (falls back to cart buyer identity phone)\n note: Order note or special instructions\n tags: Tags for categorizing the order\n redeem_points: Loyalty points to redeem on this order. Requires a matching customer email.\n apply_tier_discount: Whether to auto-apply the customer's loyalty tier discount.\n\nReturns:\n The created order with line items, totals, shipping, discount, payment info, and status",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cart_id": {
"type": "string"
},
"payment_method": {
"additionalProperties": true,
"type": "object"
},
"shipping_address": {
"additionalProperties": true,
"type": "object"
},
"billing_address": {
"additionalProperties": true,
"type": "object"
},
"shipping_method_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"discount_code": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"phone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"note": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"tags": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"redeem_points": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"apply_tier_discount": {
"default": true,
"type": "boolean"
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"cart_id",
"payment_method",
"shipping_address",
"billing_address"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "create_policy",
"description": "Create a new store policy.\n\nArgs:\n title: Policy title (e.g., 'Return Policy', 'Shipping Policy')\n body: Policy content (HTML)\n\nReturns:\n The created policy",
"inputSchema": {
"additionalProperties": false,
"properties": {
"title": {
"type": "string"
},
"body": {
"type": "string"
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"title",
"body"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "create_product",
"description": "Create a new product in the store.\n\nArgs:\n title: Product title\n description: Product description\n product_type: Product type (e.g., 'Electronics', 'Apparel')\n vendor: Brand/vendor name\n tags: Searchable tags (e.g., ['wireless', 'headphones'])\n variants: Product variants, each with title, price, sku, quantityAvailable\n\nReturns:\n The created product with its variants",
"inputSchema": {
"additionalProperties": false,
"properties": {
"title": {
"type": "string"
},
"description": {
"default": "",
"type": "string"
},
"product_type": {
"default": "",
"type": "string"
},
"vendor": {
"default": "",
"type": "string"
},
"tags": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"variants": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"title"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "create_return",
"description": "Create a return request for an order. Validates line items against the order.\n\nArgs:\n order_id: The order ID to return against\n line_items: Items to return, each with orderLineItemId, quantity, and optional reason\n reason: Overall reason for the return\n note: Internal note about the return\n\nReturns:\n The created return with calculated refund amount",
"inputSchema": {
"additionalProperties": false,
"properties": {
"order_id": {
"type": "string"
},
"line_items": {
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
"reason": {
"default": "",
"type": "string"
},
"note": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"order_id",
"line_items"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "create_review",
"description": "Create a product review.\n\nArgs:\n product_id: The product ID to review\n rating: Rating from 1 to 5\n author: Author name\n title: Review title (optional)\n body: Review text (optional)\n email: Author email (optional)\n\nReturns:\n The created review",
"inputSchema": {
"additionalProperties": false,
"properties": {
"product_id": {
"type": "string"
},
"rating": {
"maximum": 5,
"minimum": 1,
"type": "integer"
},
"author": {
"type": "string"
},
"title": {
"default": "",
"type": "string"
},
"body": {
"default": "",
"type": "string"
},
"email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"product_id",
"rating",
"author"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "create_shipping_method",
"description": "Create a new shipping method for the store.\n\nArgs:\n title: Display name (e.g., 'Standard Shipping', 'Express')\n price: Shipping cost as string (e.g., '5.99', '0.00' for free)\n estimated_days: Estimated delivery time (e.g., '5-7 business days')\n\nReturns:\n The created shipping method",
"inputSchema": {
"additionalProperties": false,
"properties": {
"title": {
"type": "string"
},
"price": {
"type": "string"
},
"estimated_days": {
"default": "",
"type": "string"
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"title",
"price"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "delete_discount_code",
"description": "Delete a discount code from the store.\n\nArgs:\n code: The discount code to delete\n\nReturns:\n The deleted code",
"inputSchema": {
"additionalProperties": false,
"properties": {
"code": {
"type": "string"
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"code"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "delete_policy",
"description": "Delete a store policy.\n\nArgs:\n policy_id: The policy ID to delete\n\nReturns:\n The deleted policy ID",
"inputSchema": {
"additionalProperties": false,
"properties": {
"policy_id": {
"type": "string"
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"policy_id"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "delete_product",
"description": "Delete a product from the store. Also removes it from any collections\nand deletes associated reviews.\n\nArgs:\n product_id: The product ID to delete\n\nReturns:\n The deleted product ID",
"inputSchema": {
"additionalProperties": false,
"properties": {
"product_id": {
"type": "string"
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"product_id"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "delete_review",
"description": "Delete a product review.\n\nArgs:\n review_id: The review ID to delete\n\nReturns:\n The deleted review ID",
"inputSchema": {
"additionalProperties": false,
"properties": {
"review_id": {
"type": "string"
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"review_id"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "delete_shipping_method",
"description": "Delete a shipping method from the store.\n\nArgs:\n shipping_method_id: The shipping method ID to delete\n\nReturns:\n The deleted method ID",
"inputSchema": {
"additionalProperties": false,
"properties": {
"shipping_method_id": {
"type": "string"
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"shipping_method_id"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "export_state",
"description": "Export the full shopify state as JSON.\n\nSingle-store worlds emit the flat shape; multi-store worlds emit a\n``{\"stores\": {store_id: ...}}`` wrapper. Round-trips with import_state.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"description": "Full shopify state \u2014 round-trips with ShopifyState.to_dict().\n\nState entities are loaded into Pydantic models while exposing temporary\ndict-style access for legacy handlers. ``extra=\"allow\"`` preserves\nmock-specific metadata that tools may carry but the core Shopify-shaped\nmodels do not yet describe.",
"properties": {
"products": {
"additionalProperties": {
"additionalProperties": true,
"description": "Product relaxed for synthetic/legacy snapshot shapes.\n\nSeeded fixtures and synthetic data often include only the minimum product\nfields (id, title, variants), so we drop the strict ``handle`` /\n``priceRange`` requirements here and relax ``options`` to the fixture\nshape ({name, values}).",
"properties": {
"id": {
"description": "Globally-unique ID",
"minLength": 1,
"type": "string"
},
"title": {
"description": "Product title",
"minLength": 1,
"type": "string"
},
"description": {
"default": "",
"description": "Product description (plain text)",
"type": "string"
},
"descriptionHtml": {
"default": "",
"description": "Product description (HTML)",
"type": "string"
},
"handle": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"productType": {
"default": "",
"description": "Product type defined by merchant",
"type": "string"
},
"vendor": {
"default": "",
"description": "Product vendor name",
"type": "string"
},
"tags": {
"description": "Searchable tags",
"items": {
"type": "string"
},
"type": "array"
},
"availableForSale": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"priceRange": {
"anyOf": [
{
"description": "The price range of a product (Shopify ProductPriceRange type).",
"properties": {
"minVariantPrice": {
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"maxVariantPrice": {
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
}
},
"required": [
"minVariantPrice",
"maxVariantPrice"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null
},
"compareAtPriceRange": {
"anyOf": [
{
"description": "The price range of a product (Shopify ProductPriceRange type).",
"properties": {
"minVariantPrice": {
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"maxVariantPrice": {
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
}
},
"required": [
"minVariantPrice",
"maxVariantPrice"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Compare-at price range"
},
"featuredImage": {
"anyOf": [
{
"description": "An image resource (Shopify Image type).",
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"url": {
"description": "The URL of the image",
"minLength": 1,
"type": "string"
},
"altText": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Alt text for the image"
},
"width": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Image width in pixels"
},
"height": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Image height in pixels"
}
},
"required": [
"url"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Featured product image"
},
"images": {
"description": "Product images",
"items": {
"description": "An image resource (Shopify Image type).",
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"url": {
"description": "The URL of the image",
"minLength": 1,
"type": "string"
},
"altText": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Alt text for the image"
},
"width": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Image width in pixels"
},
"height": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Image height in pixels"
}
},
"required": [
"url"
],
"type": "object"
},
"type": "array"
},
"options": {
"items": {
"additionalProperties": true,
"description": "ProductOption whose `id` is optional \u2014 fixture data often omits it.",
"properties": {
"id": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"name": {
"description": "The option name (e.g., 'Size', 'Color')",
"minLength": 1,
"type": "string"
},
"values": {
"description": "Available values for this option",
"items": {
"minLength": 1,
"type": "string"
},
"type": "array"
}
},
"required": [
"name"
],
"type": "object"
},
"type": "array"
},
"variants": {
"description": "Product variants",
"items": {
"description": "A product variant (Shopify ProductVariant type).",
"properties": {
"id": {
"description": "Globally-unique ID",
"minLength": 1,
"type": "string"
},
"title": {
"description": "The variant's title",
"minLength": 1,
"type": "string"
},
"price": {
"description": "The variant's price",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"compareAtPrice": {
"anyOf": [
{
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Compare-at price for sale pricing"
},
"availableForSale": {
"default": true,
"description": "Whether the variant is available for sale",
"type": "boolean"
},
"sku": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "SKU (stock keeping unit)"
},
"barcode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Barcode (ISBN, UPC, GTIN)"
},
"selectedOptions": {
"description": "Selected options for this variant",
"items": {
"description": "A selected product option (Shopify SelectedOption type).",
"properties": {
"name": {
"description": "The option name (e.g., 'Size')",
"minLength": 1,
"type": "string"
},
"value": {
"description": "The option value (e.g., 'Large')",
"minLength": 1,
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
},
"image": {
"anyOf": [
{
"description": "An image resource (Shopify Image type).",
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"url": {
"description": "The URL of the image",
"minLength": 1,
"type": "string"
},
"altText": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Alt text for the image"
},
"width": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Image width in pixels"
},
"height": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Image height in pixels"
}
},
"required": [
"url"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Image associated with the variant"
},
"weight": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Weight of the variant"
},
"weightUnit": {
"default": "KILOGRAMS",
"description": "Unit of weight measurement",
"enum": [
"GRAMS",
"KILOGRAMS",
"OUNCES",
"POUNDS"
],
"type": "string"
},
"quantityAvailable": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Quantity available for sale"
},
"currentlyNotInStock": {
"default": false,
"description": "Whether out of stock but available for backorder",
"type": "boolean"
},
"requiresShipping": {
"default": true,
"description": "Whether shipping is required",
"type": "boolean"
},
"taxable": {
"default": true,
"description": "Whether tax is charged",
"type": "boolean"
}
},
"required": [
"id",
"title",
"price"
],
"type": "object"
},
"type": "array"
},
"seo": {
"anyOf": [
{
"description": "SEO information (Shopify SEO type).",
"properties": {
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "SEO title and description"
},
"onlineStoreUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "URL on the online store"
},
"createdAt": {
"anyOf": [
{
"description": "RFC 3339 timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Creation timestamp"
},
"updatedAt": {
"anyOf": [
{
"description": "RFC 3339 timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Last update timestamp"
},
"publishedAt": {
"anyOf": [
{
"description": "RFC 3339 timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Publication timestamp"
},
"isGiftCard": {
"default": false,
"description": "Whether product is a gift card",
"type": "boolean"
},
"totalInventory": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Total inventory quantity"
},
"trackingParameters": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "URL tracking parameters"
},
"category": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"categoryId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"productCategory": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"id",
"title"
],
"type": "object"
},
"description": "Products keyed by product gid",
"type": "object"
},
"carts": {
"additionalProperties": {
"additionalProperties": true,
"description": "Cart state that accepts compact synthetic cart fixtures.",
"properties": {
"id": {
"minLength": 1,
"type": "string"
},
"checkoutUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"createdAt": {
"anyOf": [
{
"description": "RFC 3339 timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"updatedAt": {
"anyOf": [
{
"description": "RFC 3339 timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"lines": {
"items": {
"description": "A line item in the cart (Shopify CartLine type).",
"properties": {
"id": {
"description": "Globally-unique ID",
"minLength": 1,
"type": "string"
},
"quantity": {
"description": "Quantity of the item",
"minimum": 1,
"type": "integer"
},
"merchandise": {
"description": "The merchandise (variant)",
"properties": {
"id": {
"minLength": 1,
"type": "string"
},
"title": {
"minLength": 1,
"type": "string"
},
"product": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Parent product info"
},
"image": {
"anyOf": [
{
"description": "An image resource (Shopify Image type).",
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"url": {
"description": "The URL of the image",
"minLength": 1,
"type": "string"
},
"altText": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Alt text for the image"
},
"width": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Image width in pixels"
},
"height": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Image height in pixels"
}
},
"required": [
"url"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null
},
"selectedOptions": {
"items": {
"description": "A selected product option (Shopify SelectedOption type).",
"properties": {
"name": {
"description": "The option name (e.g., 'Size')",
"minLength": 1,
"type": "string"
},
"value": {
"description": "The option value (e.g., 'Large')",
"minLength": 1,
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
},
"price": {
"description": "Variant price",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
}
},
"required": [
"id",
"title",
"price"
],
"type": "object"
},
"cost": {
"description": "Cost breakdown",
"properties": {
"amountPerQuantity": {
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"compareAtAmountPerQuantity": {
"anyOf": [
{
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null
},
"subtotalAmount": {
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"totalAmount": {
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
}
},
"required": [
"amountPerQuantity",
"subtotalAmount",
"totalAmount"
],
"type": "object"
},
"attributes": {
"items": {
"description": "A key-value attribute (Shopify Attribute type).",
"properties": {
"key": {
"minLength": 1,
"type": "string"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"key"
],
"type": "object"
},
"type": "array"
},
"discountAllocations": {
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
}
},
"required": [
"id",
"quantity",
"merchandise",
"cost"
],
"type": "object"
},
"type": "array"
},
"cost": {
"anyOf": [
{
"description": "Cart cost breakdown (Shopify CartCost type).",
"properties": {
"subtotalAmount": {
"description": "Amount before taxes and discounts",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"subtotalAmountEstimated": {
"default": false,
"description": "Whether subtotal is estimated",
"type": "boolean"
},
"totalAmount": {
"description": "Total amount for customer to pay",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"totalAmountEstimated": {
"default": false,
"description": "Whether total is estimated",
"type": "boolean"
},
"totalTaxAmount": {
"anyOf": [
{
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Total tax amount"
},
"totalTaxAmountEstimated": {
"default": false,
"type": "boolean"
},
"checkoutChargeAmount": {
"description": "Amount to pay at checkout",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
}
},
"required": [
"subtotalAmount",
"totalAmount",
"checkoutChargeAmount"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null
},
"buyerIdentity": {
"description": "Information about the buyer (Shopify CartBuyerIdentity type).",
"properties": {
"email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"phone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"countryCode": {
"anyOf": [
{
"pattern": "^[A-Z]{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "ISO country code for regional pricing"
},
"customer": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Associated customer"
},
"deliveryAddressPreferences": {
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"attributes": {
"items": {
"description": "A key-value attribute (Shopify Attribute type).",
"properties": {
"key": {
"minLength": 1,
"type": "string"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"key"
],
"type": "object"
},
"type": "array"
},
"discountCodes": {
"items": {
"description": "A discount code applied to the cart (Shopify CartDiscountCode type).",
"properties": {
"code": {
"description": "The discount code",
"minLength": 1,
"type": "string"
},
"applicable": {
"default": true,
"description": "Whether the code is applicable",
"type": "boolean"
}
},
"required": [
"code"
],
"type": "object"
},
"type": "array"
},
"discountAllocations": {
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
"appliedGiftCards": {
"items": {
"description": "A gift card applied to the cart (Shopify AppliedGiftCard type).",
"properties": {
"id": {
"minLength": 1,
"type": "string"
},
"code": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Gift card code used to look up the backing balance"
},
"lastCharacters": {
"description": "Last 4 characters of the gift card code",
"minLength": 1,
"type": "string"
},
"amountUsed": {
"description": "Amount used from the gift card",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"balance": {
"description": "Remaining balance",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"presentmentAmountUsed": {
"description": "Amount used in presentment currency",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
}
},
"required": [
"id",
"lastCharacters",
"amountUsed",
"balance",
"presentmentAmountUsed"
],
"type": "object"
},
"type": "array"
},
"deliveryGroups": {
"items": {
"description": "A delivery group (Shopify CartDeliveryGroup type).",
"properties": {
"id": {
"minLength": 1,
"type": "string"
},
"deliveryOptions": {
"items": {
"description": "A delivery option (Shopify CartDeliveryOption type).",
"properties": {
"handle": {
"description": "Unique handle for the option",
"minLength": 1,
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"estimatedCost": {
"description": "Estimated delivery cost",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"code": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Delivery option code"
}
},
"required": [
"handle",
"estimatedCost"
],
"type": "object"
},
"type": "array"
},
"selectedDeliveryOption": {
"anyOf": [
{
"description": "A delivery option (Shopify CartDeliveryOption type).",
"properties": {
"handle": {
"description": "Unique handle for the option",
"minLength": 1,
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"estimatedCost": {
"description": "Estimated delivery cost",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"code": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Delivery option code"
}
},
"required": [
"handle",
"estimatedCost"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null
},
"cartLines": {
"description": "Lines in this group",
"items": {
"description": "A line item in the cart (Shopify CartLine type).",
"properties": {
"id": {
"description": "Globally-unique ID",
"minLength": 1,
"type": "string"
},
"quantity": {
"description": "Quantity of the item",
"minimum": 1,
"type": "integer"
},
"merchandise": {
"description": "The merchandise (variant)",
"properties": {
"id": {
"minLength": 1,
"type": "string"
},
"title": {
"minLength": 1,
"type": "string"
},
"product": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Parent product info"
},
"image": {
"anyOf": [
{
"description": "An image resource (Shopify Image type).",
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"url": {
"description": "The URL of the image",
"minLength": 1,
"type": "string"
},
"altText": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Alt text for the image"
},
"width": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Image width in pixels"
},
"height": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Image height in pixels"
}
},
"required": [
"url"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null
},
"selectedOptions": {
"items": {
"description": "A selected product option (Shopify SelectedOption type).",
"properties": {
"name": {
"description": "The option name (e.g., 'Size')",
"minLength": 1,
"type": "string"
},
"value": {
"description": "The option value (e.g., 'Large')",
"minLength": 1,
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
},
"price": {
"description": "Variant price",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
}
},
"required": [
"id",
"title",
"price"
],
"type": "object"
},
"cost": {
"description": "Cost breakdown",
"properties": {
"amountPerQuantity": {
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"compareAtAmountPerQuantity": {
"anyOf": [
{
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null
},
"subtotalAmount": {
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"totalAmount": {
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
}
},
"required": [
"amountPerQuantity",
"subtotalAmount",
"totalAmount"
],
"type": "object"
},
"attributes": {
"items": {
"description": "A key-value attribute (Shopify Attribute type).",
"properties": {
"key": {
"minLength": 1,
"type": "string"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"key"
],
"type": "object"
},
"type": "array"
},
"discountAllocations": {
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
}
},
"required": [
"id",
"quantity",
"merchandise",
"cost"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"id"
],
"type": "object"
},
"type": "array"
},
"totalQuantity": {
"default": 0,
"minimum": 0,
"type": "integer"
},
"note": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"id"
],
"type": "object"
},
"description": "Carts keyed by cart gid",
"type": "object"
},
"orders": {
"additionalProperties": {
"additionalProperties": true,
"description": "Order state with mock-specific extensions preserved.",
"properties": {
"id": {
"description": "Globally-unique ID",
"minLength": 1,
"type": "string"
},
"name": {
"description": "Display name, e.g. '#1001'",
"minLength": 1,
"type": "string"
},
"email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Customer email"
},
"phone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Customer phone"
},
"createdAt": {
"description": "Creation timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
"updatedAt": {
"description": "Last update timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
"cancelledAt": {
"anyOf": [
{
"description": "RFC 3339 timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Cancellation timestamp"
},
"financialStatus": {
"default": "PENDING",
"description": "Financial status",
"enum": [
"PENDING",
"PAID",
"VOIDED",
"REFUNDED",
"PARTIALLY_REFUNDED"
],
"type": "string"
},
"fulfillmentStatus": {
"default": "UNFULFILLED",
"description": "Fulfillment status",
"enum": [
"UNFULFILLED",
"FULFILLED",
"PARTIALLY_FULFILLED"
],
"type": "string"
},
"trackingNumber": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Tracking number assigned at fulfillment (null until fulfilled)"
},
"trackingUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Tracking URL assigned at fulfillment"
},
"lineItems": {
"description": "Order line items",
"items": {
"description": "A line item in an order.",
"properties": {
"id": {
"description": "Globally-unique ID",
"minLength": 1,
"type": "string"
},
"title": {
"description": "Product title",
"minLength": 1,
"type": "string"
},
"variantTitle": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Variant title"
},
"quantity": {
"description": "Quantity ordered",
"minimum": 1,
"type": "integer"
},
"sku": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "SKU"
},
"variantId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Product variant ID"
},
"productId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Product ID"
},
"price": {
"description": "Unit price",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"totalPrice": {
"description": "Total price (price * quantity)",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"image": {
"anyOf": [
{
"description": "An image resource (Shopify Image type).",
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"url": {
"description": "The URL of the image",
"minLength": 1,
"type": "string"
},
"altText": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Alt text for the image"
},
"width": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Image width in pixels"
},
"height": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Image height in pixels"
}
},
"required": [
"url"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Product image"
}
},
"required": [
"id",
"title",
"quantity",
"price",
"totalPrice"
],
"type": "object"
},
"type": "array"
},
"subtotalPrice": {
"description": "Subtotal before tax/shipping",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"totalPrice": {
"description": "Total amount",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"totalTax": {
"anyOf": [
{
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Total tax"
},
"shippingAddress": {
"anyOf": [
{
"description": "A mailing/delivery address (Shopify MailingAddress type).",
"properties": {
"firstName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"lastName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"phone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"address1": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"address2": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"provinceCode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"zip": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"countryCode": {
"anyOf": [
{
"pattern": "^[A-Z]{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "ISO country code"
},
"company": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"country": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"province": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"formatted": {
"description": "Formatted address lines",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Shipping address"
},
"billingAddress": {
"anyOf": [
{
"description": "A mailing/delivery address (Shopify MailingAddress type).",
"properties": {
"firstName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"lastName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"phone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"address1": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"address2": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"provinceCode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"zip": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"countryCode": {
"anyOf": [
{
"pattern": "^[A-Z]{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "ISO country code"
},
"company": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"country": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"province": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"formatted": {
"description": "Formatted address lines",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Billing address"
},
"note": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Order note"
},
"tags": {
"description": "Order tags",
"items": {
"type": "string"
},
"type": "array"
},
"cartId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Source cart ID"
}
},
"required": [
"id",
"name",
"createdAt",
"updatedAt",
"subtotalPrice",
"totalPrice"
],
"type": "object"
},
"description": "Orders keyed by order gid",
"type": "object"
},
"customers": {
"additionalProperties": {
"additionalProperties": true,
"description": "Customer state with loyalty extensions/backfilled defaults preserved.",
"properties": {
"id": {
"description": "Globally-unique ID",
"minLength": 1,
"type": "string"
},
"firstName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "First name"
},
"lastName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Last name"
},
"email": {
"description": "Email address",
"minLength": 1,
"type": "string"
},
"phone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Phone number"
},
"createdAt": {
"description": "Creation timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
"updatedAt": {
"description": "Last update timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
"defaultAddress": {
"anyOf": [
{
"description": "A mailing/delivery address (Shopify MailingAddress type).",
"properties": {
"firstName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"lastName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"phone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"address1": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"address2": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"provinceCode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"zip": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"countryCode": {
"anyOf": [
{
"pattern": "^[A-Z]{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "ISO country code"
},
"company": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"country": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"province": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"formatted": {
"description": "Formatted address lines",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Default address"
},
"addresses": {
"description": "All addresses",
"items": {
"description": "A mailing/delivery address (Shopify MailingAddress type).",
"properties": {
"firstName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"lastName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"phone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"address1": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"address2": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"provinceCode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"zip": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"countryCode": {
"anyOf": [
{
"pattern": "^[A-Z]{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "ISO country code"
},
"company": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"country": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"province": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"formatted": {
"description": "Formatted address lines",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"type": "array"
},
"ordersCount": {
"default": 0,
"description": "Number of orders placed",
"minimum": 0,
"type": "integer"
},
"totalSpent": {
"anyOf": [
{
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Total amount spent"
},
"tags": {
"description": "Customer tags",
"items": {
"type": "string"
},
"type": "array"
},
"note": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Internal note about customer"
},
"acceptsMarketing": {
"default": false,
"description": "Whether customer accepts marketing",
"type": "boolean"
},
"state": {
"default": "ENABLED",
"description": "Account state",
"enum": [
"ENABLED",
"DISABLED",
"INVITED",
"DECLINED"
],
"type": "string"
},
"pointsBalance": {
"default": 0,
"description": "Spendable loyalty points balance",
"minimum": 0,
"type": "integer"
},
"lifetimePoints": {
"default": 0,
"description": "Total loyalty points ever earned (drives tier)",
"minimum": 0,
"type": "integer"
},
"tier": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Current loyalty tier name, or null if program disabled"
},
"loyaltyJoinedAt": {
"anyOf": [
{
"description": "RFC 3339 timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "When customer joined loyalty program"
}
},
"required": [
"id",
"email",
"createdAt",
"updatedAt"
],
"type": "object"
},
"description": "Customers keyed by customer gid",
"type": "object"
},
"collections": {
"additionalProperties": {
"additionalProperties": true,
"description": "Collection state with synthetic metadata preserved.",
"properties": {
"id": {
"description": "Globally-unique ID",
"minLength": 1,
"type": "string"
},
"title": {
"description": "Collection title",
"minLength": 1,
"type": "string"
},
"description": {
"default": "",
"description": "Collection description",
"type": "string"
},
"handle": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"productIds": {
"description": "Product IDs in this collection",
"items": {
"minLength": 1,
"type": "string"
},
"type": "array"
},
"createdAt": {
"anyOf": [
{
"description": "RFC 3339 timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"updatedAt": {
"anyOf": [
{
"description": "RFC 3339 timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"sortOrder": {
"default": "MANUAL",
"description": "Sort order",
"enum": [
"MANUAL",
"BEST_SELLING",
"ALPHA_ASC",
"ALPHA_DESC",
"PRICE_ASC",
"PRICE_DESC",
"CREATED_DESC"
],
"type": "string"
},
"image": {
"anyOf": [
{
"description": "An image resource (Shopify Image type).",
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"url": {
"description": "The URL of the image",
"minLength": 1,
"type": "string"
},
"altText": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Alt text for the image"
},
"width": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Image width in pixels"
},
"height": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Image height in pixels"
}
},
"required": [
"url"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Collection image"
},
"products": {
"description": "Legacy collection membership field accepted by older fixtures",
"items": {
"minLength": 1,
"type": "string"
},
"type": "array"
}
},
"required": [
"id",
"title"
],
"type": "object"
},
"description": "Collections keyed by gid",
"type": "object"
},
"reviews": {
"additionalProperties": {
"additionalProperties": true,
"description": "Review state with synthetic metadata preserved.",
"properties": {
"id": {
"description": "Globally-unique ID",
"minLength": 1,
"type": "string"
},
"productId": {
"description": "Product this review is for",
"minLength": 1,
"type": "string"
},
"rating": {
"description": "Rating from 1 to 5",
"maximum": 5,
"minimum": 1,
"type": "integer"
},
"title": {
"default": "",
"description": "Review title",
"type": "string"
},
"body": {
"default": "",
"description": "Review body text",
"type": "string"
},
"author": {
"description": "Author name",
"minLength": 1,
"type": "string"
},
"email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Author email"
},
"status": {
"default": "PUBLISHED",
"description": "Review status",
"enum": [
"PENDING",
"PUBLISHED",
"HIDDEN"
],
"type": "string"
},
"createdAt": {
"anyOf": [
{
"description": "RFC 3339 timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"updatedAt": {
"anyOf": [
{
"description": "RFC 3339 timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"id",
"productId",
"rating",
"author"
],
"type": "object"
},
"description": "Reviews keyed by review id",
"type": "object"
},
"returns": {
"additionalProperties": {
"additionalProperties": true,
"description": "Return state with synthetic metadata preserved.",
"properties": {
"id": {
"description": "Globally-unique ID",
"minLength": 1,
"type": "string"
},
"orderId": {
"description": "Order this return is for",
"minLength": 1,
"type": "string"
},
"status": {
"default": "REQUESTED",
"description": "Return status",
"enum": [
"REQUESTED",
"APPROVED",
"RECEIVED",
"REFUNDED",
"REJECTED"
],
"type": "string"
},
"lineItems": {
"description": "Items being returned",
"items": {
"description": "A line item in a return request.",
"properties": {
"orderLineItemId": {
"description": "Reference to the order line item being returned",
"minLength": 1,
"type": "string"
},
"quantity": {
"description": "Quantity being returned",
"minimum": 1,
"type": "integer"
},
"reason": {
"default": "",
"description": "Reason for return (e.g., 'defective', 'wrong_item', 'not_as_described')",
"type": "string"
}
},
"required": [
"orderLineItemId",
"quantity"
],
"type": "object"
},
"type": "array"
},
"refundAmount": {
"anyOf": [
{
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Amount to refund"
},
"reason": {
"default": "",
"description": "Overall return reason",
"type": "string"
},
"note": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Internal note"
},
"createdAt": {
"description": "Creation timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
"updatedAt": {
"description": "Last update timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
}
},
"required": [
"id",
"orderId",
"createdAt",
"updatedAt"
],
"type": "object"
},
"description": "Returns keyed by return id",
"type": "object"
},
"discount_codes": {
"additionalProperties": {
"additionalProperties": true,
"description": "Discount code state with product restrictions preserved.",
"properties": {
"id": {
"description": "Globally-unique ID",
"minLength": 1,
"type": "string"
},
"code": {
"description": "The discount code string (e.g., 'SUMMER20')",
"minLength": 1,
"type": "string"
},
"discountType": {
"default": "PERCENTAGE",
"description": "Discount type",
"enum": [
"PERCENTAGE",
"FIXED_AMOUNT",
"FREE_SHIPPING"
],
"type": "string"
},
"value": {
"description": "Discount value (e.g., '20' for 20% or '10.00' for $10 off)",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"minimumPurchase": {
"anyOf": [
{
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Minimum purchase amount required"
},
"minimumTier": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Minimum loyalty tier required to use this code (null = no tier restriction)"
},
"usageLimit": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Max total uses (null = unlimited)"
},
"usageCount": {
"default": 0,
"description": "Times used so far",
"minimum": 0,
"type": "integer"
},
"combinesWith": {
"description": "Controls whether this code can combine with other discount classes",
"properties": {
"orderDiscounts": {
"default": false,
"description": "Can combine with order-level discounts",
"type": "boolean"
},
"productDiscounts": {
"default": false,
"description": "Can combine with product-level discounts",
"type": "boolean"
},
"shippingDiscounts": {
"default": false,
"description": "Can combine with shipping discounts",
"type": "boolean"
}
},
"type": "object"
},
"active": {
"default": true,
"description": "Whether the code is currently active",
"type": "boolean"
},
"createdAt": {
"description": "Creation timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
"updatedAt": {
"description": "Last update timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
"productIds": {
"anyOf": [
{
"items": {
"minLength": 1,
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"id",
"code",
"value",
"createdAt",
"updatedAt"
],
"type": "object"
},
"description": "Discount codes keyed by code",
"type": "object"
},
"gift_cards": {
"additionalProperties": {
"additionalProperties": true,
"description": "Gift card state with mock-specific metadata preserved.",
"properties": {
"id": {
"minLength": 1,
"type": "string"
},
"code": {
"minLength": 1,
"type": "string"
},
"balance": {
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"initialValue": {
"anyOf": [
{
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null
},
"active": {
"default": true,
"type": "boolean"
},
"createdAt": {
"anyOf": [
{
"description": "RFC 3339 timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"updatedAt": {
"anyOf": [
{
"description": "RFC 3339 timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"id",
"code",
"balance"
],
"type": "object"
},
"description": "Gift cards keyed by code or id",
"type": "object"
},
"shipping_methods": {
"additionalProperties": {
"additionalProperties": true,
"description": "Shipping method state with synthetic metadata preserved.",
"properties": {
"id": {
"description": "Unique ID (e.g., 'standard', 'express')",
"minLength": 1,
"type": "string"
},
"title": {
"description": "Display name (e.g., 'Standard Shipping')",
"minLength": 1,
"type": "string"
},
"price": {
"description": "Shipping cost",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"estimatedDays": {
"default": "",
"description": "Estimated delivery time (e.g., '5-7 business days')",
"type": "string"
},
"active": {
"default": true,
"description": "Whether this method is currently available",
"type": "boolean"
}
},
"required": [
"id",
"title",
"price"
],
"type": "object"
},
"description": "Shipping methods keyed by method id",
"type": "object"
},
"loyalty_program": {
"additionalProperties": true,
"description": "Loyalty program configuration",
"properties": {
"enabled": {
"default": false,
"type": "boolean"
},
"earn_rate": {
"anyOf": [
{
"type": "integer"
},
{
"type": "number"
}
],
"default": 1,
"ge": 0
},
"redemption_rate": {
"anyOf": [
{
"type": "integer"
},
{
"type": "number"
}
],
"default": 100,
"gt": 0
},
"max_redemption_percent": {
"anyOf": [
{
"type": "integer"
},
{
"type": "number"
}
],
"default": 50,
"ge": 0,
"le": 100
},
"tiers": {
"items": {
"description": "A tier within the loyalty program.",
"properties": {
"name": {
"description": "Tier name, e.g. 'Bronze', 'Silver', 'Gold'",
"minLength": 1,
"type": "string"
},
"min_lifetime_points": {
"description": "Minimum lifetime points to reach this tier",
"minimum": 0,
"type": "integer"
},
"discount_percent": {
"default": 0,
"description": "Percent discount off subtotal for members of this tier",
"maximum": 100,
"minimum": 0,
"type": "number"
}
},
"required": [
"name",
"min_lifetime_points"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"current_customer_email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Identifies which customer the agent is acting as in customer-mode worlds"
},
"policies": {
"description": "Shop policies and FAQs",
"items": {
"additionalProperties": true,
"description": "Shop policy as stored in fixtures: no guaranteed `id` or `url`.\n\nDistinct from ``ShopPolicy`` (the API-shaped model) because seeded policies\ncarry a category ``type`` (e.g. REFUND_POLICY) but rarely an id or url.",
"properties": {
"id": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Policy category (REFUND_POLICY, SHIPPING_POLICY, \u2026)"
},
"title": {
"minLength": 1,
"type": "string"
},
"body": {
"type": "string"
},
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"title",
"body"
],
"type": "object"
},
"type": "array"
},
"faqs": {
"description": "Store FAQ entries",
"items": {
"additionalProperties": true,
"description": "Searchable FAQ entry.",
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"question": {
"minLength": 1,
"type": "string"
},
"answer": {
"minLength": 1,
"type": "string"
}
},
"required": [
"question",
"answer"
],
"type": "object"
},
"type": "array"
},
"counters": {
"additionalProperties": true,
"description": "Monotonic id counters used to generate Shopify entity IDs.\n\nLoose (`extra=\"allow\"`) so worlds that carry our extended counters\nround-trip cleanly, but every counter used by current tools is modeled.",
"properties": {
"cart_id": {
"default": 1000,
"minimum": 0,
"type": "integer"
},
"line_id": {
"default": 1000,
"minimum": 0,
"type": "integer"
},
"product_id": {
"default": 8000,
"minimum": 0,
"type": "integer"
},
"variant_id": {
"default": 9000,
"minimum": 0,
"type": "integer"
},
"order_id": {
"default": 2000,
"minimum": 0,
"type": "integer"
},
"line_item_id": {
"default": 3000,
"minimum": 0,
"type": "integer"
},
"customer_id": {
"default": 4000,
"minimum": 0,
"type": "integer"
},
"collection_id": {
"default": 5000,
"minimum": 0,
"type": "integer"
},
"review_id": {
"default": 6000,
"minimum": 0,
"type": "integer"
},
"return_id": {
"default": 7000,
"minimum": 0,
"type": "integer"
},
"discount_id": {
"default": 10000,
"minimum": 0,
"type": "integer"
},
"policy_id": {
"default": 11000,
"minimum": 0,
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
{
"name": "get_cart",
"description": "Get the cart including items, shipping options, discount info, and checkout url.\n\nArgs:\n cart_id: Shopify cart id, formatted like: gid://shopify/Cart/c1-66330c6d752c2b242bb8487474949791?key=fa8913e951098d30d68033cf6b7b50f3\n\nReturns:\n Cart details including items, costs, delivery options, and checkout URL",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cart_id": {
"type": "string"
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"cart_id"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "get_collection",
"description": "Get a collection by ID, including its products.\n\nArgs:\n collection_id: The collection ID\n\nReturns:\n Collection details with resolved product list",
"inputSchema": {
"additionalProperties": false,
"properties": {
"collection_id": {
"type": "string"
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"collection_id"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "get_customer",
"description": "Get a customer by their ID.\n\nArgs:\n customer_id: The customer ID, e.g. gid://shopify/Customer/4001\n\nReturns:\n Customer profile including addresses, order count, and total spent",
"inputSchema": {
"additionalProperties": false,
"properties": {
"customer_id": {
"type": "string"
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"customer_id"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "get_discount_code",
"description": "Look up a discount code by its code string.\n\nArgs:\n code: The discount code to look up (case-insensitive)\n\nReturns:\n Discount code details including type, value, and usage stats",
"inputSchema": {
"additionalProperties": false,
"properties": {
"code": {
"type": "string"
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"code"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "get_inventory",
"description": "Get inventory levels for product variants.\n\nArgs:\n product_id: Filter to variants of a specific product (optional)\n low_stock_threshold: Only show variants at or below this quantity (optional)\n\nReturns:\n List of variants with quantity available, SKU, and stock status",
"inputSchema": {
"additionalProperties": false,
"properties": {
"product_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"low_stock_threshold": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"store_id": {
"default": "default",
"type": "string"
}
},
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "get_loyalty_balance",
"description": "Get a customer's loyalty balance, lifetime points, and current tier.\n\nArgs:\n customer_id: The customer's GID.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"customer_id": {
"type": "string"
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"customer_id"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "get_loyalty_program",
"description": "Read the current loyalty program configuration.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"store_id": {
"default": "default",
"type": "string"
}
},
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "get_loyalty_tier",
"description": "Get the full tier object (name, threshold, discount percent) for a customer's current tier.\n\nArgs:\n customer_id: The customer's GID.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"customer_id": {
"type": "string"
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"customer_id"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "get_my_customer",
"description": "Get the current customer's own profile.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"store_id": {
"default": "default",
"type": "string"
}
},
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "get_my_loyalty_balance",
"description": "Get the current customer's loyalty balance, lifetime points, and tier.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"store_id": {
"default": "default",
"type": "string"
}
},
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "get_my_loyalty_tier",
"description": "Get the full tier object for the current customer's tier.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"store_id": {
"default": "default",
"type": "string"
}
},
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "get_my_order",
"description": "Get a single order, only if it belongs to the current customer.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"order_id": {
"type": "string"
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"order_id"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "get_order",
"description": "Get an order by its ID.\n\nArgs:\n order_id: The order ID, e.g. gid://shopify/Order/o2001\n\nReturns:\n Order details including line items, status, and totals",
"inputSchema": {
"additionalProperties": false,
"properties": {
"order_id": {
"type": "string"
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"order_id"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "get_product_details",
"description": "Look up a product by ID and optionally specify variant options to select a specific variant.\n\nArgs:\n product_id: The product ID, e.g. gid://shopify/Product/123\n options: Optional variant options to select a specific variant, e.g. {\"Size\": \"10\", \"Color\": \"Black\"}\n country: ISO 3166-1 alpha-2 country code for localized results\n language: ISO 639-1 language code for localized results\n\nReturns:\n Product details including variants, images, and pricing",
"inputSchema": {
"additionalProperties": false,
"properties": {
"product_id": {
"type": "string"
},
"options": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null
},
"country": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"language": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"product_id"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "get_product_reviews",
"description": "Get reviews for a product. Returns reviews with average rating.\n\nArgs:\n product_id: The product ID\n status: Filter by review status (PENDING, PUBLISHED, HIDDEN)\n limit: Maximum reviews to return (default 20)\n after: Pagination cursor from a previous call\n\nReturns:\n Reviews with average rating and pagination info",
"inputSchema": {
"additionalProperties": false,
"properties": {
"product_id": {
"type": "string"
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"limit": {
"default": 20,
"type": "integer"
},
"after": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"product_id"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "get_return",
"description": "Get a return by its ID.\n\nArgs:\n return_id: The return ID\n\nReturns:\n Return details including status, line items, and refund amount",
"inputSchema": {
"additionalProperties": false,
"properties": {
"return_id": {
"type": "string"
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"return_id"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "import_state",
"description": "Replace the shopify state with the provided JSON.\n\nFor synthetic-data injection and test setup. Accepts either the flat\nsingle-store shape or the multi-store ``{\"stores\": {...}}`` wrapper.\nRound-trips with export_state.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"state": {
"additionalProperties": true,
"description": "Full shopify state \u2014 round-trips with ShopifyState.to_dict().\n\nState entities are loaded into Pydantic models while exposing temporary\ndict-style access for legacy handlers. ``extra=\"allow\"`` preserves\nmock-specific metadata that tools may carry but the core Shopify-shaped\nmodels do not yet describe.",
"properties": {
"products": {
"additionalProperties": {
"additionalProperties": true,
"description": "Product relaxed for synthetic/legacy snapshot shapes.\n\nSeeded fixtures and synthetic data often include only the minimum product\nfields (id, title, variants), so we drop the strict ``handle`` /\n``priceRange`` requirements here and relax ``options`` to the fixture\nshape ({name, values}).",
"properties": {
"id": {
"description": "Globally-unique ID",
"minLength": 1,
"type": "string"
},
"title": {
"description": "Product title",
"minLength": 1,
"type": "string"
},
"description": {
"default": "",
"description": "Product description (plain text)",
"type": "string"
},
"descriptionHtml": {
"default": "",
"description": "Product description (HTML)",
"type": "string"
},
"handle": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"productType": {
"default": "",
"description": "Product type defined by merchant",
"type": "string"
},
"vendor": {
"default": "",
"description": "Product vendor name",
"type": "string"
},
"tags": {
"description": "Searchable tags",
"items": {
"type": "string"
},
"type": "array"
},
"availableForSale": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"priceRange": {
"anyOf": [
{
"description": "The price range of a product (Shopify ProductPriceRange type).",
"properties": {
"minVariantPrice": {
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"maxVariantPrice": {
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
}
},
"required": [
"minVariantPrice",
"maxVariantPrice"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null
},
"compareAtPriceRange": {
"anyOf": [
{
"description": "The price range of a product (Shopify ProductPriceRange type).",
"properties": {
"minVariantPrice": {
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"maxVariantPrice": {
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
}
},
"required": [
"minVariantPrice",
"maxVariantPrice"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Compare-at price range"
},
"featuredImage": {
"anyOf": [
{
"description": "An image resource (Shopify Image type).",
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"url": {
"description": "The URL of the image",
"minLength": 1,
"type": "string"
},
"altText": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Alt text for the image"
},
"width": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Image width in pixels"
},
"height": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Image height in pixels"
}
},
"required": [
"url"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Featured product image"
},
"images": {
"description": "Product images",
"items": {
"description": "An image resource (Shopify Image type).",
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"url": {
"description": "The URL of the image",
"minLength": 1,
"type": "string"
},
"altText": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Alt text for the image"
},
"width": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Image width in pixels"
},
"height": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Image height in pixels"
}
},
"required": [
"url"
],
"type": "object"
},
"type": "array"
},
"options": {
"items": {
"additionalProperties": true,
"description": "ProductOption whose `id` is optional \u2014 fixture data often omits it.",
"properties": {
"id": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"name": {
"description": "The option name (e.g., 'Size', 'Color')",
"minLength": 1,
"type": "string"
},
"values": {
"description": "Available values for this option",
"items": {
"minLength": 1,
"type": "string"
},
"type": "array"
}
},
"required": [
"name"
],
"type": "object"
},
"type": "array"
},
"variants": {
"description": "Product variants",
"items": {
"description": "A product variant (Shopify ProductVariant type).",
"properties": {
"id": {
"description": "Globally-unique ID",
"minLength": 1,
"type": "string"
},
"title": {
"description": "The variant's title",
"minLength": 1,
"type": "string"
},
"price": {
"description": "The variant's price",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"compareAtPrice": {
"anyOf": [
{
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Compare-at price for sale pricing"
},
"availableForSale": {
"default": true,
"description": "Whether the variant is available for sale",
"type": "boolean"
},
"sku": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "SKU (stock keeping unit)"
},
"barcode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Barcode (ISBN, UPC, GTIN)"
},
"selectedOptions": {
"description": "Selected options for this variant",
"items": {
"description": "A selected product option (Shopify SelectedOption type).",
"properties": {
"name": {
"description": "The option name (e.g., 'Size')",
"minLength": 1,
"type": "string"
},
"value": {
"description": "The option value (e.g., 'Large')",
"minLength": 1,
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
},
"image": {
"anyOf": [
{
"description": "An image resource (Shopify Image type).",
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"url": {
"description": "The URL of the image",
"minLength": 1,
"type": "string"
},
"altText": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Alt text for the image"
},
"width": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Image width in pixels"
},
"height": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Image height in pixels"
}
},
"required": [
"url"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Image associated with the variant"
},
"weight": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Weight of the variant"
},
"weightUnit": {
"default": "KILOGRAMS",
"description": "Unit of weight measurement",
"enum": [
"GRAMS",
"KILOGRAMS",
"OUNCES",
"POUNDS"
],
"type": "string"
},
"quantityAvailable": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Quantity available for sale"
},
"currentlyNotInStock": {
"default": false,
"description": "Whether out of stock but available for backorder",
"type": "boolean"
},
"requiresShipping": {
"default": true,
"description": "Whether shipping is required",
"type": "boolean"
},
"taxable": {
"default": true,
"description": "Whether tax is charged",
"type": "boolean"
}
},
"required": [
"id",
"title",
"price"
],
"type": "object"
},
"type": "array"
},
"seo": {
"anyOf": [
{
"description": "SEO information (Shopify SEO type).",
"properties": {
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "SEO title and description"
},
"onlineStoreUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "URL on the online store"
},
"createdAt": {
"anyOf": [
{
"description": "RFC 3339 timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Creation timestamp"
},
"updatedAt": {
"anyOf": [
{
"description": "RFC 3339 timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Last update timestamp"
},
"publishedAt": {
"anyOf": [
{
"description": "RFC 3339 timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Publication timestamp"
},
"isGiftCard": {
"default": false,
"description": "Whether product is a gift card",
"type": "boolean"
},
"totalInventory": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Total inventory quantity"
},
"trackingParameters": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "URL tracking parameters"
},
"category": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"categoryId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"productCategory": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"id",
"title"
],
"type": "object"
},
"description": "Products keyed by product gid",
"type": "object"
},
"carts": {
"additionalProperties": {
"additionalProperties": true,
"description": "Cart state that accepts compact synthetic cart fixtures.",
"properties": {
"id": {
"minLength": 1,
"type": "string"
},
"checkoutUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"createdAt": {
"anyOf": [
{
"description": "RFC 3339 timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"updatedAt": {
"anyOf": [
{
"description": "RFC 3339 timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"lines": {
"items": {
"description": "A line item in the cart (Shopify CartLine type).",
"properties": {
"id": {
"description": "Globally-unique ID",
"minLength": 1,
"type": "string"
},
"quantity": {
"description": "Quantity of the item",
"minimum": 1,
"type": "integer"
},
"merchandise": {
"description": "The merchandise (variant)",
"properties": {
"id": {
"minLength": 1,
"type": "string"
},
"title": {
"minLength": 1,
"type": "string"
},
"product": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Parent product info"
},
"image": {
"anyOf": [
{
"description": "An image resource (Shopify Image type).",
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"url": {
"description": "The URL of the image",
"minLength": 1,
"type": "string"
},
"altText": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Alt text for the image"
},
"width": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Image width in pixels"
},
"height": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Image height in pixels"
}
},
"required": [
"url"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null
},
"selectedOptions": {
"items": {
"description": "A selected product option (Shopify SelectedOption type).",
"properties": {
"name": {
"description": "The option name (e.g., 'Size')",
"minLength": 1,
"type": "string"
},
"value": {
"description": "The option value (e.g., 'Large')",
"minLength": 1,
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
},
"price": {
"description": "Variant price",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
}
},
"required": [
"id",
"title",
"price"
],
"type": "object"
},
"cost": {
"description": "Cost breakdown",
"properties": {
"amountPerQuantity": {
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"compareAtAmountPerQuantity": {
"anyOf": [
{
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null
},
"subtotalAmount": {
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"totalAmount": {
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
}
},
"required": [
"amountPerQuantity",
"subtotalAmount",
"totalAmount"
],
"type": "object"
},
"attributes": {
"items": {
"description": "A key-value attribute (Shopify Attribute type).",
"properties": {
"key": {
"minLength": 1,
"type": "string"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"key"
],
"type": "object"
},
"type": "array"
},
"discountAllocations": {
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
}
},
"required": [
"id",
"quantity",
"merchandise",
"cost"
],
"type": "object"
},
"type": "array"
},
"cost": {
"anyOf": [
{
"description": "Cart cost breakdown (Shopify CartCost type).",
"properties": {
"subtotalAmount": {
"description": "Amount before taxes and discounts",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"subtotalAmountEstimated": {
"default": false,
"description": "Whether subtotal is estimated",
"type": "boolean"
},
"totalAmount": {
"description": "Total amount for customer to pay",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"totalAmountEstimated": {
"default": false,
"description": "Whether total is estimated",
"type": "boolean"
},
"totalTaxAmount": {
"anyOf": [
{
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Total tax amount"
},
"totalTaxAmountEstimated": {
"default": false,
"type": "boolean"
},
"checkoutChargeAmount": {
"description": "Amount to pay at checkout",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
}
},
"required": [
"subtotalAmount",
"totalAmount",
"checkoutChargeAmount"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null
},
"buyerIdentity": {
"description": "Information about the buyer (Shopify CartBuyerIdentity type).",
"properties": {
"email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"phone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"countryCode": {
"anyOf": [
{
"pattern": "^[A-Z]{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "ISO country code for regional pricing"
},
"customer": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Associated customer"
},
"deliveryAddressPreferences": {
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"attributes": {
"items": {
"description": "A key-value attribute (Shopify Attribute type).",
"properties": {
"key": {
"minLength": 1,
"type": "string"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"key"
],
"type": "object"
},
"type": "array"
},
"discountCodes": {
"items": {
"description": "A discount code applied to the cart (Shopify CartDiscountCode type).",
"properties": {
"code": {
"description": "The discount code",
"minLength": 1,
"type": "string"
},
"applicable": {
"default": true,
"description": "Whether the code is applicable",
"type": "boolean"
}
},
"required": [
"code"
],
"type": "object"
},
"type": "array"
},
"discountAllocations": {
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
"appliedGiftCards": {
"items": {
"description": "A gift card applied to the cart (Shopify AppliedGiftCard type).",
"properties": {
"id": {
"minLength": 1,
"type": "string"
},
"code": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Gift card code used to look up the backing balance"
},
"lastCharacters": {
"description": "Last 4 characters of the gift card code",
"minLength": 1,
"type": "string"
},
"amountUsed": {
"description": "Amount used from the gift card",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"balance": {
"description": "Remaining balance",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"presentmentAmountUsed": {
"description": "Amount used in presentment currency",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
}
},
"required": [
"id",
"lastCharacters",
"amountUsed",
"balance",
"presentmentAmountUsed"
],
"type": "object"
},
"type": "array"
},
"deliveryGroups": {
"items": {
"description": "A delivery group (Shopify CartDeliveryGroup type).",
"properties": {
"id": {
"minLength": 1,
"type": "string"
},
"deliveryOptions": {
"items": {
"description": "A delivery option (Shopify CartDeliveryOption type).",
"properties": {
"handle": {
"description": "Unique handle for the option",
"minLength": 1,
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"estimatedCost": {
"description": "Estimated delivery cost",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"code": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Delivery option code"
}
},
"required": [
"handle",
"estimatedCost"
],
"type": "object"
},
"type": "array"
},
"selectedDeliveryOption": {
"anyOf": [
{
"description": "A delivery option (Shopify CartDeliveryOption type).",
"properties": {
"handle": {
"description": "Unique handle for the option",
"minLength": 1,
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"estimatedCost": {
"description": "Estimated delivery cost",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"code": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Delivery option code"
}
},
"required": [
"handle",
"estimatedCost"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null
},
"cartLines": {
"description": "Lines in this group",
"items": {
"description": "A line item in the cart (Shopify CartLine type).",
"properties": {
"id": {
"description": "Globally-unique ID",
"minLength": 1,
"type": "string"
},
"quantity": {
"description": "Quantity of the item",
"minimum": 1,
"type": "integer"
},
"merchandise": {
"description": "The merchandise (variant)",
"properties": {
"id": {
"minLength": 1,
"type": "string"
},
"title": {
"minLength": 1,
"type": "string"
},
"product": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Parent product info"
},
"image": {
"anyOf": [
{
"description": "An image resource (Shopify Image type).",
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"url": {
"description": "The URL of the image",
"minLength": 1,
"type": "string"
},
"altText": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Alt text for the image"
},
"width": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Image width in pixels"
},
"height": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Image height in pixels"
}
},
"required": [
"url"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null
},
"selectedOptions": {
"items": {
"description": "A selected product option (Shopify SelectedOption type).",
"properties": {
"name": {
"description": "The option name (e.g., 'Size')",
"minLength": 1,
"type": "string"
},
"value": {
"description": "The option value (e.g., 'Large')",
"minLength": 1,
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
},
"price": {
"description": "Variant price",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
}
},
"required": [
"id",
"title",
"price"
],
"type": "object"
},
"cost": {
"description": "Cost breakdown",
"properties": {
"amountPerQuantity": {
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"compareAtAmountPerQuantity": {
"anyOf": [
{
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null
},
"subtotalAmount": {
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"totalAmount": {
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
}
},
"required": [
"amountPerQuantity",
"subtotalAmount",
"totalAmount"
],
"type": "object"
},
"attributes": {
"items": {
"description": "A key-value attribute (Shopify Attribute type).",
"properties": {
"key": {
"minLength": 1,
"type": "string"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"key"
],
"type": "object"
},
"type": "array"
},
"discountAllocations": {
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
}
},
"required": [
"id",
"quantity",
"merchandise",
"cost"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"id"
],
"type": "object"
},
"type": "array"
},
"totalQuantity": {
"default": 0,
"minimum": 0,
"type": "integer"
},
"note": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"id"
],
"type": "object"
},
"description": "Carts keyed by cart gid",
"type": "object"
},
"orders": {
"additionalProperties": {
"additionalProperties": true,
"description": "Order state with mock-specific extensions preserved.",
"properties": {
"id": {
"description": "Globally-unique ID",
"minLength": 1,
"type": "string"
},
"name": {
"description": "Display name, e.g. '#1001'",
"minLength": 1,
"type": "string"
},
"email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Customer email"
},
"phone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Customer phone"
},
"createdAt": {
"description": "Creation timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
"updatedAt": {
"description": "Last update timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
"cancelledAt": {
"anyOf": [
{
"description": "RFC 3339 timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Cancellation timestamp"
},
"financialStatus": {
"default": "PENDING",
"description": "Financial status",
"enum": [
"PENDING",
"PAID",
"VOIDED",
"REFUNDED",
"PARTIALLY_REFUNDED"
],
"type": "string"
},
"fulfillmentStatus": {
"default": "UNFULFILLED",
"description": "Fulfillment status",
"enum": [
"UNFULFILLED",
"FULFILLED",
"PARTIALLY_FULFILLED"
],
"type": "string"
},
"trackingNumber": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Tracking number assigned at fulfillment (null until fulfilled)"
},
"trackingUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Tracking URL assigned at fulfillment"
},
"lineItems": {
"description": "Order line items",
"items": {
"description": "A line item in an order.",
"properties": {
"id": {
"description": "Globally-unique ID",
"minLength": 1,
"type": "string"
},
"title": {
"description": "Product title",
"minLength": 1,
"type": "string"
},
"variantTitle": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Variant title"
},
"quantity": {
"description": "Quantity ordered",
"minimum": 1,
"type": "integer"
},
"sku": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "SKU"
},
"variantId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Product variant ID"
},
"productId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Product ID"
},
"price": {
"description": "Unit price",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"totalPrice": {
"description": "Total price (price * quantity)",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"image": {
"anyOf": [
{
"description": "An image resource (Shopify Image type).",
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"url": {
"description": "The URL of the image",
"minLength": 1,
"type": "string"
},
"altText": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Alt text for the image"
},
"width": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Image width in pixels"
},
"height": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Image height in pixels"
}
},
"required": [
"url"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Product image"
}
},
"required": [
"id",
"title",
"quantity",
"price",
"totalPrice"
],
"type": "object"
},
"type": "array"
},
"subtotalPrice": {
"description": "Subtotal before tax/shipping",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"totalPrice": {
"description": "Total amount",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"totalTax": {
"anyOf": [
{
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Total tax"
},
"shippingAddress": {
"anyOf": [
{
"description": "A mailing/delivery address (Shopify MailingAddress type).",
"properties": {
"firstName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"lastName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"phone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"address1": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"address2": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"provinceCode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"zip": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"countryCode": {
"anyOf": [
{
"pattern": "^[A-Z]{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "ISO country code"
},
"company": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"country": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"province": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"formatted": {
"description": "Formatted address lines",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Shipping address"
},
"billingAddress": {
"anyOf": [
{
"description": "A mailing/delivery address (Shopify MailingAddress type).",
"properties": {
"firstName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"lastName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"phone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"address1": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"address2": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"provinceCode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"zip": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"countryCode": {
"anyOf": [
{
"pattern": "^[A-Z]{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "ISO country code"
},
"company": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"country": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"province": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"formatted": {
"description": "Formatted address lines",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Billing address"
},
"note": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Order note"
},
"tags": {
"description": "Order tags",
"items": {
"type": "string"
},
"type": "array"
},
"cartId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Source cart ID"
}
},
"required": [
"id",
"name",
"createdAt",
"updatedAt",
"subtotalPrice",
"totalPrice"
],
"type": "object"
},
"description": "Orders keyed by order gid",
"type": "object"
},
"customers": {
"additionalProperties": {
"additionalProperties": true,
"description": "Customer state with loyalty extensions/backfilled defaults preserved.",
"properties": {
"id": {
"description": "Globally-unique ID",
"minLength": 1,
"type": "string"
},
"firstName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "First name"
},
"lastName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Last name"
},
"email": {
"description": "Email address",
"minLength": 1,
"type": "string"
},
"phone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Phone number"
},
"createdAt": {
"description": "Creation timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
"updatedAt": {
"description": "Last update timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
"defaultAddress": {
"anyOf": [
{
"description": "A mailing/delivery address (Shopify MailingAddress type).",
"properties": {
"firstName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"lastName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"phone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"address1": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"address2": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"provinceCode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"zip": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"countryCode": {
"anyOf": [
{
"pattern": "^[A-Z]{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "ISO country code"
},
"company": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"country": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"province": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"formatted": {
"description": "Formatted address lines",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Default address"
},
"addresses": {
"description": "All addresses",
"items": {
"description": "A mailing/delivery address (Shopify MailingAddress type).",
"properties": {
"firstName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"lastName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"phone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"address1": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"address2": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"provinceCode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"zip": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"countryCode": {
"anyOf": [
{
"pattern": "^[A-Z]{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "ISO country code"
},
"company": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"country": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"province": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"formatted": {
"description": "Formatted address lines",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"type": "array"
},
"ordersCount": {
"default": 0,
"description": "Number of orders placed",
"minimum": 0,
"type": "integer"
},
"totalSpent": {
"anyOf": [
{
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Total amount spent"
},
"tags": {
"description": "Customer tags",
"items": {
"type": "string"
},
"type": "array"
},
"note": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Internal note about customer"
},
"acceptsMarketing": {
"default": false,
"description": "Whether customer accepts marketing",
"type": "boolean"
},
"state": {
"default": "ENABLED",
"description": "Account state",
"enum": [
"ENABLED",
"DISABLED",
"INVITED",
"DECLINED"
],
"type": "string"
},
"pointsBalance": {
"default": 0,
"description": "Spendable loyalty points balance",
"minimum": 0,
"type": "integer"
},
"lifetimePoints": {
"default": 0,
"description": "Total loyalty points ever earned (drives tier)",
"minimum": 0,
"type": "integer"
},
"tier": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Current loyalty tier name, or null if program disabled"
},
"loyaltyJoinedAt": {
"anyOf": [
{
"description": "RFC 3339 timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "When customer joined loyalty program"
}
},
"required": [
"id",
"email",
"createdAt",
"updatedAt"
],
"type": "object"
},
"description": "Customers keyed by customer gid",
"type": "object"
},
"collections": {
"additionalProperties": {
"additionalProperties": true,
"description": "Collection state with synthetic metadata preserved.",
"properties": {
"id": {
"description": "Globally-unique ID",
"minLength": 1,
"type": "string"
},
"title": {
"description": "Collection title",
"minLength": 1,
"type": "string"
},
"description": {
"default": "",
"description": "Collection description",
"type": "string"
},
"handle": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"productIds": {
"description": "Product IDs in this collection",
"items": {
"minLength": 1,
"type": "string"
},
"type": "array"
},
"createdAt": {
"anyOf": [
{
"description": "RFC 3339 timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"updatedAt": {
"anyOf": [
{
"description": "RFC 3339 timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"sortOrder": {
"default": "MANUAL",
"description": "Sort order",
"enum": [
"MANUAL",
"BEST_SELLING",
"ALPHA_ASC",
"ALPHA_DESC",
"PRICE_ASC",
"PRICE_DESC",
"CREATED_DESC"
],
"type": "string"
},
"image": {
"anyOf": [
{
"description": "An image resource (Shopify Image type).",
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"url": {
"description": "The URL of the image",
"minLength": 1,
"type": "string"
},
"altText": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Alt text for the image"
},
"width": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Image width in pixels"
},
"height": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Image height in pixels"
}
},
"required": [
"url"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Collection image"
},
"products": {
"description": "Legacy collection membership field accepted by older fixtures",
"items": {
"minLength": 1,
"type": "string"
},
"type": "array"
}
},
"required": [
"id",
"title"
],
"type": "object"
},
"description": "Collections keyed by gid",
"type": "object"
},
"reviews": {
"additionalProperties": {
"additionalProperties": true,
"description": "Review state with synthetic metadata preserved.",
"properties": {
"id": {
"description": "Globally-unique ID",
"minLength": 1,
"type": "string"
},
"productId": {
"description": "Product this review is for",
"minLength": 1,
"type": "string"
},
"rating": {
"description": "Rating from 1 to 5",
"maximum": 5,
"minimum": 1,
"type": "integer"
},
"title": {
"default": "",
"description": "Review title",
"type": "string"
},
"body": {
"default": "",
"description": "Review body text",
"type": "string"
},
"author": {
"description": "Author name",
"minLength": 1,
"type": "string"
},
"email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Author email"
},
"status": {
"default": "PUBLISHED",
"description": "Review status",
"enum": [
"PENDING",
"PUBLISHED",
"HIDDEN"
],
"type": "string"
},
"createdAt": {
"anyOf": [
{
"description": "RFC 3339 timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"updatedAt": {
"anyOf": [
{
"description": "RFC 3339 timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"id",
"productId",
"rating",
"author"
],
"type": "object"
},
"description": "Reviews keyed by review id",
"type": "object"
},
"returns": {
"additionalProperties": {
"additionalProperties": true,
"description": "Return state with synthetic metadata preserved.",
"properties": {
"id": {
"description": "Globally-unique ID",
"minLength": 1,
"type": "string"
},
"orderId": {
"description": "Order this return is for",
"minLength": 1,
"type": "string"
},
"status": {
"default": "REQUESTED",
"description": "Return status",
"enum": [
"REQUESTED",
"APPROVED",
"RECEIVED",
"REFUNDED",
"REJECTED"
],
"type": "string"
},
"lineItems": {
"description": "Items being returned",
"items": {
"description": "A line item in a return request.",
"properties": {
"orderLineItemId": {
"description": "Reference to the order line item being returned",
"minLength": 1,
"type": "string"
},
"quantity": {
"description": "Quantity being returned",
"minimum": 1,
"type": "integer"
},
"reason": {
"default": "",
"description": "Reason for return (e.g., 'defective', 'wrong_item', 'not_as_described')",
"type": "string"
}
},
"required": [
"orderLineItemId",
"quantity"
],
"type": "object"
},
"type": "array"
},
"refundAmount": {
"anyOf": [
{
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Amount to refund"
},
"reason": {
"default": "",
"description": "Overall return reason",
"type": "string"
},
"note": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Internal note"
},
"createdAt": {
"description": "Creation timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
"updatedAt": {
"description": "Last update timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
}
},
"required": [
"id",
"orderId",
"createdAt",
"updatedAt"
],
"type": "object"
},
"description": "Returns keyed by return id",
"type": "object"
},
"discount_codes": {
"additionalProperties": {
"additionalProperties": true,
"description": "Discount code state with product restrictions preserved.",
"properties": {
"id": {
"description": "Globally-unique ID",
"minLength": 1,
"type": "string"
},
"code": {
"description": "The discount code string (e.g., 'SUMMER20')",
"minLength": 1,
"type": "string"
},
"discountType": {
"default": "PERCENTAGE",
"description": "Discount type",
"enum": [
"PERCENTAGE",
"FIXED_AMOUNT",
"FREE_SHIPPING"
],
"type": "string"
},
"value": {
"description": "Discount value (e.g., '20' for 20% or '10.00' for $10 off)",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"minimumPurchase": {
"anyOf": [
{
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Minimum purchase amount required"
},
"minimumTier": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Minimum loyalty tier required to use this code (null = no tier restriction)"
},
"usageLimit": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Max total uses (null = unlimited)"
},
"usageCount": {
"default": 0,
"description": "Times used so far",
"minimum": 0,
"type": "integer"
},
"combinesWith": {
"description": "Controls whether this code can combine with other discount classes",
"properties": {
"orderDiscounts": {
"default": false,
"description": "Can combine with order-level discounts",
"type": "boolean"
},
"productDiscounts": {
"default": false,
"description": "Can combine with product-level discounts",
"type": "boolean"
},
"shippingDiscounts": {
"default": false,
"description": "Can combine with shipping discounts",
"type": "boolean"
}
},
"type": "object"
},
"active": {
"default": true,
"description": "Whether the code is currently active",
"type": "boolean"
},
"createdAt": {
"description": "Creation timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
"updatedAt": {
"description": "Last update timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
"productIds": {
"anyOf": [
{
"items": {
"minLength": 1,
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"id",
"code",
"value",
"createdAt",
"updatedAt"
],
"type": "object"
},
"description": "Discount codes keyed by code",
"type": "object"
},
"gift_cards": {
"additionalProperties": {
"additionalProperties": true,
"description": "Gift card state with mock-specific metadata preserved.",
"properties": {
"id": {
"minLength": 1,
"type": "string"
},
"code": {
"minLength": 1,
"type": "string"
},
"balance": {
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"initialValue": {
"anyOf": [
{
"description": "A monetary value with currency (Shopify MoneyV2 type).",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null
},
"active": {
"default": true,
"type": "boolean"
},
"createdAt": {
"anyOf": [
{
"description": "RFC 3339 timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"updatedAt": {
"anyOf": [
{
"description": "RFC 3339 timestamp",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$",
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"id",
"code",
"balance"
],
"type": "object"
},
"description": "Gift cards keyed by code or id",
"type": "object"
},
"shipping_methods": {
"additionalProperties": {
"additionalProperties": true,
"description": "Shipping method state with synthetic metadata preserved.",
"properties": {
"id": {
"description": "Unique ID (e.g., 'standard', 'express')",
"minLength": 1,
"type": "string"
},
"title": {
"description": "Display name (e.g., 'Standard Shipping')",
"minLength": 1,
"type": "string"
},
"price": {
"description": "Shipping cost",
"properties": {
"amount": {
"description": "Decimal money amount as string",
"pattern": "^\\d+(?:\\.\\d{1,2})?$",
"type": "string"
},
"currencyCode": {
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"required": [
"amount",
"currencyCode"
],
"type": "object"
},
"estimatedDays": {
"default": "",
"description": "Estimated delivery time (e.g., '5-7 business days')",
"type": "string"
},
"active": {
"default": true,
"description": "Whether this method is currently available",
"type": "boolean"
}
},
"required": [
"id",
"title",
"price"
],
"type": "object"
},
"description": "Shipping methods keyed by method id",
"type": "object"
},
"loyalty_program": {
"additionalProperties": true,
"description": "Loyalty program configuration",
"properties": {
"enabled": {
"default": false,
"type": "boolean"
},
"earn_rate": {
"anyOf": [
{
"type": "integer"
},
{
"type": "number"
}
],
"default": 1,
"ge": 0
},
"redemption_rate": {
"anyOf": [
{
"type": "integer"
},
{
"type": "number"
}
],
"default": 100,
"gt": 0
},
"max_redemption_percent": {
"anyOf": [
{
"type": "integer"
},
{
"type": "number"
}
],
"default": 50,
"ge": 0,
"le": 100
},
"tiers": {
"items": {
"description": "A tier within the loyalty program.",
"properties": {
"name": {
"description": "Tier name, e.g. 'Bronze', 'Silver', 'Gold'",
"minLength": 1,
"type": "string"
},
"min_lifetime_points": {
"description": "Minimum lifetime points to reach this tier",
"minimum": 0,
"type": "integer"
},
"discount_percent": {
"default": 0,
"description": "Percent discount off subtotal for members of this tier",
"maximum": 100,
"minimum": 0,
"type": "number"
}
},
"required": [
"name",
"min_lifetime_points"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"current_customer_email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Identifies which customer the agent is acting as in customer-mode worlds"
},
"policies": {
"description": "Shop policies and FAQs",
"items": {
"additionalProperties": true,
"description": "Shop policy as stored in fixtures: no guaranteed `id` or `url`.\n\nDistinct from ``ShopPolicy`` (the API-shaped model) because seeded policies\ncarry a category ``type`` (e.g. REFUND_POLICY) but rarely an id or url.",
"properties": {
"id": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Policy category (REFUND_POLICY, SHIPPING_POLICY, \u2026)"
},
"title": {
"minLength": 1,
"type": "string"
},
"body": {
"type": "string"
},
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"title",
"body"
],
"type": "object"
},
"type": "array"
},
"faqs": {
"description": "Store FAQ entries",
"items": {
"additionalProperties": true,
"description": "Searchable FAQ entry.",
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"question": {
"minLength": 1,
"type": "string"
},
"answer": {
"minLength": 1,
"type": "string"
}
},
"required": [
"question",
"answer"
],
"type": "object"
},
"type": "array"
},
"counters": {
"additionalProperties": true,
"description": "Monotonic id counters used to generate Shopify entity IDs.\n\nLoose (`extra=\"allow\"`) so worlds that carry our extended counters\nround-trip cleanly, but every counter used by current tools is modeled.",
"properties": {
"cart_id": {
"default": 1000,
"minimum": 0,
"type": "integer"
},
"line_id": {
"default": 1000,
"minimum": 0,
"type": "integer"
},
"product_id": {
"default": 8000,
"minimum": 0,
"type": "integer"
},
"variant_id": {
"default": 9000,
"minimum": 0,
"type": "integer"
},
"order_id": {
"default": 2000,
"minimum": 0,
"type": "integer"
},
"line_item_id": {
"default": 3000,
"minimum": 0,
"type": "integer"
},
"customer_id": {
"default": 4000,
"minimum": 0,
"type": "integer"
},
"collection_id": {
"default": 5000,
"minimum": 0,
"type": "integer"
},
"review_id": {
"default": 6000,
"minimum": 0,
"type": "integer"
},
"return_id": {
"default": 7000,
"minimum": 0,
"type": "integer"
},
"discount_id": {
"default": 10000,
"minimum": 0,
"type": "integer"
},
"policy_id": {
"default": 11000,
"minimum": 0,
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"required": [
"state"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "list_carts",
"description": "List all shopping carts.\n\nUse this tool to discover existing cart IDs before using get_cart or update_cart.\nReturns a list of all carts with their IDs, item counts, and totals.\n\nArgs:\n store_id: Which store to query in multi-store worlds. Defaults to \"default\".\n\nReturns:\n List of carts with summary information including cart IDs",
"inputSchema": {
"additionalProperties": false,
"properties": {
"store_id": {
"default": "default",
"type": "string"
}
},
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "list_collections",
"description": "List all product collections.\n\nArgs:\n limit: Maximum collections to return (default 20)\n after: Pagination cursor from a previous call\n\nReturns:\n List of collections with product counts",
"inputSchema": {
"additionalProperties": false,
"properties": {
"limit": {
"default": 20,
"type": "integer"
},
"after": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"store_id": {
"default": "default",
"type": "string"
}
},
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "list_customers",
"description": "List customers with optional filtering by name/email or tag.\n\nArgs:\n query: Search by name or email (case-insensitive substring match)\n tag: Filter by customer tag\n limit: Maximum number of customers to return (default 20)\n after: Pagination cursor from a previous call\n\nReturns:\n List of customers with pagination info",
"inputSchema": {
"additionalProperties": false,
"properties": {
"query": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"tag": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"limit": {
"default": 20,
"type": "integer"
},
"after": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"store_id": {
"default": "default",
"type": "string"
}
},
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "list_discount_codes",
"description": "List all discount codes in the store.\n\nArgs:\n active_only: If true, only return currently active codes\n\nReturns:\n List of discount codes sorted by code",
"inputSchema": {
"additionalProperties": false,
"properties": {
"active_only": {
"default": false,
"type": "boolean"
},
"store_id": {
"default": "default",
"type": "string"
}
},
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "list_loyalty_tiers",
"description": "List all loyalty tiers sorted by threshold ascending.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"store_id": {
"default": "default",
"type": "string"
}
},
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "list_my_orders",
"description": "List orders belonging to the current customer, newest first.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"limit": {
"default": 20,
"type": "integer"
},
"after": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"store_id": {
"default": "default",
"type": "string"
}
},
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "list_orders",
"description": "List orders with optional filtering by status.\n\nArgs:\n status: Filter by financial status (PENDING, PAID, REFUNDED, PARTIALLY_REFUNDED) or fulfillment status (UNFULFILLED, FULFILLED, PARTIALLY_FULFILLED)\n limit: Maximum number of orders to return (default 20)\n after: Pagination cursor from a previous call\n\nReturns:\n List of orders with pagination info",
"inputSchema": {
"additionalProperties": false,
"properties": {
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"limit": {
"default": 20,
"type": "integer"
},
"after": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"store_id": {
"default": "default",
"type": "string"
}
},
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "list_policies",
"description": "List all store policies.\n\nArgs:\n store_id: Which store to query in multi-store worlds. Defaults to \"default\".\n\nReturns:\n All policies with their titles and content",
"inputSchema": {
"additionalProperties": false,
"properties": {
"store_id": {
"default": "default",
"type": "string"
}
},
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "list_returns",
"description": "List returns with optional filtering by order or status.\n\nArgs:\n order_id: Filter to returns for a specific order\n status: Filter by return status (REQUESTED, APPROVED, RECEIVED, REFUNDED, REJECTED)\n limit: Maximum returns to show (default 20)\n after: Pagination cursor\n\nReturns:\n List of returns with pagination info",
"inputSchema": {
"additionalProperties": false,
"properties": {
"order_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"limit": {
"default": 20,
"type": "integer"
},
"after": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"store_id": {
"default": "default",
"type": "string"
}
},
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "list_shipping_methods",
"description": "List all available shipping methods, sorted by price.\n\nArgs:\n active_only: If true, only return active methods\n\nReturns:\n List of shipping methods with prices and estimated delivery times",
"inputSchema": {
"additionalProperties": false,
"properties": {
"active_only": {
"default": false,
"type": "boolean"
},
"store_id": {
"default": "default",
"type": "string"
}
},
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "list_stores",
"description": "List all available stores.\n\nReturns:\n Store IDs with product counts and basic info.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "redeem_my_points",
"description": "Redeem loyalty points from the current customer's balance.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"points": {
"type": "integer"
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"points"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "redeem_points",
"description": "Redeem loyalty points for dollar value. Deducts from spendable balance; lifetime points unchanged.\nFor use with orders, pass `redeem_points` to `create_order` instead of calling this directly.\n\nArgs:\n customer_id: The customer's GID.\n points: Positive integer of points to redeem.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"customer_id": {
"type": "string"
},
"points": {
"type": "integer"
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"customer_id",
"points"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "remove_from_collection",
"description": "Remove products from a collection.\n\nArgs:\n collection_id: The collection ID\n product_ids: Product IDs to remove\n\nReturns:\n Updated collection with lists of removed products",
"inputSchema": {
"additionalProperties": false,
"properties": {
"collection_id": {
"type": "string"
},
"product_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"collection_id",
"product_ids"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "search_customers",
"description": "Search customers by name, email, or phone number.\n\nArgs:\n query: Search string (case-insensitive, matches name, email, or phone)\n limit: Maximum number of results (default 20)\n\nReturns:\n Matching customers sorted by relevance",
"inputSchema": {
"additionalProperties": false,
"properties": {
"query": {
"type": "string"
},
"limit": {
"default": 20,
"type": "integer"
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "search_shop_catalog",
"description": "Search for products from the online store, hosted on Shopify.\n\nThis tool can be used to search for products using natural language queries,\nspecific filter criteria, or both.\n\nBest practices:\n- Searches return available_filters which can be used for refined follow-up searches\n- When filtering, use ONLY the filters from available_filters in follow-up searches\n- For specific filter searches, use simple terms without the filter name\n- Results are paginated, with initial results limited to improve experience\n- Use the after parameter with endCursor to fetch additional pages\n\nArgs:\n query: A natural language query\n context: Additional information about the request such as user demographics, mood, location\n filters: Filters to apply to the search from available_filters in previous response\n country: ISO 3166-1 alpha-2 country code for localized results (e.g., 'US', 'CA')\n language: ISO 639-1 language code for localized results (e.g., 'EN', 'FR')\n limit: Maximum number of products to return (default 10, max 250)\n after: Pagination cursor to fetch the next page of results\n\nReturns:\n Search results including products, available filters, and pagination info",
"inputSchema": {
"additionalProperties": false,
"properties": {
"query": {
"type": "string"
},
"context": {
"type": "string"
},
"filters": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"country": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"language": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"limit": {
"default": 10,
"minimum": 0,
"type": "integer"
},
"after": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"query",
"context"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "search_shop_policies_and_faqs",
"description": "Get facts about the store's policies, products, or services.\n\nExamples of questions you can ask:\n- What is your return policy?\n- What is your shipping policy?\n- What is your phone number?\n- What are your hours of operation?\n\nArgs:\n query: A natural language query\n context: Additional information about the request\n\nReturns:\n Matching policies and FAQ answers",
"inputSchema": {
"additionalProperties": false,
"properties": {
"query": {
"type": "string"
},
"context": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "update_cart",
"description": "Perform updates to a cart, including adding/removing/updating line items,\nbuyer information, shipping details, discount codes, gift cards and notes.\n\nShipping options become available after adding items and delivery address.\nWhen creating a new cart, only add_items is required.\n\nArgs:\n cart_id: Identifier for the cart. If not provided, a new cart will be created\n add_items: Items to add to the cart (list of {merchandiseId, quantity})\n update_items: Items to update (list of {id, quantity}). Use quantity 0 to remove\n remove_line_ids: List of line item IDs to remove explicitly\n buyer_identity: Buyer info including email, phone, countryCode\n delivery_addresses_to_add: Delivery addresses to add\n delivery_addresses_to_replace: Delivery addresses to replace all existing\n selected_delivery_options: Delivery options to select\n discount_codes: Discount or promo codes to apply\n gift_card_codes: Gift card codes to apply\n note: A note or special instructions for the cart\n\nReturns:\n Updated cart details",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cart_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"add_items": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"update_items": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"remove_line_ids": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"buyer_identity": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null
},
"delivery_addresses_to_add": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"delivery_addresses_to_replace": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"selected_delivery_options": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"discount_codes": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"gift_card_codes": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"note": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"store_id": {
"default": "default",
"type": "string"
}
},
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "update_customer",
"description": "Update an existing customer's profile.\n\nArgs:\n customer_id: The customer ID to update\n first_name: New first name\n last_name: New last name\n email: New email address\n phone: New phone number\n address: New or updated address (sets as default and adds to address list)\n tags: Customer tags (replaces existing)\n note: Internal note\n accepts_marketing: Marketing consent\n\nReturns:\n Updated customer profile",
"inputSchema": {
"additionalProperties": false,
"properties": {
"customer_id": {
"type": "string"
},
"first_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"last_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"phone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"address": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null
},
"tags": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"note": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"accepts_marketing": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"customer_id"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "update_discount_code",
"description": "Update a discount code's settings.\n\nArgs:\n code: The discount code to update\n active: Enable or disable the code\n value: New discount value\n usage_limit: New usage limit\n minimum_purchase: New minimum purchase amount\n minimum_tier: New minimum tier name (empty string to clear the restriction)\n\nReturns:\n The updated discount code",
"inputSchema": {
"additionalProperties": false,
"properties": {
"code": {
"type": "string"
},
"active": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"usage_limit": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"minimum_purchase": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null
},
"minimum_tier": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"code"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "update_inventory",
"description": "Update the inventory quantity for a product variant.\n\nArgs:\n variant_id: The product variant ID to update\n quantity: New quantity available (0 marks as out of stock)\n\nReturns:\n Updated inventory item with previous and new quantity",
"inputSchema": {
"additionalProperties": false,
"properties": {
"variant_id": {
"type": "string"
},
"quantity": {
"type": "integer"
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"variant_id",
"quantity"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "update_my_customer",
"description": "Update the current customer's own profile. Only customer-editable fields\nare accepted \u2014 admin fields like tags, note, ordersCount, totalSpent, and\nloyalty balances cannot be changed here.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"first_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"last_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"phone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"address": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null
},
"accepts_marketing": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"store_id": {
"default": "default",
"type": "string"
}
},
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "update_order",
"description": "Update an existing order's fulfillment status, contact info, or metadata.\n\nArgs:\n order_id: The order ID to update\n financial_status: New financial status. Use cancel_order or the return workflow for VOIDED, REFUNDED, or PARTIALLY_REFUNDED.\n fulfillment_status: New fulfillment status (UNFULFILLED, FULFILLED, PARTIALLY_FULFILLED)\n note: Order note\n tags: Order tags\n email: Customer email. Existing order ownership cannot be reassigned.\n phone: Customer phone\n shipping_address: Updated shipping address\n\nReturns:\n Updated order details",
"inputSchema": {
"additionalProperties": false,
"properties": {
"order_id": {
"type": "string"
},
"financial_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"fulfillment_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"note": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"tags": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"phone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"shipping_address": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"order_id"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "update_policy",
"description": "Update a store policy's title or content.\n\nArgs:\n policy_id: The policy ID to update\n title: New title\n body: New content (HTML)\n\nReturns:\n The updated policy",
"inputSchema": {
"additionalProperties": false,
"properties": {
"policy_id": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"body": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"policy_id"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "update_product",
"description": "Update an existing product's details.\n\nArgs:\n product_id: The product ID to update\n title: New title\n description: New description\n product_type: New product type\n vendor: New vendor name\n tags: New tags (replaces existing)\n\nReturns:\n The updated product",
"inputSchema": {
"additionalProperties": false,
"properties": {
"product_id": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"product_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"vendor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"tags": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"product_id"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "update_return",
"description": "Update a return's status or note. When status is set to REFUNDED, the\nlinked order's financial status is automatically updated to REFUNDED or\nPARTIALLY_REFUNDED based on the refund amount.\n\nArgs:\n return_id: The return ID to update\n status: New status (REQUESTED, APPROVED, RECEIVED, REFUNDED, REJECTED)\n note: Internal note\n\nReturns:\n Updated return details",
"inputSchema": {
"additionalProperties": false,
"properties": {
"return_id": {
"type": "string"
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"note": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"return_id"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "update_review",
"description": "Update or moderate a review. Use status to publish, hide, or mark as pending.\n\nArgs:\n review_id: The review ID to update\n status: New status (PENDING, PUBLISHED, HIDDEN)\n title: New review title\n body: New review text\n rating: New rating (1-5)\n\nReturns:\n Updated review",
"inputSchema": {
"additionalProperties": false,
"properties": {
"review_id": {
"type": "string"
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"body": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"rating": {
"anyOf": [
{
"maximum": 5,
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"review_id"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "update_shipping_method",
"description": "Update a shipping method's details.\n\nArgs:\n shipping_method_id: The shipping method ID to update\n title: New display name\n price: New price\n estimated_days: New estimated delivery time\n active: Enable or disable this method\n\nReturns:\n The updated shipping method",
"inputSchema": {
"additionalProperties": false,
"properties": {
"shipping_method_id": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"price": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"estimated_days": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"active": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"store_id": {
"default": "default",
"type": "string"
}
},
"required": [
"shipping_method_id"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
}
],
"toolsets": {
"read": [
"get_cart",
"get_collection",
"get_customer",
"get_discount_code",
"get_inventory",
"get_loyalty_balance",
"get_loyalty_program",
"get_loyalty_tier",
"get_my_customer",
"get_my_loyalty_balance",
"get_my_loyalty_tier",
"get_my_order",
"get_order",
"get_product_details",
"get_product_reviews",
"get_return",
"list_carts",
"list_collections",
"list_customers",
"list_discount_codes",
"list_loyalty_tiers",
"list_my_orders",
"list_orders",
"list_policies",
"list_returns",
"list_shipping_methods",
"list_stores",
"search_customers",
"search_shop_catalog",
"search_shop_policies_and_faqs"
],
"write": [
"add_to_collection",
"award_points",
"cancel_order",
"configure_loyalty_program",
"create_collection",
"create_customer",
"create_discount_code",
"create_my_return",
"create_my_review",
"create_order",
"create_policy",
"create_product",
"create_return",
"create_review",
"create_shipping_method",
"delete_discount_code",
"delete_policy",
"delete_product",
"delete_review",
"delete_shipping_method",
"redeem_my_points",
"redeem_points",
"remove_from_collection",
"update_cart",
"update_customer",
"update_discount_code",
"update_inventory",
"update_my_customer",
"update_order",
"update_policy",
"update_product",
"update_return",
"update_review",
"update_shipping_method"
],
"catalog": [
"create_product",
"delete_product",
"get_product_details",
"search_shop_catalog",
"search_shop_policies_and_faqs",
"update_product"
],
"cart": [
"get_cart",
"list_carts",
"update_cart"
],
"orders": [
"cancel_order",
"create_order",
"get_order",
"list_orders",
"update_order"
],
"customers": [
"create_customer",
"get_customer",
"list_customers",
"search_customers",
"update_customer"
],
"inventory_collections": [
"add_to_collection",
"create_collection",
"get_collection",
"get_inventory",
"list_collections",
"remove_from_collection",
"update_inventory"
],
"reviews_returns": [
"create_return",
"create_review",
"delete_review",
"get_product_reviews",
"get_return",
"list_returns",
"update_return",
"update_review"
],
"discounts": [
"create_discount_code",
"delete_discount_code",
"get_discount_code",
"list_discount_codes",
"update_discount_code"
],
"policies": [
"create_policy",
"delete_policy",
"list_policies",
"search_shop_policies_and_faqs",
"update_policy"
],
"shipping": [
"create_shipping_method",
"delete_shipping_method",
"list_shipping_methods",
"update_shipping_method"
],
"loyalty": [
"award_points",
"configure_loyalty_program",
"get_loyalty_balance",
"get_loyalty_program",
"get_loyalty_tier",
"list_loyalty_tiers",
"redeem_points"
],
"self": [
"create_my_return",
"create_my_review",
"get_my_customer",
"get_my_loyalty_balance",
"get_my_loyalty_tier",
"get_my_order",
"list_my_orders",
"redeem_my_points",
"update_my_customer"
],
"customer": [
"create_my_return",
"create_my_review",
"create_order",
"get_cart",
"get_my_customer",
"get_my_loyalty_balance",
"get_my_loyalty_tier",
"get_my_order",
"get_product_details",
"list_loyalty_tiers",
"list_my_orders",
"list_shipping_methods",
"redeem_my_points",
"search_shop_catalog",
"search_shop_policies_and_faqs",
"update_cart",
"update_my_customer"
],
"business": [
"add_to_collection",
"award_points",
"cancel_order",
"configure_loyalty_program",
"create_collection",
"create_customer",
"create_discount_code",
"create_policy",
"create_product",
"create_shipping_method",
"delete_discount_code",
"delete_policy",
"delete_product",
"delete_review",
"delete_shipping_method",
"get_collection",
"get_customer",
"get_discount_code",
"get_inventory",
"get_loyalty_balance",
"get_loyalty_program",
"get_loyalty_tier",
"get_order",
"get_product_reviews",
"get_return",
"list_collections",
"list_customers",
"list_discount_codes",
"list_loyalty_tiers",
"list_orders",
"list_policies",
"list_returns",
"list_shipping_methods",
"list_stores",
"redeem_points",
"remove_from_collection",
"search_customers",
"search_shop_catalog",
"search_shop_policies_and_faqs",
"update_customer",
"update_discount_code",
"update_inventory",
"update_order",
"update_policy",
"update_product",
"update_return",
"update_review",
"update_shipping_method"
],
"core": [
"create_order",
"get_cart",
"get_order",
"get_product_details",
"list_carts",
"list_orders",
"list_shipping_methods",
"search_shop_catalog",
"update_cart",
"search_shop_policies_and_faqs"
],
"toolathlon_legacy": [
"get_cart",
"get_product_details",
"list_carts",
"search_shop_catalog",
"search_shop_policies_and_faqs",
"update_cart"
],
"state": [
"export_state",
"import_state"
]
}
}