{
  "info": {
    "name": "Shopify — mcp.ai",
    "description": "REST API for the Shopify MCP. Set {{apiKey}} to a workspace key (sk_live_…) created at https://mcp.ai/settings/api-keys.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{apiKey}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.mcp.ai/api/shopify",
      "type": "string"
    },
    {
      "key": "apiKey",
      "value": "sk_live_...",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "shopify_add_product_to_collection",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/add/product/to/collection",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "add",
            "product",
            "to",
            "collection"
          ]
        },
        "description": "DEPRECATED: Use SHOPIFY_ADDS_A_PRODUCT_TO_A_CUSTOM_COLLECTION instead. Adds a product to an existing *custom collection*, optionally specifying its `position` if the collection is manually sorted.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"position\": 0,\n  \"product_id\": \"\",\n  \"collection_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "shopify_count_product_images",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/count/product/images",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "count",
            "product",
            "images"
          ]
        },
        "description": "Retrieves the total count of images for a specific Shopify product. Use when you need to know how many images are associated with a product.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"product_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "shopify_create_custom_collection",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/custom/collection",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "custom",
            "collection"
          ]
        },
        "description": "Create a new custom (manually curated) collection in Shopify. Does not support smart collections. Use when you need to manually curate and group products for easier store browsing. Custom collections ",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"image\": {},\n  \"title\": \"\",\n  \"handle\": \"\",\n  \"collects\": \"\",\n  \"body_html\": \"\",\n  \"published\": false,\n  \"metafields\": \"\",\n  \"sort_order\": \"\",\n  \"published_scope\": \"\",\n  \"template_suffix\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "shopify_create_customer",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/customer",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "customer"
          ]
        },
        "description": "Create a new customer in Shopify. Use to add a customer record to the store with contact details, addresses, and marketing preferences. Requires at least one of: email, phone, or both first_name and l",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"note\": \"\",\n  \"tags\": \"\",\n  \"email\": \"\",\n  \"phone\": \"\",\n  \"password\": \"\",\n  \"addresses\": \"\",\n  \"last_name\": \"\",\n  \"first_name\": \"\",\n  \"verified_email\": false,\n  \"send_email_invite\": false,\n  \"send_email_welcome\": false,\n  \"password_confirmation\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "shopify_create_order",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/order",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "order"
          ]
        },
        "description": "Create a fully committed (real) order in Shopify without payment processing. Use when programmatically generating orders with line items, customer information, and addresses. Creates a live order imme",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"note\": \"\",\n  \"tags\": \"\",\n  \"email\": \"\",\n  \"phone\": \"\",\n  \"currency\": \"\",\n  \"customer\": {},\n  \"total_tax\": \"\",\n  \"line_items\": \"\",\n  \"send_receipt\": false,\n  \"transactions\": \"\",\n  \"discount_codes\": \"\",\n  \"shipping_lines\": \"\",\n  \"billing_address\": {},\n  \"financial_status\": \"\",\n  \"shipping_address\": {},\n  \"fulfillment_status\": \"\",\n  \"inventory_behaviour\": \"\",\n  \"send_fulfillment_receipt\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "shopify_create_product",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/product",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "product"
          ]
        },
        "description": "DEPRECATED: Use SHOPIFY_CREATES_A_NEW_PRODUCT instead. Creates a new product in a Shopify store; a product title is generally required. Note: The Product REST API is deprecated as of API version 2025-",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"title\": \"\",\n  \"vendor\": \"\",\n  \"variants\": \"\",\n  \"body_html\": \"\",\n  \"product_type\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "shopify_create_product_image",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/product/image",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "product",
            "image"
          ]
        },
        "description": "DEPRECATED: Use SHOPIFY_CREATE_A_NEW_PRODUCT_IMAGE instead. Creates a new product image for a Shopify product. Use this tool to add images to products either by providing a publicly accessible image U",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"image\": {},\n  \"product_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "shopify_delete_custom_collection",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/delete/custom/collection",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "delete",
            "custom",
            "collection"
          ]
        },
        "description": "DEPRECATED: Use SHOPIFY_DELETES_A_CUSTOM_COLLECTION instead. Permanently deletes a custom collection from a Shopify store using its `collection_id`; this action is irreversible and requires a valid, e",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"collection_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "shopify_delete_product",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/delete/product",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "delete",
            "product"
          ]
        },
        "description": "Permanently deletes a product from a Shopify store by its product ID. This action is irreversible - deleted products cannot be recovered. Deleting a product also removes all associated variants, image",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"product_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "shopify_delete_product_image",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/delete/product/image",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "delete",
            "product",
            "image"
          ]
        },
        "description": "Deletes a specific image from a product in Shopify, requiring the `product_id` of an existing product and the `image_id` of an image currently associated with that product.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"image_id\": \"\",\n  \"product_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "shopify_get_collection_by_id",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/collection/by/id",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "collection",
            "by",
            "id"
          ]
        },
        "description": "Retrieves a specific Shopify collection by its `collection_id`, optionally filtering returned data to specified `fields`.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"fields\": \"\",\n  \"collection_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "shopify_get_collects",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/collects",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "collects"
          ]
        },
        "description": "Retrieves a list of collects from a Shopify store, where a collect links a product to a custom collection. Returns only collect mapping records (collect_id, collection_id, product_id, position, etc.),",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"fields\": \"\",\n  \"since_id\": 0,\n  \"product_id\": 0,\n  \"collection_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "shopify_get_collects_count",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/collects/count",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "collects",
            "count"
          ]
        },
        "description": "Retrieves a count of collects (product-collection relationships). Use when you need to know the total number of collects, optionally filtered by collection_id or product_id.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"product_id\": \"\",\n  \"collection_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "shopify_get_custom_collections",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/custom/collections",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "custom",
            "collections"
          ]
        },
        "description": "Retrieves a list of custom collections from a Shopify store. Supports filtering by IDs, handle, title, product ID, publication status, and date ranges (published/updated). Use the fields parameter to ",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"ids\": \"\",\n  \"limit\": 0,\n  \"title\": \"\",\n  \"fields\": \"\",\n  \"handle\": \"\",\n  \"since_id\": 0,\n  \"product_id\": 0,\n  \"updated_at_max\": \"\",\n  \"updated_at_min\": \"\",\n  \"published_at_max\": \"\",\n  \"published_at_min\": \"\",\n  \"published_status\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "shopify_get_custom_collections_count",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/custom/collections/count",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "custom",
            "collections",
            "count"
          ]
        },
        "description": "Retrieves the total count of custom collections in a Shopify store with optional filters. Use this action to get the number of custom collections, optionally filtered by: - Product ID (collections con",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"title\": \"\",\n  \"product_id\": \"\",\n  \"updated_at_max\": \"\",\n  \"updated_at_min\": \"\",\n  \"published_at_max\": \"\",\n  \"published_at_min\": \"\",\n  \"published_status\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "shopify_get_customer",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/customer",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "customer"
          ]
        },
        "description": "Retrieve a single customer by their unique identifier. Use when you need to fetch detailed information about a specific customer.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"fields\": \"\",\n  \"customer_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "shopify_get_customer_orders",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/customer/orders",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "customer",
            "orders"
          ]
        },
        "description": "Retrieves all orders for a specific, existing customer in Shopify using their unique customer ID.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"status\": \"\",\n  \"since_id\": 0,\n  \"page_info\": \"\",\n  \"customer_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "shopify_get_order_list",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/order/list",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "order",
            "list"
          ]
        },
        "description": "Retrieves a list of orders from Shopify with optional filters and pagination.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"ids\": \"\",\n  \"name\": \"\",\n  \"limit\": 0,\n  \"fields\": \"\",\n  \"status\": \"\",\n  \"since_id\": \"\",\n  \"page_info\": \"\",\n  \"created_at_max\": \"\",\n  \"created_at_min\": \"\",\n  \"updated_at_max\": \"\",\n  \"updated_at_min\": \"\",\n  \"financial_status\": \"\",\n  \"processed_at_max\": \"\",\n  \"processed_at_min\": \"\",\n  \"attribution_app_id\": \"\",\n  \"fulfillment_status\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "shopify_get_ordersby_id",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/ordersby/id",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "ordersby",
            "id"
          ]
        },
        "description": "Retrieves a specific Shopify order by its unique ID, which must correspond to an existing order.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"fields\": \"\",\n  \"order_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "shopify_get_product",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/product",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "product"
          ]
        },
        "description": "Retrieves details for an existing Shopify product using its unique product ID.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"product_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "shopify_get_product_image",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/product/image",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "product",
            "image"
          ]
        },
        "description": "Retrieve a single product image by ID for a specific product. Use when you need to get details about a specific image associated with a product.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"image_id\": \"\",\n  \"product_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "shopify_get_product_images",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/product/images",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "product",
            "images"
          ]
        },
        "description": "Retrieves all images for a Shopify product, specified by its `product_id` which must correspond to an existing product.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"fields\": \"\",\n  \"since_id\": \"\",\n  \"product_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "shopify_get_products",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/products",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "products"
          ]
        },
        "description": "Retrieves a list of products from a Shopify store. Results are paginated; for large catalogs, use SHOPIFY_GET_PRODUCTS_PAGINATED to iterate all pages, as this tool may return only a partial set. Produ",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"ids\": \"\",\n  \"limit\": 0,\n  \"since_id\": 0,\n  \"page_info\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "shopify_get_products_in_collection",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/products/in/collection",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "products",
            "in",
            "collection"
          ]
        },
        "description": "Retrieves products that belong to a specific Shopify collection. Returns detailed product information including variants, images, and options. Products are sorted according to the collection's configu",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"collection_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "shopify_get_shop_details",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/shop/details",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "shop",
            "details"
          ]
        },
        "description": "Retrieves comprehensive administrative information about the authenticated Shopify store. The returned `iana_timezone` field is critical for date-based filtering in other tools (e.g., `created_at_min`",
        "body": {
          "mode": "raw",
          "raw": "{}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "shopify_update_order",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/update/order",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "update",
            "order"
          ]
        },
        "description": "Updates mutable fields on an existing Shopify order.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"id\": \"\",\n  \"note\": \"\",\n  \"tags\": \"\",\n  \"email\": \"\",\n  \"phone\": \"\",\n  \"po_number\": \"\",\n  \"metafields\": \"\",\n  \"tax_exempt\": false,\n  \"send_receipt\": false,\n  \"billing_address\": {},\n  \"note_attributes\": \"\",\n  \"shipping_address\": {},\n  \"buyer_accepts_marketing\": false,\n  \"send_fulfillment_receipt\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    }
  ]
}