### Publish a Product Source: https://developers.printify.com/openapi.json This example shows how to publish a product by specifying which fields to include. All fields are set to true in this example. ```json { "title": true, "description": true, "images": true, "variants": true, "tags": true, "keyFeatures": true, "shipping_template": true } ``` -------------------------------- ### Resource Property Examples Source: https://developers.printify.com/ Examples of resource properties like id, type, and data. ```json "id": "5cb87a8cd490a2ccb256cec4" ``` ```json "type": "product" ``` ```json "data": { "shop_id": 1234567, "reason": "Request timed out" } ``` -------------------------------- ### Product Update Response Example Source: https://developers.printify.com/ This is an example of a successful response when updating a product. It includes details of the product, its variants, options, and images. ```JSON { "id": "5d39b411749d0a000f30e0f4", "title": "Product", "description": "Good product", "safety_information": "GPSR information: John Doe, test@example.com, 123 Main St, Apt 1, New York, NY, 10001, US Product information: Gildan, 5000, 2 year warranty in EU and UK as per Directive 1999/44/EC Warnings, Hazzard: No warranty, US Care instructions: Machine wash: warm (max 40C or 105F), Non-chlorine: bleach as needed, Tumble dry: medium, Do not iron, Do not dryclean", "tags": [ "Home & Living", "Stickers" ], "options": [ { "name": "Size", "type": "size", "values": [ { "id": 2017, "title": "2x2\"" }, { "id": 2018, "title": "3x3\"" }, { "id": 2019, "title": "4x4\"" }, { "id": 2020, "title": "6x6\"" } ] }, { "name": "Type", "type": "surface", "values": [ { "id": 2114, "title": "White" } ] } ], "variants": [ { "id": 45740, "sku": "866375988", "cost": 134, "price": 400, "title": "2x2\" / White", "grams": 10, "is_enabled": true, "is_default": true, "is_available": true, "is_printify_express_eligible": true, "options": [ 2017, 2114 ] }, { "id": 45742, "sku": "866375989", "cost": 149, "price": 400, "title": "3x3\" / White", "grams": 10, "is_enabled": true, "is_default": false, "is_available": true, "is_printify_express_eligible": true, "options": [ 2018, 2114 ] }, { "id": 45744, "sku": "866375990", "cost": 187, "price": 400, "title": "4x4\" / White", "grams": 10, "is_enabled": true, "is_default": false, "is_available": true, "is_printify_express_eligible": true, "options": [ 2019, 2114 ] }, { "id": 45746, "sku": "866375991", "cost": 216, "price": 400, "title": "6x6\" / White", "grams": 10, "is_enabled": true, "is_default": false, "is_available": true, "is_printify_express_eligible": true, "options": [ 2020, 2114 ] } ], "images": [ { "src": "https://images.printify.com/mockup/5d39b411749d0a000f30e0f4/45740/2187/product.jpg", "variant_ids": [ 45740 ], "position": "front", "is_default": true }, { "src": "https://images.printify.com/mockup/5d39b411749d0a000f30e0f4/45740/2188/product.jpg", "variant_ids": [ 45740 ], "position": "front", "is_default": false }, { "src": "https://images.printify.com/mockup/5d39b411749d0a000f30e0f4/45740/2189/product.jpg", "variant_ids": [ 45740 ], "position": "front", "is_default": false }, { "src": "https://images.printify.com/mockup/5d39b411749d0a000f30e0f4/45740/2190/product.jpg", "variant_ids": [ 45740 ], "position": "front", "is_default": false }, { "src": "https://images.printify.com/mockup/5d39b411749d0a000f30e0f4/45740/2191/product.jpg", "variant_ids": [ 45740 ], "position": "front", "is_default": false }, { "src": "https://images.printify.com/mockup/5d39b411749d0a000f30e0f4/45740/2192/product.jpg", "variant_ids": [ ``` -------------------------------- ### Create Product Response Example Source: https://developers.printify.com/ This is an example of the response received after successfully creating a product. It includes the product's ID, title, description, tags, options, and details about its variants. ```json { "id": "5d39b411749d0a000f30e0f4", "title": "Product", "description": "Good product", "safety_information": "GPSR information: John Doe, test@example.com, 123 Main St, Apt 1, New York, NY, 10001, US Product information: Gildan, 5000, 2 year warranty in EU and UK as per Directive 1999/44/EC Warnings, Hazzard: No warranty, US Care instructions: Machine wash: warm (max 40C or 105F), Non-chlorine: bleach as needed, Tumble dry: medium, Do not iron, Do not dryclean", "tags": [ "Home & Living", "Stickers" ], "options": [ { "name": "Size", "type": "size", "values": [ { "id": 2017, "title": "2x2" }, { "id": 2018, "title": "3x3" }, { "id": 2019, "title": "4x4" }, { "id": 2020, "title": "6x6" } ] }, { "name": "Type", "type": "surface", "values": [ { "id": 2114, "title": "White" } ] } ], "variants": [ { "id": 45740, "sku": "866375988", "cost": 134, "price": 400, "title": "2x2" / White", "grams": 10, "is_enabled": true, "is_default": true, "is_available": true, "is_printify_express_eligible": true, "options": [ 2017, 2114 ] }, { "id": 45742, "sku": "866375989", "cost": 149, "price": 400, "title": "3x3" / White", "grams": 10, "is_enabled": true, "is_default": false, "is_available": true, "is_printify_express_eligible": true, "options": [ 2018, 2114 ] }, { "id": 45744, "sku": "866375990", "cost": 187, "price": 400, "title": "4x4" / White", "grams": 10, "is_enabled": true ``` -------------------------------- ### Shop Properties Example Source: https://developers.printify.com/ This example shows the structure of a shop object, including its unique ID, title, and associated sales channel. ```JSON { "id": 12345, "title": "Shop's title", "sales_channel": "Sales channel name" } ``` -------------------------------- ### Product Publish Started Event Data (Create/Update) Source: https://developers.printify.com/ Data payload for product:publish:started event when action is 'create' or 'update'. ```json "data": { "shop_id": 1234567, "publish_details": { "title": true, "description": true, "images": true, "variants": true, "tags": true, "key_features": true, "shipping_template": true }, "action": "create" } ``` -------------------------------- ### Event Properties Example Source: https://developers.printify.com/ Example structure for event properties, including ID, type, timestamp, and resource details. ```json { "id": "653b6be8-2ff7-4ab5-a7a6-6889a8b3bbf5", "type": "order:created", "created_at": "2017-04-18 13:24:28+00:00", "resource": { "id": "653b6be8-2ff7-4ab5-a7a6-6889a8b3bbf5", "type": "product", "data": { "shop_id": 1234567, "reason": "Request timed out" } } } ``` -------------------------------- ### Product Publish Started Event Data (Delete) Source: https://developers.printify.com/ Data payload for product:publish:started event when action is 'delete'. ```json "data": { "action": "delete" } ``` -------------------------------- ### Order Submission: Line Item by SKU Source: https://developers.printify.com/ Example of ordering an existing product by providing the product variant's SKU. ```json { "line_items": [ { "sku": "MY-SKU", "quantity": 1, "external_id": "line-item-abc-001" } ] } ``` -------------------------------- ### Example Response for Blueprint Variants Source: https://developers.printify.com/ This is an example of the JSON response when retrieving variants for a blueprint. It includes variant IDs, titles, options (like color and size), placeholder details for printing, and supported decoration methods. ```json { "id": 3, "title": "DJ", "variants": [ { "id": 17390, "title": "Heather Grey / XS", "options": { "color": "Heather Grey", "size": "XS" }, "placeholders": [ { "position": "back", "decoration_method": "dtf", "height": 3995, "width": 3153 }, { "position": "front", "decoration_method": "embroidery", "height": 3995, "width": 3153 } ], "decoration_methods": [ "dtf", "embroidery" ] }, { "id": 17426, "title": "Solid Black / XS", "options": { "color": "Solid Black", "size": "XS" }, "placeholders": [ { "position": "back", "decoration_method": "dtf", "height": 3995, "width": 3153 }, { "position": "front", "decoration_method": "embroidery", "height": 3995, "width": 3153 } ], "decoration_methods": [ "dtf", "embroidery" ] }, { "id": 17435, "title": "Solid Scarlet / XS", "options": { "color": "Solid Scarlet", "size": "XS" }, "placeholders": [ { "position": "back", "decoration_method": "dtf", "height": 3995, "width": 3153 }, { "position": "front", "decoration_method": "embroidery", "height": 3995, "width": 3153 } ], "decoration_methods": [ "dtf", "embroidery" ] }, { "id": 17444, "title": "Solid Cool Blue / XS", "options": { "color": "Solid Cool Blue", "size": "XS" }, "placeholders": [ { "position": "back", "decoration_method": "dtf", "height": 3995, "width": 3153 }, { "position": "front", "decoration_method": "embroidery", "height": 3995, "width": 3153 } ], "decoration_methods": [ "dtf", "embroidery" ] }, { "id": 17453, "title": "Solid Cream / XS", "options": { "color": "Solid Cream", "size": "XS" }, "placeholders": [ { "position": "back", "decoration_method": "dtf", "height": 3995, "width": 3153 }, { "position": "front", "decoration_method": "embroidery", "height": 3995, "width": 3153 } ], "decoration_methods": [ "dtf", "embroidery" ] }, { "id": 17462, "title": "Solid Dark Chocolate / XS", "options": { "color": "Solid Dark Chocolate", "size": "XS" }, "placeholders": [ { "position": "back", "decoration_method": "dtf", "height": 3995, "width": 3153 }, { "position": "front", "decoration_method": "embroidery", "height": 3995, "width": 3153 } ], "decoration_methods": [ "dtf", "embroidery" ] } ] } ``` -------------------------------- ### Placeholder Properties Example Source: https://developers.printify.com/ Defines the properties of a placeholder, specifying its position, associated decoration method, and dimensions in pixels. ```json "position": "front" ``` ```json "decoration_method": "dtf" ``` ```json "height": 3995 ``` ```json "width": 3153 ``` -------------------------------- ### Product Publish Started Event Source: https://developers.printify.com/openapi.json This event is triggered when a product publish process has started. It can be used to track the status of product publications. ```APIDOC ## Event: productPublishStarted ### Description This event signifies the beginning of a product publishing process. It can be used for tracking and managing product publication workflows. ### Type `product:publish:started` ### Resource Type `product` ### Data Schema This event's data can be either `productPublishStartedDataCreate` or `productPublishStartedDataDelete`. #### productPublishStartedDataCreate ##### Properties - **tags** (boolean) - Optional - Indicates if tags are included. - **images** (boolean) - Optional - Indicates if images are included. - **key_features** (boolean) - Optional - Indicates if key features are included. - **shipping_template** (boolean) - Optional - Indicates if a shipping template is included. - **action** (string) - Required - The action to be performed, must be `create`. - **out_of_stock_publishing** (integer) - Optional - Specifies the out-of-stock publishing behavior. #### productPublishStartedDataDelete ##### Properties - **action** (string) - Required - The action to be performed, must be `delete`. ``` -------------------------------- ### Set Product Publish Status to Failed Source: https://developers.printify.com/openapi.json Use this example to set the publish status of a product to failed. It requires a reason for the failure. ```json { "reason": "Request timed out" } ``` -------------------------------- ### Print Details Properties Example Source: https://developers.printify.com/ Shows optional properties for print details, including the print-on-side type and separator settings for clock blueprints. ```json "print_on_side": "regular" ``` ```json "separator_type": "Numbers" ``` ```json "separator_color": "#f100ff" ``` -------------------------------- ### Retrieve a Product Source: https://developers.printify.com/postman/printify_postman_collection.json GET request to retrieve details of a specific product from a shop. Requires shop ID and product ID. ```HTTP GET /v1/shops/{{shop_id}}/products/{{product_id}}.json ``` -------------------------------- ### Image Upload Response Source: https://developers.printify.com/ Example response structure after successfully uploading an image. ```json { "id": "5941187eb8e7e37b3f0e62e5", "file_name": "image.png", "height": 200, "width": 400, "size": 1021, "mime_type": "image/png", "preview_url": "https://example.com/image-storage/uuid3", "upload_time": "2020-01-09 07:29:43" } ``` -------------------------------- ### Shipping Handling Time Example Source: https://developers.printify.com/ Represents the standard shipping handling time for a blueprint, including the value and unit. ```json "handling_time": { "value":10, "unit": "day" } ``` -------------------------------- ### Order Submission: Basic Line Item Source: https://developers.printify.com/ Example of a basic line item for ordering an existing product using product_id and variant_id. ```json { "line_items": [ { "product_id": "5bfd0b66a342bcc9b5563216", "variant_id": 17887, "quantity": 1, "external_id": "line-item-abc-001" } ] } ``` -------------------------------- ### Order Submission: Creating Product with Line Item Source: https://developers.printify.com/ Example of a line item for creating a new product during order submission, requiring blueprint_id and print_areas. ```json { "line_items": [ { "print_provider_id": 5, "blueprint_id": 9, "variant_id": 17887, "print_areas": { "front": "https://images.example.com/image.png" }, "quantity": 1, "external_id": "line-item-abc-001" } ] } ``` -------------------------------- ### Product Variant Example Source: https://developers.printify.com/ Defines a product variant with its associated details like SKU, cost, price, and options. This is a part of the product creation payload. ```json { "id": 45740, "sku": "866375991", "cost": 216, "price": 400, "title": "6x6" / White", "grams": 10, "is_enabled": true, "is_default": false, "is_available": true, "is_printify_express_eligible": true, "options": [ 2019, 2114 ] } ``` ```json { "id": 45740, "sku": "866375991", "cost": 216, "price": 400, "title": "6x6" / White", "grams": 10, "is_enabled": true, "is_default": false, "is_available": true, "is_printify_express_eligible": true, "options": [ 2020, 2114 ] } ``` -------------------------------- ### Profile Properties Example Source: https://developers.printify.com/ Defines the properties of a shipping profile, including associated variant IDs, costs for the first and additional items, and target countries. ```json "variant_ids": [ 1,2,3,4,5,6,7 ] ``` ```json "first_item": { "currency": "USD", "cost": 1000 } ``` ```json "additional_items": { "currency": "USD", "cost": 1000 } ``` ```json "countries": [ "US" ] ``` -------------------------------- ### Create a Product with an Order (Simple Image Positioning) Source: https://developers.printify.com/ Create a new product and include it in an order by specifying the print provider, blueprint, variant, and a simple image URL for the print area. This is suitable for basic image placement. ```json { "external_id": "2750e210-39bb-11e9-a503-452618153e5a", "label": "00012", "line_items": [ { "print_provider_id": 5, "blueprint_id": 9, "variant_id": 17887, "print_areas": { "front": "https://images.example.com/image.png" }, "quantity": 1, "external_id": "line-item-abc-001" } ], "shipping_method": 1, "is_printify_express": false, "is_economy_shipping": false, "send_shipping_notification": false, "address_to": { "first_name": "John", "last_name": "Smith", "email": "example@msn.com", "phone": "0574 69 21 90", "country": "BE", "region": "", "address1": "ExampleBaan 121", "address2": "45", "city": "Retie", "zip": "2470" } } ``` -------------------------------- ### Create a product with an order (simple image positioning) Source: https://developers.printify.com/ This endpoint allows you to create a product and place an order for it simultaneously, with simple image positioning. ```APIDOC ## POST /v1/shops/{shop_id}/orders.json ### Description Create a product with an order (simple image positioning). ### Method POST ### Endpoint /v1/shops/{shop_id}/orders.json ### Request Body - **external_id** (string) - Required - Unique identifier for the order. - **label** (string) - Optional - Label for the order. - **line_items** (array) - Required - List of items in the order. - **print_provider_id** (integer) - Required - ID of the print provider. - **blueprint_id** (integer) - Required - ID of the blueprint. - **variant_id** (integer) - Required - ID of the product variant. - **print_areas** (object) - Required - Defines the print areas and images. - **front** (string) - URL of the image for the front print area. - **quantity** (integer) - Required - Quantity of the item. - **external_id** (string) - Required - Unique identifier for the line item. - **shipping_method** (integer) - Required - ID of the shipping method. - **is_printify_express** (boolean) - Optional - Whether to use Printify Express shipping. - **is_economy_shipping** (boolean) - Optional - Whether to use economy shipping. - **send_shipping_notification** (boolean) - Optional - Whether to send shipping notifications. - **address_to** (object) - Required - Shipping address details. - **first_name** (string) - Required. - **last_name** (string) - Required. - **email** (string) - Required. - **phone** (string) - Optional. - **country** (string) - Required. - **region** (string) - Optional. - **address1** (string) - Required. - **address2** (string) - Optional. - **city** (string) - Required. - **zip** (string) - Required. ### Request Example ```json { "external_id": "2750e210-39bb-11e9-a503-452618153e5a", "label": "00012", "line_items": [ { "print_provider_id": 5, "blueprint_id": 9, "variant_id": 17887, "print_areas": { "front": "https://images.example.com/image.png" }, "quantity": 1, "external_id": "line-item-abc-001" } ], "shipping_method": 1, "is_printify_express": false, "is_economy_shipping": false, "send_shipping_notification": false, "address_to": { "first_name": "John", "last_name": "Smith", "email": "example@msn.com", "phone": "0574 69 21 90", "country": "BE", "region": "", "address1": "ExampleBaan 121", "address2": "45", "city": "Retie", "zip": "2470" } } ``` ### Response #### Success Response (200) - **id** (string) - The ID of the created order. #### Response Example ```json { "id": "5a96f649b2439217d070f508" } ``` ``` -------------------------------- ### Create a product with an order (specifying print details) Source: https://developers.printify.com/ This endpoint allows creating a product and placing an order, with options to specify print details like mirroring. ```APIDOC ## POST /v1/shops/{shop_id}/orders.json ### Description Create a product with an order (with specifying print details for printing on sides). ### Method POST ### Endpoint /v1/shops/{shop_id}/orders.json ### Request Body - **external_id** (string) - Required - Unique identifier for the order. - **label** (string) - Optional - Label for the order. - **line_items** (array) - Required - List of items in the order. - **print_provider_id** (integer) - Required - ID of the print provider. - **blueprint_id** (integer) - Required - ID of the blueprint. - **variant_id** (integer) - Required - ID of the product variant. - **print_areas** (object) - Required - Defines the print areas and images. - **front** (string) - URL of the image for the front print area. - **print_details** (object) - Optional - Specific printing details. - **print_on_side** (string) - Optional - Specifies printing on a side (e.g., "mirror"). - **quantity** (integer) - Required - Quantity of the item. - **external_id** (string) - Required - Unique identifier for the line item. - **shipping_method** (integer) - Required - ID of the shipping method. - **is_printify_express** (boolean) - Optional - Whether to use Printify Express shipping. - **is_economy_shipping** (boolean) - Optional - Whether to use economy shipping. - **send_shipping_notification** (boolean) - Optional - Whether to send shipping notifications. - **address_to** (object) - Required - Shipping address details. - **first_name** (string) - Required. - **last_name** (string) - Required. - **email** (string) - Required. - **phone** (string) - Optional. - **country** (string) - Required. - **region** (string) - Optional. - **address1** (string) - Required. - **address2** (string) - Optional. - **city** (string) - Required. - **zip** (string) - Required. ### Request Example ```json { "external_id": "2750e210-39bb-11e9-a503-452618153e5a", "label": "00012", "line_items": [ { "print_provider_id": 5, "blueprint_id": 9, "variant_id": 17887, "print_areas": { "front": "https://images.example.com/image.png" }, "print_details": { "print_on_side": "mirror" }, "quantity": 1, "external_id": "line-item-abc-001" } ], "shipping_method": 1, "is_printify_express": false, "is_economy_shipping": false, "send_shipping_notification": false, "address_to": { "first_name": "John", "last_name": "Smith", "email": "example@msn.com", "phone": "0574 69 21 90", "country": "BE", "region": "", "address1": "ExampleBaan 121", "address2": "45", "city": "Retie", "zip": "2470" } } ``` ### Response #### Success Response (200) - **id** (string) - The ID of the created order. #### Response Example ```json { "id": "5a96f649b2439217d070f508" } ``` ``` -------------------------------- ### Example GPSR Response Source: https://developers.printify.com/ This is an example of the JSON response structure you can expect when retrieving a product's GPSR information. It includes details like contact information, product specifics, warnings, and care instructions. ```json [ { "title": "GPSR information", "text": "John Doe, test@example.com, 123 Main St, Apt 1, New York, NY, 10001, US" }, { "title": "Product information", "text": "Gildan, 5000, 2 year warranty in EU and UK as per Directive 1999/44/EC" }, { "title": "Warnings, Hazzard", "text": "No warranty, US" }, { "title": "Care instructions", "text": "Machine wash: warm (max 40C or 105F), Non-chlorine: bleach as needed, Tumble dry: medium, Do not iron, Do not dryclean" } ] ``` -------------------------------- ### Product Views with Files Source: https://developers.printify.com/ Lists blank blueprint images with dedicated print areas. Each view has a label, position, and files source URL for a list of variants. ```json "views": [ { "id": 34395, "label": "Front side", "position": "front", "files": [ { "src": "https://images.printify.com/api/catalog/618e1792f80e2001a840687b.svg", "variant_ids": [ 76255 ] }, ] } ] ``` -------------------------------- ### Example Request Body for Modifying Webhook Source: https://developers.printify.com/openapi.json This example shows a JSON object representing a modified webhook request, specifying a new URL for the callback. It's used within an OpenAPI schema to define expected request structures. ```json { "url": "https://example.com/callback/order/created" } ``` -------------------------------- ### Create a Product with an Order (Specifying Print Details) Source: https://developers.printify.com/ Create a product for an order and specify print details, such as 'mirror' for printing on sides. This allows for custom print effects beyond basic image placement. ```json { "external_id": "2750e210-39bb-11e9-a503-452618153e5a", "label": "00012", "line_items": [ { "print_provider_id": 5, "blueprint_id": 9, "variant_id": 17887, "print_areas": { "front": "https://images.example.com/image.png" }, "print_details": { "print_on_side": "mirror" }, "quantity": 1, "external_id": "line-item-abc-001" } ], "shipping_method": 1, "is_printify_express": false, "is_economy_shipping": false, "send_shipping_notification": false, "address_to": { "first_name": "John", "last_name": "Smith", "email": "example@msn.com", "phone": "0574 69 21 90", "country": "BE", "region": "", "address1": "ExampleBaan 121", "address2": "45", "city": "Retie", "zip": "2470" } } ``` -------------------------------- ### orderSentToProduction Source: https://developers.printify.com/openapi.json Triggered when an order is sent to the production queue. This event signifies the start of the manufacturing process for an order. ```APIDOC ## POST /order/sent-to-production ### Description Triggered when an order is sent to production. ### Method POST ### Endpoint /order/sent-to-production ### Request Body - **schema** (object) - Required - Schema defining the order sent to production event payload. ### Response #### Success Response (200) - **description** (string) - Webhook received successfully ``` -------------------------------- ### Publish a Product Source: https://developers.printify.com/ Initiates the publishing process for a product. This may trigger events for connected sales channels or custom integrations. The request body allows specifying which product details to include in the publish event. ```bash POST /v1/shops/{shop_id}/products/{product_id}/publish.json ``` ```json { "title": true, "description": true, "images": true, "variants": true, "tags": true, "keyFeatures": true, "shipping_template": true } ``` -------------------------------- ### Image Upload Error: Download Error Source: https://developers.printify.com/ Example response for an image upload failure due to a download error. ```json { "status": "error", "code": 10300, "message": "Operation failed.", "errors": { "reason": "cURL error 6: Could not resolve host: png1-pixel.com", "code": 10300 } } ``` -------------------------------- ### eBay Sales Channel Properties Source: https://developers.printify.com/ Example of sales channel properties specific to eBay, including free shipping. ```json "sales_channel_properties": { "free_shipping": false } ``` -------------------------------- ### Create a product (Common error cases) Source: https://developers.printify.com/ Handles common error cases when creating a product, such as low-quality images. ```APIDOC ## POST /v1/shops/{shop_id}/products.json ### Description Handles common error cases when creating a product, such as low-quality images. ### Method POST ### Endpoint /v1/shops/{shop_id}/products.json ### Parameters #### Path Parameters - **shop_id** (string) - Required - The ID of the shop. ### Response #### Error Response (400) - **status** (string) - The status of the error response. - **code** (integer) - The error code. - **message** (string) - A general message describing the error. - **errors** (object) - Detailed error information. - **reason** (string) - The specific reason for the error. - **code** (integer) - The error code specific to the detailed error. ### Response Example ```json { "status": "error", "code": 8203, "message": "Validation failed.", "errors": { "reason": "Image has low quality", "code": 8203 } } ``` ``` -------------------------------- ### Create New Product Source: https://developers.printify.com/ This snippet demonstrates the structure of a request to create a new product. It includes details about product variants, print areas, and associated image assets. ```json { "title": "T-Shirt Example", "description": "A comfortable and stylish t-shirt.", "product_type": "t-shirt", "variants": [ { "sku": "TS-BLK-S", "price": 1500, "title": "Black T-Shirt - Small", "weight": 150, "grams": 150, "options": { "Color": "Black", "Size": "S" }, "is_default": true, "cost_price": 750, "origin_country": "US", "requires_shipping": true, "id": 45740, "print_provider_variant_id": 45740 }, { "sku": "TS-BLK-M", "price": 1500, "title": "Black T-Shirt - Medium", "weight": 170, "grams": 170, "options": { "Color": "Black", "Size": "M" }, "is_default": false, "cost_price": 750, "origin_country": "US", "requires_shipping": true, "id": 45742, "print_provider_variant_id": 45742 } ], "mockups": [ { "src": "https://images.printify.com/mockup/5d39b411749d0a000f30e0f4/45746/2193/product.jpg", "variant_ids": [ 45746 ], "position": "front", "is_default": false }, { "src": "https://images.printify.com/mockup/5d39b411749d0a000f30e0f4/45746/2194/product.jpg", "variant_ids": [ 45746 ], "position": "front", "is_default": false }, { "src": "https://images.printify.com/mockup/5d39b411749d0a000f30e0f4/45746/2195/product.jpg", "variant_ids": [ 45746 ], "position": "front", "is_default": false }, { "src": "https://images.printify.com/mockup/5d39b411749d0a000f30e0f4/45746/2196/product.jpg", "variant_ids": [ 45746 ], "position": "front", "is_default": false }, { "src": "https://images.printify.com/mockup/5d39b411749d0a000f30e0f4/45746/2197/product.jpg", "variant_ids": [ 45746 ], "position": "front", "is_default": false }, { "src": "https://images.printify.com/mockup/5d39b411749d0a000f30e0f4/45746/2198/product.jpg", "variant_ids": [ 45746 ], "position": "front", "is_default": false }, { "src": "https://images.printify.com/mockup/5d39b411749d0a000f30e0f4/45746/2199/product.jpg", "variant_ids": [ 45746 ], "position": "front", "is_default": false }, { "src": "https://images.printify.com/mockup/5d39b411749d0a000f30e0f4/45746/2200/product.jpg", "variant_ids": [ 45746 ], "position": "front", "is_default": false }, { "src": "https://images.printify.com/mockup/5d39b411749d0a000f30e0f4/45746/2201/product.jpg", "variant_ids": [ 45746 ], "position": "front", "is_default": false }, { "src": "https://images.printify.com/mockup/5d39b411749d0a000f30e0f4/45746/2202/product.jpg", "variant_ids": [ 45746 ], "position": "front", "is_default": false } ], "print_areas": [ { "variant_ids": [ 45740, 45742, 45744, 45746 ], "placeholders": [ { "position": "front", "decoration_method": "dtg", "images": [ { "id": "5d15ca551163cde90d7b2203", "src": "https://image-storage.example.com/5d39b159e7c48c000728c89f", "name": "Asset 65@3x.png", "type": "image/png", "height": 1200, "width": 1200, "x": 0.5, "y": 0.5, "scale": 1, "angle": 0 } ] } ], "background": "#ffffff" } ], "views": [ { "id": 34395, "label": "Front side", "position": "front", "files": [ { "src": "https://images.printify.com/api/catalog/618e1792f80e2001a840687b.svg", "variant_ids": [ 45740, 45742, 45744, 45746 ] } ] } ], "sales_channel_properties": [] } ``` -------------------------------- ### productPublishStarted Source: https://developers.printify.com/openapi.json Triggered when a product publish process starts. This event can signify the beginning of a product creation or deletion process. ```APIDOC ## POST /product/publish/started ### Description Triggered when a product publish process starts. Can be for creation or deletion. ### Method POST ### Endpoint /product/publish/started ### Request Body - **schema** (object) - Required - Schema defining the product publish started event payload. ### Response #### Success Response (200) - **description** (string) - Webhook received successfully ```