Purpose
Use the printify CLI to manage shops, products, uploads, orders, and catalog lookups.
Tooling
Use the installed CLI directly from PATH:
printify <subcommand> [options]
Global flags:
--timeout-secs <seconds>(optional, default 30): HTTP timeout.
Core commands:
statusauthorize-urlverifyset-token(reads token from stdin)disconnectshopsproducts --shop-id <id> [--product-id <id>]create-product --shop-id <id> --json '<json>'update-product --shop-id <id> --product-id <id> --json '<json>'delete-product --shop-id <id> --product-id <id>publish-product --shop-id <id> --product-id <id>orders --shop-id <id> [--order-id <id>]create-order --shop-id <id> --json '<json>'upload --file <path>blueprints [--blueprint-id <id>]print-providers --blueprint-id <id>variants --blueprint-id <id> --provider-id <id>shipping --blueprint-id <id> --provider-id <id>
JSON output contract:
status: parseok,status,connect_url,disconnect_url, andreasonauthorize-url: parseok,authorize_url, andconnect_urlverify: parseok,action, anderrorset-token: parseok,status, andreasondisconnect: parseok,action,config_path,removed- parse
ok,status,body, anderror - Read results retain Printify's raw timestamps and add semantic UTC and user-local forms for record creation/update and order production, fulfillment, delivery, or cancellation times.
Auth
First-use setup:
- Run
printify statusto check connection state. - If not connected and
connect_urlis present, replace<connect_url>with the returned URL and share exactly this Markdown link:[Connect Printify](<connect_url>); do not paste the raw URL separately. - If
connect_urlis missing, runprintify authorize-urland share the returnedconnect_urlthe same way. - The user can generate a token at
https://printify.com/app/account/api. - If the user provides a token through the CLI flow, store it only through
printify set-token; do not write auth files directly. - Run
printify verifyafter setup when you need to confirm the token works. - Never print the access token in chat output.
Operating Rules
- Always check
printify statusbefore API calls. If not connected, guide the user through the auth setup above. - List shops before performing shop-specific operations to get the correct
shop_id. - Confirm with the user before creating, updating, or publishing products. Product deletion may proceed from a clear, unambiguous request without an additional confirmation.
- Confirm with the user before creating orders (orders may trigger charges).
- When browsing the catalog, start with
blueprintsthen drill intoprint-providersandvariants. - On HTTP 401, tell the user their token may be expired and to generate a new one at
https://printify.com/app/account/api.