Products API
The Products API resource lets you create, modify and delete products in a Printful store based on the Manual orders / API platform (you can create such store by going to the Stores section at your Printful dashboard.)
To configure products and variants at a Printful store based on Shopify, WooCommerce or another supported platform, please see Ecommerce Platform Sync API.
To manage Warehouse products, please see Warehouse Products API.
The basics
Each product in your Printful store must contain one or multiple variants (imagine multiple sizes or colors of the same t-shirt design). Furthermore, for each variant, you have to specify both a blank product variant from our Printful Catalog and a print file. These two properties together with price and External ID (more on that later) will allow the variant to be purchasable. Please, see the following sections for more details. Finally, please note that for technical reasons a product in your Printful store is called a Sync Product and a variant of that product is called a Sync Variant. The maximum supported amount of Sync Variants a Sync Product can have is 100.
Assigning a blank product variant
Printful has a substantial catalog of blank products and variants, where each variant (e.g. size and color combination of a particular product) has a unique ID, which we call variant_id. You can browse through the catalog via Printful Catalog API to find a specific variant_id. Moreover, when creating a Sync Product at your Printful store, each of its Sync Variants must be associated with a variant_id from the Printful Catalog. Furthermore, to assign a specific variant_id to a specific Sync Variant, simply add it to the HTTP request body (see examples at the specific endpoint).
Assigning a single print file
There are two ways to assign a print file to a Sync Variant. One is to specify the File ID if the file already exists in the File library of the authorized store;
{ ... "files": [ { "id": 12345 } ], ... }
The second and most convenient method is to specify the file URL. If a file with the same URL already exists, it will be reused.
{ ... "files": [ { "url": "http://example.com/t-shirts/123/front.pdf" } ], ... }
Moreover, each Sync Variant has to be linked with one or multiple print files. The available file types for each product are available from the Printful Catalogue API. You can add one file for each type by specifying the type attribute. For the default type, this attribute can be skipped.
... "files":[ { "type": "default", "url": "http://example.com/t-shirts/123/front.pdf" }, { "type": "back" "url": "http://example.com/t-shirts/123/back.pdf" } ], ...
Remember that using additional files can increase the price of the item.
External ID
When creating a Sync Product and/or Sync Variant you can specify an External ID, which you can then use as a reference when managing or even ordering the specific Sync Product or Sync Variant. In particular, when requesting a specific Sync Product and Sync Variant, you can use either the internal Printful ID or your External ID (prefixed with an @ symbol) at the request URL.
Native inside label
Printful previously allowed customers to upload a fully customized inside label. Since these labels had to contain specific information about fabric composition, manufacturing, etc. to meet the legal requirements, users usually encountered issues to get their labels printed.
Inside labels are printed on the inside of the garment and require the removal of the original manufacturer's tag. They're only available for apparel with tear-away labels. An inside label must include the country of manufacturing origin, original garment size, and material information. To use our native label template you only need to upload a graphic (such as your brand's logo). The mandatory content will be generated and placed automatically.
... "files":[ { "type": "label_inside", "url": "http://example.com/logo/123/image.jpg", "options": [{ "id": "template_type", "value": "native" }] }, ], ...
Printful previously supported fully customized inside labels. These have now been depracated. The ability to create orders with fully customized inside labels has been limited to only users who where actively using them in their stores before April 2020. This feature is no longer accessible to new users.
Get a list of Sync Products
GET https://api.printful.com/store/products
status | string | Filter by item status (synced/unsynced/all). If only some of the variants are synced,the product is returned by both unsynced and synced filters |
search | string | Product search needle |
offset | integer | Result set offset |
limit | integer | Number of items per page (max 100) |
code | integer | Response status code 200 | ||||||||||||||||||
result | SyncProduct [ ] | |||||||||||||||||||
|
||||||||||||||||||||
paging | Paging | Paging information | ||||||||||||||||||
|
API key | ||
status | Filter by item status (synced/unsynced/all). If only some of the variants are synced,the product is returned by both unsynced and synced filters | |
search | Product search needle | |
offset | Result set offset | |
limit | Number of items per page (max 100) | |
Execute |
{ "code": 200, "result": [ { "id": 79348721, "external_id": "e9460f6c67", "name": "API product", "variants": 2, "synced": 2 } ], "extra": [], "paging": { "total": 1, "offset": 0, "limit": 20 }, "debug": [] }
Create a new Sync Product
POST https://api.printful.com/store/products
Rate limiting: Up to 10 requests per 60 seconds. A 60 seconds lockout is applied if request count is exceeded.
Important: Jewelry products are not available with this endpoint.
Request body | RequestProductBody | POST request body | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
code | integer | Response status code 200 | |||||||||||||||
result | RequestProductResponse | ||||||||||||||||
|
API key | ||
Request body | ||
Execute |
{ "sync_product": { "name": "API product Bella", "thumbnail": "https://example.com/image.jpg" }, "sync_variants": [ { "retail_price": "21.00", "variant_id": 4011, "files": [ { "url": "https://example.com/image.jpg" }, { "type": "back", "url": "https://example.com/image.jpg" } ] }, { "retail_price": "21.00", "variant_id": 4012, "files": [ { "url": "https://example.com/image.jpg" }, { "type": "back", "url": "https://example.com/image.jpg" } ] } ] }Response data:
{ "code": 200, "result": { "id": 79348732, "external_id": "5bd9947c709b34", "name": "API product Bella", "variants": 2, "synced": 2 }, "extra": [], "debug": [] }
{ "sync_product": { "name": "API product custom" }, "sync_variants": [ { "retail_price": "19.00", "variant_id": 9575, "files": [ { "type": "front", "url": "https://picsum.photos/200/300" },{ "type": "label_inside", "url": "https://picsum.photos/200/300", "options": [{ "id": "template_type", "value": "native" }] } ], "options": [ { "id": "embroidery_type", "value": "flat" }, { "id": "thread_colors", "value": [] }, { "id": "thread_colors_3d", "value": [] }, { "id": "thread_colors_chest_left", "value": [] } ] } ] }Response data:
{ "code": 200, "result": { "id": 166266931, "external_id": "5e8db0013cf026", "name": "API product custom", "variants": 1, "synced": 1, "thumbnail_url": null }, "extra": [], "debug": [] }
Get information about a single Sync Product and its Sync Variants
GET https://api.printful.com/store/products/{id}
id | integer / string | Sync Product ID (integer) or External ID (if prefixed with @) |
code | integer | Response status code 200 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
result | SyncProductInfo | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
API key | ||
id | Sync Product ID (integer) or External ID (if prefixed with @) | |
Execute |
{ "code": 200, "result": { "sync_product": { "id": 79348721, "external_id": "e9460f6c67", "name": "API product", "variants": 2, "synced": 2 }, "sync_variants": [ { "id": 866914574, "external_id": "5bd967595a1174", "sync_product_id": 79348721, "name": "API product", "synced": true, "variant_id": 4011, "retail_price": "18.00", "currency": "USD", "product": { "variant_id": 4011, "product_id": 71, "image": "https://s3.dev.printful.com/products/71/4012_1517927381.jpg", "name": "Bella + Canvas 3001 Unisex Short Sleeve Jersey T-Shirt with Tear Away Label (White / S)" }, "files": [ { "id": 76564075, "type": "default", "hash": "7d6a2367c1e338750e68dc66b20cba1a", "url": "https://picsum.photos/200/300", "filename": "76564075.jpg", "mime_type": "image/jpeg", "size": 8245, "width": 200, "height": 300, "dpi": null, "status": "ok", "created": 1539341673, "thumbnail_url": "https://s3.dev.printful.com/files/7d6/7d6a2367c1e338750e68dc66b20cba1a_thumb.png", "preview_url": "https://s3.dev.printful.com/files/7d6/7d6a2367c1e338750e68dc66b20cba1a_preview.png", "visible": true }, { "id": 76564075, "type": "back", "hash": "7d6a2367c1e338750e68dc66b20cba1a", "url": "https://picsum.photos/200/300", "filename": "76564075.jpg", "mime_type": "image/jpeg", "size": 8245, "width": 200, "height": 300, "dpi": null, "status": "ok", "created": 1539341673, "thumbnail_url": "https://s3.dev.printful.com/files/7d6/7d6a2367c1e338750e68dc66b20cba1a_thumb.png", "preview_url": "https://s3.dev.printful.com/files/7d6/7d6a2367c1e338750e68dc66b20cba1a_preview.png", "visible": true } ], "options": [ { "id": "embroidery_type", "value": "flat" }, { "id": "thread_colors", "value": [] }, { "id": "thread_colors_3d", "value": [] }, { "id": "thread_colors_chest_left", "value": [] } ] }, { "id": 866914580, "external_id": "5bd96ea4a381f8", "sync_product_id": 79348721, "name": "API product", "synced": true, "variant_id": 4011, "retail_price": "21.00", "currency": "USD", "product": { "variant_id": 4011, "product_id": 71, "image": "https://s3.dev.printful.com/products/71/4012_1517927381.jpg", "name": "Bella + Canvas 3001 Unisex Short Sleeve Jersey T-Shirt with Tear Away Label (White / S)" }, "files": [ { "id": 76564390, "type": "default", "hash": "77440392f60d2346a1bf690c1564d973", "url": "https://i.etsystatic.com/17947654/r/il/3a0750/1565927694/il_570xN.1565927694_gfxu.jpg", "filename": "il_570xN.1565927694_gfxu.jpg", "mime_type": "image/jpeg", "size": 70053, "width": 570, "height": 570, "dpi": null, "status": "ok", "created": 1540982496, "thumbnail_url": "https://s3.dev.printful.com/files/774/77440392f60d2346a1bf690c1564d973_thumb.png", "preview_url": "https://s3.dev.printful.com/files/774/77440392f60d2346a1bf690c1564d973_preview.png", "visible": true }, { "id": 76564159, "type": "back", "hash": "ebd559858e5703088de8900ce99c37d3", "url": "https://picsum.photos/200/300?image=2", "filename": "76564159.jpg", "mime_type": "image/jpeg", "size": 11246, "width": 200, "height": 300, "dpi": null, "status": "ok", "created": 1540797879, "thumbnail_url": "https://s3.dev.printful.com/files/ebd/ebd559858e5703088de8900ce99c37d3_thumb.png", "preview_url": "https://s3.dev.printful.com/files/ebd/ebd559858e5703088de8900ce99c37d3_preview.png", "visible": true }, { "id": 76564391, "type": "preview", "hash": "a0b4fa4e51f3feeee7a5f14260a257ea", "url": null, "filename": "mockup-fafde22d.png", "mime_type": "image/png", "size": 222824, "width": 600, "height": 600, "dpi": 72, "status": "ok", "created": 1540982574, "thumbnail_url": "https://s3.dev.printful.com/files/a0b/a0b4fa4e51f3feeee7a5f14260a257ea_thumb.png", "preview_url": "https://s3.dev.printful.com/files/a0b/a0b4fa4e51f3feeee7a5f14260a257ea_preview.png", "visible": false } ], "options": [ { "id": "embroidery_type", "value": "flat" }, { "id": "thread_colors", "value": [] }, { "id": "thread_colors_3d", "value": [] }, { "id": "thread_colors_chest_left", "value": [] } ] } ] }, "extra": [], "debug": [] }
Delete a Sync Product
DELETE https://api.printful.com/store/products/{id}
id | integer / string | Sync Product ID (integer) or External ID (if prefixed with @) |
code | integer | Response status code 200 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
result | ProductInfo | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
API key | ||
id | Sync Product ID (integer) or External ID (if prefixed with @) | |
Execute |
Modify a Sync Product
PUT https://api.printful.com/store/products/{id}
Please note that in the request body you only need to specify the fields that need to be changed. Furthermore, if you want to update existing sync variants, then in the sync variants array you must specify the IDs of all existing sync variants. All omitted existing sync variants will be deleted. All new sync variants without an ID will be created. See examples for more insights.
Rate limiting: Up to 10 requests per 60 seconds. A 60 seconds lockout is applied if request count is exceeded.
Important: Jewelry products are not available with this endpoint.
id | integer / string | Sync Product ID (integer) or External ID (if prefixed with @) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Request body | PutRequestProductBody | PUT request body | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
code | integer | Response status code 200 | |||||||||||||||
result | RequestProductResponse | ||||||||||||||||
|
API key | ||
id | Sync Product ID (integer) or External ID (if prefixed with @) | |
Request body | ||
Execute |
{ "sync_product": { "name": "API product new name", "thumbnail": "https://example.com/image.jpg" } }Response data:
{ "code": 200, "result": { "id": 79348721, "external_id": "e9460f6c67", "name": "API product new name", "variants": 2, "synced": 2 }, "extra": [], "debug": [] }
{ "sync_product": { "name": "API product new name", "thumbnail": "https://example.com/image.jpg" }, "sync_variants": [ { "id": 866914574 }, { "id": 866914580, "retail_price": 21, "files": [ { "url": "https://example.com/image.jpg" }, { "type": "back", "url": "https://example.com/image.jpg" } ] } ] }Response data:
{ "code": 200, "result": { "id": 79348721, "external_id": "e9460f6c67", "name": "API product", "variants": 2, "synced": 2 }, "extra": [], "debug": [] }
Create a new Sync Variant
POST https://api.printful.com/store/products/{id}/variants
Rate limiting: Up to 10 requests per 60 seconds. A 60 seconds lockout is applied if request count is exceeded.
Important: Jewelry products are not available with this endpoint.
id | integer / string | Sync Product ID (integer) or External ID (if prefixed with @) | |||||||||||||||||||||||||||||||||||||||||||||||||||
Request body | RequestVariant | POST request body | |||||||||||||||||||||||||||||||||||||||||||||||||||
|
code | integer | Response status code 200 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
result | RequestVariantResponse | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
API key | ||
id | Sync Product ID (integer) or External ID (if prefixed with @) | |
Request body | ||
Execute |
{ "external_id": "my-external-id", "retail_price": "19.00", "variant_id": 4011, "files": [ { "type": "default", "url": "https://example.com/image.jpg" }, { "type": "back", "url": "https://example.com/image.jpg" } ], "options": [ { "id": "embroidery_type", "value": "flat" }, { "id": "thread_colors", "value": [] }, { "id": "thread_colors_3d", "value": [] }, { "id": "thread_colors_chest_left", "value": [] } ] }Response data:
{ "code": 200, "result": { "id": 866914592, "external_id": "my-external-id", "sync_product_id": 79348732, "name": "API product Bella", "synced": true, "variant_id": 4011, "retail_price": "19.00", "currency": "USD", "product": { "variant_id": 4011, "product_id": 71, "image": "https://s3.dev.printful.com/products/71/4012_1517927381.jpg", "name": "Bella + Canvas 3001 Unisex Short Sleeve Jersey T-Shirt with Tear Away Label (White / S)" }, "files": [ { "id": 76564159, "type": "default", "hash": "ebd559858e5703088de8900ce99c37d3", "url": "https://example.com/image.jpg", "filename": "76564159.jpg", "mime_type": "image/jpeg", "size": 11246, "width": 200, "height": 300, "dpi": null, "status": "ok", "created": 1540797879, "thumbnail_url": "https://s3.dev.printful.com/files/ebd/ebd559858e5703088de8900ce99c37d3_thumb.png", "preview_url": "https://s3.dev.printful.com/files/ebd/ebd559858e5703088de8900ce99c37d3_preview.png", "visible": true }, { "id": 76564159, "type": "back", "hash": "ebd559858e5703088de8900ce99c37d3", "url": "https://example.com/image.jpg", "filename": "76564159.jpg", "mime_type": "image/jpeg", "size": 11246, "width": 200, "height": 300, "dpi": null, "status": "ok", "created": 1540797879, "thumbnail_url": "https://s3.dev.printful.com/files/ebd/ebd559858e5703088de8900ce99c37d3_thumb.png", "preview_url": "https://s3.dev.printful.com/files/ebd/ebd559858e5703088de8900ce99c37d3_preview.png", "visible": true } ], "options": [ { "id": "embroidery_type", "value": "flat" }, { "id": "thread_colors", "value": [] }, { "id": "thread_colors_3d", "value": [] }, { "id": "thread_colors_chest_left", "value": [] } ] }, "extra": [], "debug": [] }
{ "retail_price": "19.00", "variant_id": 4025, "files": [ { "type": "default", "url": "https://example.com/image.jpg" }, { "type": "label_inside", "url": "https://example.com/image.jpg", "options": [{ "id": "template_type", "value": "native" }] } ], "options": [ { "id": "embroidery_type", "value": "flat" }, { "id": "thread_colors", "value": [] }, { "id": "thread_colors_3d", "value": [] }, { "id": "thread_colors_chest_left", "value": [] } ] }Response data:
{ "code": 200, "result": { "id": 1817548049, "external_id": "5e8dbb006e62d5", "sync_product_id": 162979476, "name": "lucia - White / XL", "synced": true, "variant_id": 4014, "retail_price": "19.00", "currency": "USD", "product": { "variant_id": 4014, "product_id": 71, "image": "https://s3.dev.printful.com/products/71/4014_1581412553.jpg", "name": "Bella + Canvas 3001 Unisex Short Sleeve Jersey T-Shirt with Tear Away Label (White / XL)" }, "files": [ { "id": 185425195, "type": "default", "hash": null, "url": "https://example.com/image.jpg", "filename": null, "mime_type": null, "size": 0, "width": null, "height": null, "dpi": null, "status": "waiting", "created": 1586346752, "thumbnail_url": null, "preview_url": null, "visible": true }, { "id": 185425195, "type": "label_inside", "hash": null, "url": "https://example.com/image.jpg", "filename": null, "mime_type": null, "size": 0, "width": null, "height": null, "dpi": null, "status": "waiting", "created": 1586346752, "thumbnail_url": null, "preview_url": null, "visible": true } ], "options": [ { "id": "embroidery_type", "value": "flat" }, { "id": "thread_colors", "value": [] }, { "id": "text_thread_colors", "value": [] }, { "id": "thread_colors_3d", "value": [] }, { "id": "thread_colors_chest_left", "value": [] }, { "id": "text_thread_colors_chest_left", "value": [] }, { "id": "thread_colors_chest_center", "value": [] }, { "id": "text_thread_colors_chest_center", "value": [] } ] }, "extra": [], "debug": [] }
Get information about a single Sync Variant
GET https://api.printful.com/store/variants/{id}
id | integer | Sync Variant ID (integer) or External ID (if prefixed with @) |
code | integer | Response status code 200 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
result | SyncVariantInfo | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
API key | ||
id | Sync Variant ID (integer) or External ID (if prefixed with @) | |
Execute |
{ "code": 200, "result": { "sync_variant": { "id": 866914574, "external_id": "5bd967595a1174", "sync_product_id": 79348721, "name": "API product", "synced": true, "variant_id": 4011, "retail_price": "18.00", "currency": "USD", "product": { "variant_id": 4011, "product_id": 71, "image": "https://s3.dev.printful.com/products/71/4012_1517927381.jpg", "name": "Bella + Canvas 3001 Unisex Short Sleeve Jersey T-Shirt with Tear Away Label (White / S)" }, "files": [ { "id": 76564075, "type": "default", "hash": "7d6a2367c1e338750e68dc66b20cba1a", "url": "https://picsum.photos/200/300", "filename": "76564075.jpg", "mime_type": "image/jpeg", "size": 8245, "width": 200, "height": 300, "dpi": null, "status": "ok", "created": 1539341673, "thumbnail_url": "https://s3.dev.printful.com/files/7d6/7d6a2367c1e338750e68dc66b20cba1a_thumb.png", "preview_url": "https://s3.dev.printful.com/files/7d6/7d6a2367c1e338750e68dc66b20cba1a_preview.png", "visible": true }, { "id": 76564075, "type": "back", "hash": "7d6a2367c1e338750e68dc66b20cba1a", "url": "https://picsum.photos/200/300", "filename": "76564075.jpg", "mime_type": "image/jpeg", "size": 8245, "width": 200, "height": 300, "dpi": null, "status": "ok", "created": 1539341673, "thumbnail_url": "https://s3.dev.printful.com/files/7d6/7d6a2367c1e338750e68dc66b20cba1a_thumb.png", "preview_url": "https://s3.dev.printful.com/files/7d6/7d6a2367c1e338750e68dc66b20cba1a_preview.png", "visible": true } ], "options": [ { "id": "embroidery_type", "value": "flat" }, { "id": "thread_colors", "value": [] }, { "id": "thread_colors_3d", "value": [] }, { "id": "thread_colors_chest_left", "value": [] } ] }, "sync_product": { "id": 79348721, "external_id": "e9460f6c67", "name": "API product", "variants": 1, "synced": 1 } }, "extra": [], "debug": [] }
Delete a Sync Variant
DELETE https://api.printful.com/store/variants/{id}
id | integer / string | Sync Variant ID (integer) or External ID (if prefixed with @) |
code | integer | Response status code 200 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
result | VariantInfo | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
API key | ||
id | Sync Variant ID (integer) or External ID (if prefixed with @) | |
Execute |
Modify a Sync Variant
PUT https://api.printful.com/store/variants/{id}
Please note that in the request body you only need to specify the fields that need to be changed. See examples for more insights.
Rate limiting: Up to 10 requests per 60 seconds. A 60 seconds lockout is applied if request count is exceeded.
Important: Jewelry products are not available with this endpoint.
id | integer / string | Sync Variant ID (integer) or External ID (if prefixed with @) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Request body | PutRequestVariant | PUT request body | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
code | integer | Response status code 200 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
result | RequestVariantResponse | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
API key | ||
id | Sync Variant ID (integer) or External ID (if prefixed with @) | |
Request body | ||
Execute |
{ "retail_price": "29.00" }Response data:
{ "code": 200, "result": { "id": 866914574, "external_id": "5bd967595a1174", "sync_product_id": 79348721, "name": "API product", "synced": true, "variant_id": 4011, "retail_price": "29.00", "currency": "", "product": { "variant_id": 4011, "product_id": 71, "image": "https://s3.dev.printful.com/products/71/4012_1517927381.jpg", "name": "Bella + Canvas 3001 Unisex Short Sleeve Jersey T-Shirt with Tear Away Label (White / S)" }, "files": [ { "id": 76564075, "type": "default", "hash": "7d6a2367c1e338750e68dc66b20cba1a", "url": "https://example.com/image.jpg", "filename": "76564075.jpg", "mime_type": "image/jpeg", "size": 8245, "width": 200, "height": 300, "dpi": null, "status": "ok", "created": 1539341673, "thumbnail_url": "https://s3.dev.printful.com/files/7d6/7d6a2367c1e338750e68dc66b20cba1a_thumb.png", "preview_url": "https://s3.dev.printful.com/files/7d6/7d6a2367c1e338750e68dc66b20cba1a_preview.png", "visible": true }, { "id": 76564075, "type": "back", "hash": "7d6a2367c1e338750e68dc66b20cba1a", "url": "https://example.com/image.jpg", "filename": "76564075.jpg", "mime_type": "image/jpeg", "size": 8245, "width": 200, "height": 300, "dpi": null, "status": "ok", "created": 1539341673, "thumbnail_url": "https://s3.dev.printful.com/files/7d6/7d6a2367c1e338750e68dc66b20cba1a_thumb.png", "preview_url": "https://s3.dev.printful.com/files/7d6/7d6a2367c1e338750e68dc66b20cba1a_preview.png", "visible": true } ], "options": [ { "id": "embroidery_type", "value": "flat" }, { "id": "thread_colors", "value": [] }, { "id": "thread_colors_3d", "value": [] }, { "id": "thread_colors_chest_left", "value": [] } ] }, "extra": [], "debug": [] }
{ "files": [ { "type": "label_inside", "url": "https://picsum.photos/200/300", "options": [{ "id": "template_type", "value": "native" }] } ] }Response data:
{ "code": 200, "result": { "id": 1817548049, "external_id": "5e8dbb006e62d5", "sync_product_id": 162979476, "name": "lucia - White / XL", "synced": true, "variant_id": 4014, "retail_price": "19.00", "currency": "USD", "product": { "variant_id": 4014, "product_id": 71, "image": "https://s3.dev.printful.com/products/71/4014_1581412553.jpg", "name": "Bella + Canvas 3001 Unisex Short Sleeve Jersey T-Shirt with Tear Away Label (White / XL)" }, "files": [ { "id": 185425196, "type": "label_inside", "hash": null, "url": "https://picsum.photos/200/300", "filename": null, "mime_type": null, "size": 0, "width": null, "height": null, "dpi": null, "status": "waiting", "created": 1586351368, "thumbnail_url": null, "preview_url": null, "visible": true }, ], "options": [ { "id": "embroidery_type", "value": "flat" }, { "id": "thread_colors", "value": [] }, { "id": "text_thread_colors", "value": [] }, { "id": "thread_colors_3d", "value": [] }, { "id": "thread_colors_chest_left", "value": [] }, { "id": "text_thread_colors_chest_left", "value": [] }, { "id": "thread_colors_chest_center", "value": [] }, { "id": "text_thread_colors_chest_center", "value": [] } ] }, "extra": [], "debug": [] }
{ "files": [ { "type": "default", "url": "https://example.com/image.jpg" } ] }Response data:
{ "code": 200, "result": { "id": 866914574, "external_id": "5bd967595a1174", "sync_product_id": 79348721, "name": "API product", "synced": true, "variant_id": 4011, "retail_price": "29.00", "currency": "", "product": { "variant_id": 4011, "product_id": 71, "image": "https://s3.dev.printful.com/products/71/4012_1517927381.jpg", "name": "Bella + Canvas 3001 Unisex Short Sleeve Jersey T-Shirt with Tear Away Label (White / S)" }, "files": [ { "id": 76564159, "type": "default", "hash": "ebd559858e5703088de8900ce99c37d3", "url": "https://example.com/image.jpg", "filename": "76564159.jpg", "mime_type": "image/jpeg", "size": 11246, "width": 200, "height": 300, "dpi": null, "status": "ok", "created": 1540797879, "thumbnail_url": "https://s3.dev.printful.com/files/ebd/ebd559858e5703088de8900ce99c37d3_thumb.png", "preview_url": "https://s3.dev.printful.com/files/ebd/ebd559858e5703088de8900ce99c37d3_preview.png", "visible": true } ], "options": [ { "id": "embroidery_type", "value": "flat" }, { "id": "thread_colors", "value": [] }, { "id": "thread_colors_3d", "value": [] }, { "id": "thread_colors_chest_left", "value": [] } ] }, "extra": [], "debug": [] }