{
  "info": {
    "name": "Printify — mcp.ai",
    "description": "REST API for the Printify 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/printify",
      "type": "string"
    },
    {
      "key": "apiKey",
      "value": "sk_live_...",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "printify_archive_upload",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/archive/upload",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "archive",
            "upload"
          ]
        },
        "description": "Irreversibly archive an image in the connected merchant's Printify media library. This cannot be undone, removes it from normal media-library use, and may affect future product editing, but does not r",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"image_id\": \"\",\n  \"confirm_archive\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "printify_calculate_order_shipping",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/calculate/order/shipping",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "calculate",
            "order",
            "shipping"
          ]
        },
        "description": "Calculate available shipping-cost estimates for proposed line items and a destination. This is quote-only: it does not create an order, send anything to production, or charge the merchant, despite req",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"shop_id\": 0,\n  \"address_to\": {},\n  \"line_items\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "printify_create_product",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/product",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "product"
          ]
        },
        "description": "Create a new product draft in a Printify shop. This changes merchant data but does not publish the product or submit an order. Validate blueprint, provider, variant, print-position, and uploaded image",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"title\": \"\",\n  \"shop_id\": 0,\n  \"variants\": \"\",\n  \"description\": \"\",\n  \"print_areas\": \"\",\n  \"blueprint_id\": 0,\n  \"print_provider_id\": 0,\n  \"safety_information\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "printify_create_webhook",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/webhook",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "webhook"
          ]
        },
        "description": "Create a persistent webhook subscription for a Printify shop. Printify sends real event payloads to the HTTPS callback URL. An optional signing secret can be supplied for receiver-side X-Pfy-Signature",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"url\": \"\",\n  \"topic\": \"\",\n  \"secret\": \"\",\n  \"shop_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "printify_delete_product",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/delete/product",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "delete",
            "product"
          ]
        },
        "description": "Permanently delete a product from a Printify shop. This cannot be undone and does not cancel or refund existing orders. Read the product first and verify both IDs before confirming deletion.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"shop_id\": 0,\n  \"product_id\": \"\",\n  \"confirm_delete\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "printify_delete_webhook",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/delete/webhook",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "delete",
            "webhook"
          ]
        },
        "description": "Permanently delete a Printify webhook subscription so future events are no longer delivered. The expected callback host must match the subscription, which helps prevent deletion of the wrong webhook.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"shop_id\": 0,\n  \"webhook_id\": \"\",\n  \"expected_host\": \"\",\n  \"confirm_delete\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "printify_get_blueprint",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/blueprint",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "blueprint"
          ]
        },
        "description": "Get the full catalog record for one Printify product blueprint, including its description and images. Use SEARCH_BLUEPRINTS first when the blueprint ID is unknown.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"blueprint_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "printify_get_order",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/order",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "order"
          ]
        },
        "description": "Get complete details for one Printify order, including its recipient address, line items, status, shipping method, shipments, and timestamps. This call is read-only. All monetary amounts are integer m",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"shop_id\": 0,\n  \"order_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "printify_get_product",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/product",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "product"
          ]
        },
        "description": "Get the complete Printify record for one product in a shop, including variants, print areas, images, visibility, and sales-channel properties.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"shop_id\": 0,\n  \"product_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "printify_get_shipping_details",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/shipping/details",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "shipping",
            "details"
          ]
        },
        "description": "Get per-variant shipping costs and handling-time ranges for one advertised V2 shipping method. Monetary amounts are integer minor currency units, not decimal major units. Call LIST_SHIPPING_METHODS fi",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"blueprint_id\": 0,\n  \"shipping_method\": \"\",\n  \"print_provider_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "printify_list_blueprint_print_providers",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/blueprint/print/providers",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "blueprint",
            "print",
            "providers"
          ]
        },
        "description": "List print providers that can fulfill a specific Printify blueprint. Use a returned provider ID with variant and shipping tools before creating a product.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"blueprint_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "printify_list_blueprint_variants",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/blueprint/variants",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "blueprint",
            "variants"
          ]
        },
        "description": "List purchasable variants and print placeholders for a blueprint and print provider. Variant IDs and placeholder dimensions are required inputs when configuring a product.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"blueprint_id\": 0,\n  \"print_provider_id\": 0,\n  \"include_out_of_stock\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "printify_list_orders",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/orders",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "orders"
          ]
        },
        "description": "Return one page of orders in a Printify shop, optionally filtered by provider status or exact SKU. This is read-only and does not submit, cancel, or send orders to production. All monetary amounts are",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"sku\": \"\",\n  \"limit\": 0,\n  \"status\": \"\",\n  \"shop_id\": 0,\n  \"next_cursor\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "printify_list_products",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/products",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "products"
          ]
        },
        "description": "Return one page of products in a Printify shop. Use next_cursor to continue without automatically exhausting a potentially large shop catalog.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"shop_id\": 0,\n  \"next_cursor\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "printify_list_shipping_methods",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/shipping/methods",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "shipping",
            "methods"
          ]
        },
        "description": "List the V2 shipping methods actually available for a Printify blueprint and print provider. Availability varies by pair, so call this before requesting method-specific shipping details.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"blueprint_id\": 0,\n  \"print_provider_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "printify_list_shops",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/shops",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "shops"
          ]
        },
        "description": "List shops available to the connected Printify merchant account. Use the returned shop IDs in product, order, and webhook workflows; a shop may be disconnected from a sales channel while remaining rea",
        "body": {
          "mode": "raw",
          "raw": "{}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "printify_list_uploads",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/uploads",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "uploads"
          ]
        },
        "description": "Return one page of images in the connected merchant's Printify media library. Use image IDs and preview metadata when configuring product print areas.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"next_cursor\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "printify_list_webhooks",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/webhooks",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "webhooks"
          ]
        },
        "description": "List webhook subscriptions configured for a Printify shop. The live API returns a complete array, so this action does not expose pagination controls.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"shop_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "printify_publish_product",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/publish/product",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "publish",
            "product"
          ]
        },
        "description": "Start asynchronous publication of one or more fields selected in fields_to_publish from Printify to the shop's connected sales channel. This can make product content externally visible but does not cr",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"shop_id\": 0,\n  \"product_id\": \"\",\n  \"fields_to_publish\": \"\",\n  \"confirm_external_publish\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "printify_search_blueprints",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/search/blueprints",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "search",
            "blueprints"
          ]
        },
        "description": "Search Printify's product blueprint catalog by case-insensitive text in title, brand, or model. The upstream catalog is unpaginated, so this tool fetches it once and returns only bounded matching summ",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"query\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "printify_simulate_webhook",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/simulate/webhook",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "simulate",
            "webhook"
          ]
        },
        "description": "Ask Printify to send a simulated event to an existing webhook's external callback URL. This causes a real outbound request and may activate downstream automation, but does not create a Printify order ",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"payload\": {},\n  \"shop_id\": 0,\n  \"webhook_id\": \"\",\n  \"confirm_external_delivery\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "printify_unpublish_product",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/unpublish/product",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "unpublish",
            "product"
          ]
        },
        "description": "Notify Printify that a product has been unpublished from the connected sales channel. This irreversibly changes publication-state metadata but does not delete the Printify product. Use only after the ",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"shop_id\": 0,\n  \"product_id\": \"\",\n  \"confirm_unpublish\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "printify_update_product",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/update/product",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "update",
            "product"
          ]
        },
        "description": "Update selected fields of an existing Printify product. This changes merchant product data but does not publish those changes to the connected sales channel. Read the product first and provide at leas",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"title\": \"\",\n  \"shop_id\": 0,\n  \"variants\": \"\",\n  \"product_id\": \"\",\n  \"description\": \"\",\n  \"print_areas\": \"\",\n  \"blueprint_id\": 0,\n  \"print_provider_id\": 0,\n  \"safety_information\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "printify_update_webhook",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/update/webhook",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "update",
            "webhook"
          ]
        },
        "description": "Replace the callback URL of an existing Printify webhook subscription. This changes where future real event payloads are delivered; it does not change the subscribed topic or signing secret.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"url\": \"\",\n  \"shop_id\": 0,\n  \"webhook_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "printify_upload_image",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/upload/image",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "upload",
            "image"
          ]
        },
        "description": "Add an image to the connected merchant's Printify media library from either a public HTTP(S) URL or base64 content. This creates persistent merchant media but does not create or publish a product or i",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"url\": \"\",\n  \"contents\": \"\",\n  \"file_name\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    }
  ]
}