{"info":{"_postman_id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","name":"Wholesale Merchandise API","description":"<html><head></head><body><p>A comprehensive API for managing wholesale products, variants, stock levels, and printing capabilities. This API serves as an integration layer between your application and the Wholesale Merchandise product ecosystem.</p>\n<h2 id=\"key-features\">Key Features</h2>\n<ul>\n<li><p><strong>Product Management</strong>: Complete product information including:</p>\n<ul>\n<li><p>Basic product details (name, descriptions, dimensions)</p>\n</li>\n<li><p>Physical specifications (weights, measurements, packaging details)</p>\n</li>\n<li><p>Categorization and classification</p>\n</li>\n<li><p>Country of origin and brand information</p>\n</li>\n<li><p>Digital assets and media</p>\n</li>\n<li><p>Product variants with color and category details</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Stock Management</strong>: Real-time stock information including:</p>\n<ul>\n<li><p>Current stock levels</p>\n</li>\n<li><p>First arrival dates and quantities</p>\n</li>\n<li><p>Next arrival dates and quantities</p>\n</li>\n<li><p>Historical stock data tracking</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Pricing System</strong>: Comprehensive pricing functionality:</p>\n<ul>\n<li><p>Product base prices</p>\n</li>\n<li><p>Price scaling based on quantity</p>\n</li>\n<li><p>Special price details and conditions</p>\n</li>\n<li><p>Print-specific pricing</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Print Management</strong>: Advanced printing capabilities:</p>\n<ul>\n<li><p>Print positions and techniques</p>\n</li>\n<li><p>Print cost calculations</p>\n</li>\n<li><p>Color options and manipulations</p>\n</li>\n<li><p>Technical specifications for printing</p>\n</li>\n</ul>\n</li>\n</ul>\n<h2 id=\"authentication\">Authentication</h2>\n<p>This API uses Bearer Token for authentication. Protected endpoints require a valid Bearer token in the Authorization header. The staging and live tokens will be issued to you by the Wholesale Merchandise representative.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"8465741","collectionId":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","publishedId":"2sAYdio9oj","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2025-03-03T13:15:48.000Z"},"item":[{"name":"Products","item":[{"name":"Products JSON","id":"37ff31d1-b863-4adf-a510-f6d303949916","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"x-Gateway-APIKey","value":"your API Key here"}],"url":"https://staging.trademerch.co.uk/api/products","description":"<h1 id=\"get-all-products\">Get All Products</h1>\n<p>Returns a list of all products with their associated digital assets and variants. This endpoint provides comprehensive product information suitable for catalog display and inventory management. The response includes all the details, like the product code, master ID, category, and a list of all available<br />attributes (depends on product)</p>\n<h1 id=\"product-api-response-examples\">Product API Response Examples</h1>\n<h2 id=\"success-response\">Success Response</h2>\n<p><strong>Status Code:</strong> 200 OK</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n    {\n        \"master_code\": \"12345\",\n        \"master_id\": \"ABC123\",\n        \"type_of_products\": \"Apparel\",\n        \"commodity_code\": \"61091000\",\n        \"number_of_print_positions\": 4,\n        \"country_of_origin\": \"Bangladesh\",\n        \"brand\": \"EcoWear\",\n        \"product_name\": \"Premium Cotton T-Shirt\",\n        \"category_code\": \"TSHIRT\",\n        \"product_class\": \"Premium\",\n        \"dimensions\": \"30x20x2\",\n        \"length\": 30,\n        \"length_unit\": \"cm\",\n        \"width\": 20,\n        \"width_unit\": \"cm\",\n        \"height\": 2,\n        \"height_unit\": \"cm\",\n        \"volume\": 1200,\n        \"volume_unit\": \"cm3\",\n        \"gross_weight\": 250,\n        \"gross_weight_unit\": \"g\",\n        \"net_weight\": 200,\n        \"net_weight_unit\": \"g\",\n        \"inner_carton_quantity\": 10,\n        \"outer_carton_quantity\": 50,\n        \"carton_length\": 60,\n        \"carton_length_unit\": \"cm\",\n        \"carton_width\": 40,\n        \"carton_width_unit\": \"cm\",\n        \"carton_height\": 30,\n        \"carton_height_unit\": \"cm\",\n        \"carton_volume\": 72000,\n        \"carton_volume_unit\": \"cm3\",\n        \"carton_gross_weight\": 12.5,\n        \"carton_gross_weight_unit\": \"kg\",\n        \"timestamp\": \"2025-02-28T12:00:00Z\",\n        \"short_description\": \"Premium quality cotton t-shirt\",\n        \"long_description\": \"100% organic cotton t-shirt with reinforced stitching and premium finish\",\n        \"material\": \"100% Cotton\",\n        \"printable\": true,\n        \"digital_assets\": [\n            {\n                \"url\": \"https://example.com/images/t-shirt-front.jpg\",\n                \"type\": \"image\",\n                \"subtype\": \"front\"\n            },\n            {\n                \"url\": \"https://example.com/images/t-shirt-back.jpg\",\n                \"type\": \"image\",\n                \"subtype\": \"back\"\n            }\n        ],\n        \"variants\": [\n            {\n                \"variant_id\": \"VAR-001\",\n                \"sku\": \"TS-BLK-M\",\n                \"release_date\": \"2025-01-01\",\n                \"discontinued_date\": null,\n                \"product_proposition_category\": \"Premium\",\n                \"category_level1\": \"Apparel\",\n                \"category_level2\": \"T-Shirts\",\n                \"category_level3\": \"Short Sleeve\",\n                \"color_description\": \"Black\",\n                \"color_group\": \"Dark\",\n                \"plc_status\": \"Active\",\n                \"plc_status_description\": \"In Production\",\n                \"gtin\": \"1234567890123\",\n                \"color_code\": \"BLK\",\n                \"pms_color\": \"Black 6 C\",\n                \"digital_assets\": [\n                    {\n                        \"url\": \"https://example.com/images/t-shirt-black-front.jpg\",\n                        \"url_highress\": \"https://example.com/images/t-shirt-black-front-hr.jpg\",\n                        \"type\": \"image\",\n                        \"subtype\": \"front\"\n                    }\n                ]\n            }\n        ]\n    }\n]\n\n</code></pre>\n<h2 id=\"error-responses\">Error Responses</h2>\n<h3 id=\"not-found\">Not Found</h3>\n<p><strong>Status Code:</strong> 404 Not Found</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"No products found\",\n    \"error\": \"NotFoundError\",\n    \"status_code\": 404\n}\n\n</code></pre>\n<h3 id=\"server-error\">Server Error</h3>\n<p><strong>Status Code:</strong> 500 Internal Server Error</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Internal server error occurred\",\n    \"error\": \"InternalServerError\",\n    \"status_code\": 500\n}\n\n</code></pre>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"your_api_key"}]},"isInherited":true,"source":{"_postman_id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","name":"Wholesale Merchandise API","type":"collection"}},"urlObject":{"path":["api","products"],"host":["https://staging.trademerch.co.uk"],"query":[],"variable":[]}},"response":[],"_postman_id":"37ff31d1-b863-4adf-a510-f6d303949916"},{"name":"Single Product JSON","id":"fb753152-0d7c-4b52-8d18-aa64c112b8b3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"x-Gateway-APIKey","value":"your API Key here"}],"url":"https://staging.trademerch.co.uk/api/products/master_code","description":"<h1 id=\"get-single-product\">Get Single Product</h1>\n<p>Returns detailed information about a specific product by its master code, including all associated digital assets and variants. This endpoint is useful for detailed product views and inventory management of specific items.</p>\n<h2 id=\"request-parameters\">Request Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>masterCode</td>\n<td>string</td>\n<td>Yes</td>\n<td>Unique master code of product</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"success-response\">Success Response</h2>\n<p><strong>Status Code:</strong> 200 OK</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"master_code\": \"12345\",\n    \"master_id\": \"ABC123\",\n    \"type_of_products\": \"Apparel\",\n    \"commodity_code\": \"61091000\",\n    \"number_of_print_positions\": 4,\n    \"country_of_origin\": \"Bangladesh\",\n    \"brand\": \"EcoWear\",\n    \"product_name\": \"Premium Cotton T-Shirt\",\n    \"category_code\": \"TSHIRT\",\n    \"product_class\": \"Premium\",\n    \"dimensions\": \"30x20x2\",\n    \"length\": 30,\n    \"length_unit\": \"cm\",\n    \"width\": 20,\n    \"width_unit\": \"cm\",\n    \"height\": 2,\n    \"height_unit\": \"cm\",\n    \"volume\": 1200,\n    \"volume_unit\": \"cm3\",\n    \"gross_weight\": 250,\n    \"gross_weight_unit\": \"g\",\n    \"net_weight\": 200,\n    \"net_weight_unit\": \"g\",\n    \"inner_carton_quantity\": 10,\n    \"outer_carton_quantity\": 50,\n    \"carton_length\": 60,\n    \"carton_length_unit\": \"cm\",\n    \"carton_width\": 40,\n    \"carton_width_unit\": \"cm\",\n    \"carton_height\": 30,\n    \"carton_height_unit\": \"cm\",\n    \"carton_volume\": 72000,\n    \"carton_volume_unit\": \"cm3\",\n    \"carton_gross_weight\": 12.5,\n    \"carton_gross_weight_unit\": \"kg\",\n    \"timestamp\": \"2025-02-28T12:00:00Z\",\n    \"short_description\": \"Premium quality cotton t-shirt\",\n    \"long_description\": \"100% organic cotton t-shirt with reinforced stitching and premium finish\",\n    \"material\": \"100% Cotton\",\n    \"printable\": true,\n    \"digital_assets\": [\n        {\n            \"url\": \"https://example.com/images/t-shirt-front.jpg\",\n            \"type\": \"image\",\n            \"subtype\": \"front\"\n        },\n        {\n            \"url\": \"https://example.com/images/t-shirt-back.jpg\",\n            \"type\": \"image\",\n            \"subtype\": \"back\"\n        }\n    ],\n    \"variants\": [\n        {\n            \"variant_id\": \"VAR-001\",\n            \"sku\": \"TS-BLK-M\",\n            \"release_date\": \"2025-01-01\",\n            \"discontinued_date\": null,\n            \"product_proposition_category\": \"Premium\",\n            \"category_level1\": \"Apparel\",\n            \"category_level2\": \"T-Shirts\",\n            \"category_level3\": \"Short Sleeve\",\n            \"color_description\": \"Black\",\n            \"color_group\": \"Dark\",\n            \"plc_status\": \"Active\",\n            \"plc_status_description\": \"In Production\",\n            \"gtin\": \"1234567890123\",\n            \"color_code\": \"BLK\",\n            \"pms_color\": \"Black 6 C\",\n            \"digital_assets\": [\n                {\n                    \"url\": \"https://example.com/images/t-shirt-black-front.jpg\",\n                    \"url_highress\": \"https://example.com/images/t-shirt-black-front-hr.jpg\",\n                    \"type\": \"image\",\n                    \"subtype\": \"front\"\n                }\n            ]\n        }\n    ]\n}\n\n</code></pre>\n<h2 id=\"error-responses\">Error Responses</h2>\n<h3 id=\"not-found\">Not Found</h3>\n<p><strong>Status Code:</strong> 404 Not Found</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Product not found\",\n    \"error\": \"NotFoundError\",\n    \"status_code\": 404\n}\n\n</code></pre>\n<h3 id=\"invalid-master-code\">Invalid Master Code</h3>\n<p><strong>Status Code:</strong> 400 Bad Request</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Invalid master code format\",\n    \"error\": \"ValidationError\",\n    \"status_code\": 400\n}\n\n</code></pre>\n<h3 id=\"server-error\">Server Error</h3>\n<p><strong>Status Code:</strong> 500 Internal Server Error</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Internal server error occurred\",\n    \"error\": \"InternalServerError\",\n    \"status_code\": 500\n}\n\n</code></pre>\n<h2 id=\"response-fields-description\">Response Fields Description</h2>\n<h3 id=\"product-fields\">Product Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>master_code</td>\n<td>string</td>\n<td>Unique identifier for the product</td>\n</tr>\n<tr>\n<td>master_id</td>\n<td>string</td>\n<td>Internal master ID</td>\n</tr>\n<tr>\n<td>product_name</td>\n<td>string</td>\n<td>Name of the product</td>\n</tr>\n<tr>\n<td>brand</td>\n<td>string</td>\n<td>Brand name</td>\n</tr>\n<tr>\n<td>category_code</td>\n<td>string</td>\n<td>Product category code</td>\n</tr>\n<tr>\n<td>dimensions</td>\n<td>string</td>\n<td>Combined dimensions string</td>\n</tr>\n<tr>\n<td>printable</td>\n<td>boolean</td>\n<td>Whether product can be printed on</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"measurement-fields\">Measurement Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>length</td>\n<td>number</td>\n<td>Product length</td>\n</tr>\n<tr>\n<td>length_unit</td>\n<td>string</td>\n<td>Unit of length measurement</td>\n</tr>\n<tr>\n<td>width</td>\n<td>number</td>\n<td>Product width</td>\n</tr>\n<tr>\n<td>width_unit</td>\n<td>string</td>\n<td>Unit of width measurement</td>\n</tr>\n<tr>\n<td>height</td>\n<td>number</td>\n<td>Product height</td>\n</tr>\n<tr>\n<td>height_unit</td>\n<td>string</td>\n<td>Unit of height measurement</td>\n</tr>\n<tr>\n<td>volume</td>\n<td>number</td>\n<td>Product volume</td>\n</tr>\n<tr>\n<td>volume_unit</td>\n<td>string</td>\n<td>Unit of volume measurement</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"weight-fields\">Weight Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>gross_weight</td>\n<td>number</td>\n<td>Gross weight of product</td>\n</tr>\n<tr>\n<td>gross_weight_unit</td>\n<td>string</td>\n<td>Unit of gross weight</td>\n</tr>\n<tr>\n<td>net_weight</td>\n<td>number</td>\n<td>Net weight of product</td>\n</tr>\n<tr>\n<td>net_weight_unit</td>\n<td>string</td>\n<td>Unit of net weight</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"carton-fields\">Carton Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>inner_carton_quantity</td>\n<td>integer</td>\n<td>Quantity in inner carton</td>\n</tr>\n<tr>\n<td>outer_carton_quantity</td>\n<td>integer</td>\n<td>Quantity in outer carton</td>\n</tr>\n<tr>\n<td>carton_length</td>\n<td>number</td>\n<td>Length of carton</td>\n</tr>\n<tr>\n<td>carton_width</td>\n<td>number</td>\n<td>Width of carton</td>\n</tr>\n<tr>\n<td>carton_height</td>\n<td>number</td>\n<td>Height of carton</td>\n</tr>\n<tr>\n<td>carton_volume</td>\n<td>number</td>\n<td>Volume of carton</td>\n</tr>\n<tr>\n<td>carton_gross_weight</td>\n<td>number</td>\n<td>Gross weight of carton</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"digital-asset-fields\">Digital Asset Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>string</td>\n<td>URL of the digital asset</td>\n</tr>\n<tr>\n<td>type</td>\n<td>string</td>\n<td>Type of asset (image, document, etc)</td>\n</tr>\n<tr>\n<td>subtype</td>\n<td>string</td>\n<td>Subtype of asset (front, back, etc)</td>\n</tr>\n<tr>\n<td>url_highress</td>\n<td>string</td>\n<td>High resolution URL (variants only)</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"variant-fields\">Variant Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>variant_id</td>\n<td>string</td>\n<td>Unique identifier for the variant</td>\n</tr>\n<tr>\n<td>sku</td>\n<td>string</td>\n<td>Stock Keeping Unit code</td>\n</tr>\n<tr>\n<td>release_date</td>\n<td>string</td>\n<td>Date when variant was released (ISO 8601)</td>\n</tr>\n<tr>\n<td>discontinued_date</td>\n<td>string</td>\n<td>Date when variant was discontinued (ISO 8601)</td>\n</tr>\n<tr>\n<td>product_proposition_category</td>\n<td>string</td>\n<td>Product proposition category</td>\n</tr>\n<tr>\n<td>category_level1</td>\n<td>string</td>\n<td>Top level category classification</td>\n</tr>\n<tr>\n<td>category_level2</td>\n<td>string</td>\n<td>Second level category classification</td>\n</tr>\n<tr>\n<td>category_level3</td>\n<td>string</td>\n<td>Third level category classification</td>\n</tr>\n<tr>\n<td>color_description</td>\n<td>string</td>\n<td>Human readable color description</td>\n</tr>\n<tr>\n<td>color_group</td>\n<td>string</td>\n<td>Color grouping (e.g., Dark, Light, Vibrant)</td>\n</tr>\n<tr>\n<td>plc_status</td>\n<td>string</td>\n<td>Product Life Cycle status</td>\n</tr>\n<tr>\n<td>plc_status_description</td>\n<td>string</td>\n<td>Description of the PLC status</td>\n</tr>\n<tr>\n<td>gtin</td>\n<td>string</td>\n<td>Global Trade Item Number</td>\n</tr>\n<tr>\n<td>color_code</td>\n<td>string</td>\n<td>Color code identifier</td>\n</tr>\n<tr>\n<td>pms_color</td>\n<td>string</td>\n<td>Pantone Matching System color code</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"your_api_key"}]},"isInherited":true,"source":{"_postman_id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","name":"Wholesale Merchandise API","type":"collection"}},"urlObject":{"path":["api","products","master_code"],"host":["https://staging.trademerch.co.uk"],"query":[],"variable":[]}},"response":[],"_postman_id":"fb753152-0d7c-4b52-8d18-aa64c112b8b3"}],"id":"f026a978-25ca-4a4c-97db-2eeebb840add","_postman_id":"f026a978-25ca-4a4c-97db-2eeebb840add","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"your_api_key"}]},"isInherited":true,"source":{"_postman_id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","name":"Wholesale Merchandise API","type":"collection"}}},{"name":"Stocks","item":[{"name":"Stocks JSON","id":"26910872-a713-4043-95f8-71e69e570253","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"x-Gateway-APIKey","value":"your API Key here"}],"url":"https://staging.trademerch.co.uk/api/stocks","description":"<h1 id=\"get-all-stocks\">Get All Stocks</h1>\n<p>Returns the latest stock information for all products, including current quantities and upcoming arrivals.</p>\n<h2 id=\"request\">Request</h2>\n<h3 id=\"method\">Method</h3>\n<p>GET</p>\n<h3 id=\"url\">URL</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{{base_url}}/api/stocks\n\n</code></pre><h3 id=\"headers\">Headers</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Accept: application/json\n\n</code></pre><h2 id=\"response\">Response</h2>\n<h3 id=\"success-response-200-ok\">Success Response (200 OK)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"modified_at\": \"2025-02-28T12:00:00Z\",\n    \"stock\": [\n        {\n            \"sku\": \"TS-BLK-M\",\n            \"qty\": 150,\n            \"first_arrival_date\": \"2025-03-15\",\n            \"first_arrival_qty\": 500,\n            \"next_arrival_date\": \"2025-04-01\",\n            \"next_arrival_qty\": 1000\n        },\n        {\n            \"sku\": \"TS-WHT-L\",\n            \"qty\": 75,\n            \"first_arrival_date\": \"2025-03-20\",\n            \"first_arrival_qty\": 300,\n            \"next_arrival_date\": \"2025-04-15\",\n            \"next_arrival_qty\": 800\n        }\n    ]\n}\n\n</code></pre>\n<h2 id=\"error-responses\">Error Responses</h2>\n<h3 id=\"not-found\">Not Found</h3>\n<p><strong>Status Code:</strong> 404 Not Found</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"No stock data found\",\n    \"error\": \"NotFoundError\",\n    \"status_code\": 404\n}\n\n</code></pre>\n<h3 id=\"server-error\">Server Error</h3>\n<p><strong>Status Code:</strong> 500 Internal Server Error</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Internal server error occurred\",\n    \"error\": \"InternalServerError\",\n    \"status_code\": 500\n}\n\n</code></pre>\n<h2 id=\"response-fields-description\">Response Fields Description</h2>\n<h3 id=\"stock-fields\">Stock Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>modified_at</td>\n<td>string</td>\n<td>Timestamp of last stock update (ISO 8601 format)</td>\n</tr>\n<tr>\n<td>stock</td>\n<td>array</td>\n<td>Array of stock items</td>\n</tr>\n<tr>\n<td>sku</td>\n<td>string</td>\n<td>Stock Keeping Unit - unique product identifier</td>\n</tr>\n<tr>\n<td>qty</td>\n<td>integer</td>\n<td>Current available quantity</td>\n</tr>\n<tr>\n<td>first_arrival_date</td>\n<td>string</td>\n<td>Date of next expected stock arrival (YYYY-MM-DD)</td>\n</tr>\n<tr>\n<td>first_arrival_qty</td>\n<td>integer</td>\n<td>Quantity expected in next arrival</td>\n</tr>\n<tr>\n<td>next_arrival_date</td>\n<td>string</td>\n<td>Date of subsequent stock arrival (YYYY-MM-DD)</td>\n</tr>\n<tr>\n<td>next_arrival_qty</td>\n<td>integer</td>\n<td>Quantity expected in subsequent arrival</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"your_api_key"}]},"isInherited":true,"source":{"_postman_id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","name":"Wholesale Merchandise API","type":"collection"}},"urlObject":{"path":["api","stocks"],"host":["https://staging.trademerch.co.uk"],"query":[],"variable":[]}},"response":[],"_postman_id":"26910872-a713-4043-95f8-71e69e570253"},{"name":"Single Stock JSON","id":"8a1d1be9-416a-4e30-90f7-6d500c035e01","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"x-Gateway-APIKey","value":"your API Key here"}],"url":"https://staging.trademerch.co.uk/api/stocks/sku","description":"<h1 id=\"get-stock-by-sku\">Get Stock by SKU</h1>\n<p>Returns detailed stock information for a specific product SKU.</p>\n<h2 id=\"request\">Request</h2>\n<h3 id=\"method\">Method</h3>\n<p>GET</p>\n<h3 id=\"url\">URL</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{{base_url}}/api/stocks/{sku}\n\n</code></pre><h3 id=\"headers\">Headers</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Accept: application/json\n\n</code></pre><h3 id=\"url-parameters\">URL Parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>sku</td>\n<td>string</td>\n<td>Yes</td>\n<td>Product SKU to lookup</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"response\">Response</h2>\n<h3 id=\"success-response-200-ok\">Success Response (200 OK)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"modified_at\": \"2025-02-28T12:00:00Z\",\n    \"stock\": {\n        \"sku\": \"TS-BLK-M\",\n        \"qty\": 150,\n        \"first_arrival_date\": \"2025-03-15\",\n        \"first_arrival_qty\": 500,\n        \"next_arrival_date\": \"2025-04-01\",\n        \"next_arrival_qty\": 1000\n    }\n}\n\n</code></pre>\n<h2 id=\"error-responses\">Error Responses</h2>\n<h3 id=\"not-found\">Not Found</h3>\n<p><strong>Status Code:</strong> 404 Not Found</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Stock not found\",\n    \"error\": \"NotFoundError\",\n    \"status_code\": 404\n}\n\n</code></pre>\n<h3 id=\"server-error\">Server Error</h3>\n<p><strong>Status Code:</strong> 500 Internal Server Error</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Internal server error occurred\",\n    \"error\": \"InternalServerError\",\n    \"status_code\": 500\n}\n\n</code></pre>\n<h2 id=\"response-fields-description\">Response Fields Description</h2>\n<h3 id=\"stock-fields\">Stock Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>modified_at</td>\n<td>string</td>\n<td>Timestamp of last stock update (ISO 8601 format)</td>\n</tr>\n<tr>\n<td>stock</td>\n<td>object</td>\n<td>Stock information object</td>\n</tr>\n<tr>\n<td>sku</td>\n<td>string</td>\n<td>Stock Keeping Unit - unique product identifier</td>\n</tr>\n<tr>\n<td>qty</td>\n<td>integer</td>\n<td>Current available quantity</td>\n</tr>\n<tr>\n<td>first_arrival_date</td>\n<td>string</td>\n<td>Date of next expected stock arrival (YYYY-MM-DD)</td>\n</tr>\n<tr>\n<td>first_arrival_qty</td>\n<td>integer</td>\n<td>Quantity expected in next arrival</td>\n</tr>\n<tr>\n<td>next_arrival_date</td>\n<td>string</td>\n<td>Date of subsequent stock arrival (YYYY-MM-DD)</td>\n</tr>\n<tr>\n<td>next_arrival_qty</td>\n<td>integer</td>\n<td>Quantity expected in subsequent arrival</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"your_api_key"}]},"isInherited":true,"source":{"_postman_id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","name":"Wholesale Merchandise API","type":"collection"}},"urlObject":{"path":["api","stocks","sku"],"host":["https://staging.trademerch.co.uk"],"query":[],"variable":[]}},"response":[],"_postman_id":"8a1d1be9-416a-4e30-90f7-6d500c035e01"}],"id":"64064c10-30fc-43f4-873e-ebbf388c3996","description":"<p>This collection contains endpoints for retrieving real-time stock information for products. Get current stock levels, upcoming arrivals, and stock details for specific SKUs. Stock information is updated every hour.</p>\n<p>The stock API returns the available stock in our warehouse and the next two stock arrivals if applicable. In this case it tells us that item WSM-KC2364-37 does not have current stock, but on 25/08/2023 3000 pcs will arrive to the Warehouse and also another shipment will arrive on 22/09/2023 with 5000 extra pcs.</p>\n<h2 id=\"available-endpoints\">Available Endpoints</h2>\n<ul>\n<li><p>Get All Stocks (GET /api/stocks)</p>\n</li>\n<li><p>Get Stock by SKU (GET /api/stocks/{sku})</p>\n</li>\n</ul>\n","_postman_id":"64064c10-30fc-43f4-873e-ebbf388c3996","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"your_api_key"}]},"isInherited":true,"source":{"_postman_id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","name":"Wholesale Merchandise API","type":"collection"}}},{"name":"Prints","item":[{"name":"Prints JSON","id":"8925f4e3-ab24-42b3-9976-fcc5b1e7daa6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"x-Gateway-APIKey","value":"your API Key here"}],"url":"https://staging.trademerch.co.uk/api/prints","description":"<h1 id=\"get-all-prints\">Get All Prints</h1>\n<p>Returns printing information for all products, including print positions, techniques, and specifications.</p>\n<h2 id=\"request\">Request</h2>\n<h3 id=\"method\">Method</h3>\n<p>GET</p>\n<h3 id=\"url\">URL</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{{base_url}}/api/prints\n\n</code></pre><h3 id=\"headers\">Headers</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Accept: application/json\n\n</code></pre><h2 id=\"response\">Response</h2>\n<h3 id=\"success-response-200-ok\">Success Response (200 OK)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"products\": [\n        {\n            \"master_code\": \"12345\",\n            \"master_id\": \"ABC123\",\n            \"print_manipulation\": \"allowed\",\n            \"print_template\": \"template_url\",\n            \"item_color_numbers\": [\n                \"1\",\n                \"2\",\n                \"3\"\n            ],\n            \"printing_positions\": [\n                {\n                    \"position_id\": \"front\",\n                    \"print_size_unit\": \"cm\",\n                    \"max_print_size_height\": 20,\n                    \"max_print_size_width\": 15,\n                    \"rotation\": 0,\n                    \"print_position_type\": \"standard\",\n                    \"points\": [\n                        {\n                            \"sequence_no\": 1,\n                            \"distance_from_left\": 10,\n                            \"distance_from_top\": 5\n                        }\n                    ],\n                    \"images\": [\n                        {\n                            \"variant_color\": \"black\",\n                            \"print_position_image_blank\": \"blank_image_url\",\n                            \"print_position_image_with_area\": \"area_image_url\"\n                        }\n                    ],\n                    \"printing_techniques\": [\n                        {\n                            \"id\": \"screen\",\n                            \"default\": true,\n                            \"max_colours\": 4\n                        }\n                    ]\n                }\n            ]\n        }\n    ]\n}\n\n</code></pre>\n<h2 id=\"error-responses\">Error Responses</h2>\n<h3 id=\"not-found\">Not Found</h3>\n<p><strong>Status Code:</strong> 404 Not Found</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"No print data found\",\n    \"error\": \"NotFoundError\",\n    \"status_code\": 404\n}\n\n</code></pre>\n<h3 id=\"server-error\">Server Error</h3>\n<p><strong>Status Code:</strong> 500 Internal Server Error</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Internal server error occurred\",\n    \"error\": \"InternalServerError\",\n    \"status_code\": 500\n}\n\n</code></pre>\n<h2 id=\"response-fields-description\">Response Fields Description</h2>\n<h3 id=\"product-fields\">Product Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>master_code</td>\n<td>string</td>\n<td>Unique identifier for the product</td>\n</tr>\n<tr>\n<td>master_id</td>\n<td>string</td>\n<td>Internal master ID</td>\n</tr>\n<tr>\n<td>print_manipulation</td>\n<td>string</td>\n<td>Whether print manipulation is allowed</td>\n</tr>\n<tr>\n<td>print_template</td>\n<td>string</td>\n<td>URL of the print template</td>\n</tr>\n<tr>\n<td>item_color_numbers</td>\n<td>array</td>\n<td>Array of available color numbers</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"printing-position-fields\">Printing Position Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>position_id</td>\n<td>string</td>\n<td>Identifier for print position (e.g., \"front\")</td>\n</tr>\n<tr>\n<td>print_size_unit</td>\n<td>string</td>\n<td>Unit for print size measurements</td>\n</tr>\n<tr>\n<td>max_print_size_height</td>\n<td>number</td>\n<td>Maximum allowed print height</td>\n</tr>\n<tr>\n<td>max_print_size_width</td>\n<td>number</td>\n<td>Maximum allowed print width</td>\n</tr>\n<tr>\n<td>rotation</td>\n<td>number</td>\n<td>Rotation angle in degrees</td>\n</tr>\n<tr>\n<td>print_position_type</td>\n<td>string</td>\n<td>Type of print position</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"print-point-fields\">Print Point Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>sequence_no</td>\n<td>integer</td>\n<td>Sequence number of the point</td>\n</tr>\n<tr>\n<td>distance_from_left</td>\n<td>number</td>\n<td>Distance from left edge</td>\n</tr>\n<tr>\n<td>distance_from_top</td>\n<td>number</td>\n<td>Distance from top edge</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"print-image-fields\">Print Image Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>variant_color</td>\n<td>string</td>\n<td>Color variant identifier</td>\n</tr>\n<tr>\n<td>print_position_image_blank</td>\n<td>string</td>\n<td>URL of blank position image</td>\n</tr>\n<tr>\n<td>print_position_image_with_area</td>\n<td>string</td>\n<td>URL of position image with print area marked</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"printing-technique-fields\">Printing Technique Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>string</td>\n<td>Identifier for the printing technique</td>\n</tr>\n<tr>\n<td>default</td>\n<td>boolean</td>\n<td>Whether this is the default technique</td>\n</tr>\n<tr>\n<td>max_colours</td>\n<td>integer</td>\n<td>Maximum number of colors allowed</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"your_api_key"}]},"isInherited":true,"source":{"_postman_id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","name":"Wholesale Merchandise API","type":"collection"}},"urlObject":{"path":["api","prints"],"host":["https://staging.trademerch.co.uk"],"query":[],"variable":[]}},"response":[],"_postman_id":"8925f4e3-ab24-42b3-9976-fcc5b1e7daa6"},{"name":"Single Print JSON","id":"bd18b5e5-efbd-4d08-b800-562c8ffd22d3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"x-Gateway-APIKey","value":"your API Key here"}],"url":"https://staging.trademerch.co.uk/api/prints/master_code","description":"<h1 id=\"get-print-details\">Get Print Details</h1>\n<p>Returns detailed printing information for a specific product, including print positions, techniques, and specifications.</p>\n<h2 id=\"request\">Request</h2>\n<h3 id=\"method\">Method</h3>\n<p>GET</p>\n<h3 id=\"url\">URL</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{{base_url}}/api/prints/{masterCode}\n\n</code></pre><h3 id=\"headers\">Headers</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Accept: application/json\n\n</code></pre><h3 id=\"url-parameters\">URL Parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>masterCode</td>\n<td>string</td>\n<td>Yes</td>\n<td>Product's master code</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"response\">Response</h2>\n<h3 id=\"success-response-200-ok\">Success Response (200 OK)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"master_code\": \"12345\",\n    \"master_id\": \"ABC123\",\n    \"print_manipulation\": \"allowed\",\n    \"print_template\": \"template_url\",\n    \"item_color_numbers\": [\n        \"1\",\n        \"2\",\n        \"3\"\n    ],\n    \"printing_positions\": [\n        {\n            \"position_id\": \"front\",\n            \"print_size_unit\": \"cm\",\n            \"max_print_size_height\": 20,\n            \"max_print_size_width\": 15,\n            \"rotation\": 0,\n            \"print_position_type\": \"standard\",\n            \"points\": [\n                {\n                    \"sequence_no\": 1,\n                    \"distance_from_left\": 10,\n                    \"distance_from_top\": 5\n                }\n            ],\n            \"images\": [\n                {\n                    \"variant_color\": \"black\",\n                    \"print_position_image_blank\": \"blank_image_url\",\n                    \"print_position_image_with_area\": \"area_image_url\"\n                }\n            ],\n            \"printing_techniques\": [\n                {\n                    \"id\": \"screen\",\n                    \"default\": true,\n                    \"max_colours\": 4\n                }\n            ]\n        }\n    ]\n}\n\n</code></pre>\n<h2 id=\"error-responses\">Error Responses</h2>\n<h3 id=\"not-found\">Not Found</h3>\n<p><strong>Status Code:</strong> 404 Not Found</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Print data not found\",\n    \"error\": \"NotFoundError\",\n    \"status_code\": 404\n}\n\n</code></pre>\n<h3 id=\"invalid-master-code\">Invalid Master Code</h3>\n<p><strong>Status Code:</strong> 400 Bad Request</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Invalid master code format\",\n    \"error\": \"ValidationError\",\n    \"status_code\": 400\n}\n\n</code></pre>\n<h3 id=\"server-error\">Server Error</h3>\n<p><strong>Status Code:</strong> 500 Internal Server Error</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Internal server error occurred\",\n    \"error\": \"InternalServerError\",\n    \"status_code\": 500\n}\n\n</code></pre>\n<h2 id=\"response-fields-description\">Response Fields Description</h2>\n<h3 id=\"product-fields\">Product Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>master_code</td>\n<td>string</td>\n<td>Unique identifier for the product</td>\n</tr>\n<tr>\n<td>master_id</td>\n<td>string</td>\n<td>Internal master ID</td>\n</tr>\n<tr>\n<td>print_manipulation</td>\n<td>string</td>\n<td>Whether print manipulation is allowed</td>\n</tr>\n<tr>\n<td>print_template</td>\n<td>string</td>\n<td>URL of the print template</td>\n</tr>\n<tr>\n<td>item_color_numbers</td>\n<td>array</td>\n<td>Array of available color numbers</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"printing-position-fields\">Printing Position Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>position_id</td>\n<td>string</td>\n<td>Identifier for print position (e.g., \"front\")</td>\n</tr>\n<tr>\n<td>print_size_unit</td>\n<td>string</td>\n<td>Unit for print size measurements</td>\n</tr>\n<tr>\n<td>max_print_size_height</td>\n<td>number</td>\n<td>Maximum allowed print height</td>\n</tr>\n<tr>\n<td>max_print_size_width</td>\n<td>number</td>\n<td>Maximum allowed print width</td>\n</tr>\n<tr>\n<td>rotation</td>\n<td>number</td>\n<td>Rotation angle in degrees</td>\n</tr>\n<tr>\n<td>print_position_type</td>\n<td>string</td>\n<td>Type of print position</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"print-point-fields\">Print Point Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>sequence_no</td>\n<td>integer</td>\n<td>Sequence number of the point</td>\n</tr>\n<tr>\n<td>distance_from_left</td>\n<td>number</td>\n<td>Distance from left edge</td>\n</tr>\n<tr>\n<td>distance_from_top</td>\n<td>number</td>\n<td>Distance from top edge</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"print-image-fields\">Print Image Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>variant_color</td>\n<td>string</td>\n<td>Color variant identifier</td>\n</tr>\n<tr>\n<td>print_position_image_blank</td>\n<td>string</td>\n<td>URL of blank position image</td>\n</tr>\n<tr>\n<td>print_position_image_with_area</td>\n<td>string</td>\n<td>URL of position image with print area marked</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"printing-technique-fields\">Printing Technique Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>string</td>\n<td>Identifier for the printing technique</td>\n</tr>\n<tr>\n<td>default</td>\n<td>boolean</td>\n<td>Whether this is the default technique</td>\n</tr>\n<tr>\n<td>max_colours</td>\n<td>integer</td>\n<td>Maximum number of colors allowed</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"your_api_key"}]},"isInherited":true,"source":{"_postman_id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","name":"Wholesale Merchandise API","type":"collection"}},"urlObject":{"path":["api","prints","master_code"],"host":["https://staging.trademerch.co.uk"],"query":[],"variable":[]}},"response":[],"_postman_id":"bd18b5e5-efbd-4d08-b800-562c8ffd22d3"}],"id":"4047a9db-fb14-4391-ac13-dd77674405b7","description":"<h1 id=\"prints\">Prints</h1>\n<p>This collection contains endpoints for retrieving printing-related information for products. Get details of all the Printing options that are available for the products, print positions, available printing techniques per position, the max print size, max print colors and template images of the positions.</p>\n<p>The Print data contains the specifics of printing of each single item in our collection, every time that there is a change on the printing information of a product in our system the file is updated overnight. Printing Data has the following features:<br />▪ Can be requested via REST API, in json format.<br />▪ Includes Printing Information about Textiles<br />▪ Product variants are not separated since they have the same printing information.<br />▪ Shows specifics print area points.</p>\n<p>The printdata file starts with a set of labels with the translations of each Printing Technique in the different languages, so you will not need to make the translations as they can be picked up directly from the data.</p>\n<p>After that information you will get an specific data about the printing options per item. Please, notice that in this case the relation is N:1 as the printing information is the same for the different colours of an item. In this case you can relate the Product Information file with the Printing Information file by the label “master_code”. The tag “print_manipulation” specifices the manipulation group of an item, it can be A, B, C, D, E or Z (in some cases if there is none the code will show as null).<br />If you search this letter code in the print pricelist file you can get the prices for the handling of a product.</p>\n<h2 id=\"available-endpoints\">Available Endpoints</h2>\n<ul>\n<li><p>Get All Prints (GET /api/prints)</p>\n</li>\n<li><p>Get Print Details (GET /api/prints/{masterCode})</p>\n</li>\n</ul>\n","_postman_id":"4047a9db-fb14-4391-ac13-dd77674405b7","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"your_api_key"}]},"isInherited":true,"source":{"_postman_id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","name":"Wholesale Merchandise API","type":"collection"}}},{"name":"Product Prices","item":[{"name":"Product Prices JSON","id":"16d68ed7-b1f0-4e98-a8fa-77115c4472d8","protocolProfileBehavior":{"disabledSystemHeaders":{},"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"x-Gateway-APIKey","value":"your API Key here"}],"url":"https://staging.trademerch.co.uk/api/stocks/prices","description":"<h1 id=\"get-all-prices\">Get All Prices</h1>\n<p>Returns the latest price information for all products, including base prices and quantity-based price scales.</p>\n<h2 id=\"request\">Request</h2>\n<h3 id=\"method\">Method</h3>\n<p>GET</p>\n<h3 id=\"url\">URL</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{{base_url}}/api/prices\n\n</code></pre><h3 id=\"headers\">Headers</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Accept: application/json\n\n</code></pre><h2 id=\"response\">Response</h2>\n<h3 id=\"success-response-200-ok\">Success Response (200 OK)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"currency\": \"EUR\",\n    \"date\": \"2025-02-28\",\n    \"price\": [\n        {\n            \"sku\": \"TS-BLK-M\",\n            \"variant_id\": \"VAR-001\",\n            \"price\": 19.99,\n            \"valid_until\": \"2025-12-31\",\n            \"scale\": [\n                {\n                    \"minimum_quantity\": 1,\n                    \"price\": 19.99\n                },\n                {\n                    \"minimum_quantity\": 50,\n                    \"price\": 17.99\n                },\n                {\n                    \"minimum_quantity\": 100,\n                    \"price\": 15.99\n                }\n            ]\n        }\n    ]\n}\n\n</code></pre>\n<h2 id=\"error-responses\">Error Responses</h2>\n<h3 id=\"not-found\">Not Found</h3>\n<p><strong>Status Code:</strong> 404 Not Found</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"No price data found\",\n    \"error\": \"NotFoundError\",\n    \"status_code\": 404\n}\n\n</code></pre>\n<h3 id=\"server-error\">Server Error</h3>\n<p><strong>Status Code:</strong> 500 Internal Server Error</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Internal server error occurred\",\n    \"error\": \"InternalServerError\",\n    \"status_code\": 500\n}\n\n</code></pre>\n<h2 id=\"response-fields-description\">Response Fields Description</h2>\n<h3 id=\"price-detail-fields\">Price Detail Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>currency</td>\n<td>string</td>\n<td>Currency code (e.g., \"EUR\", \"USD\")</td>\n</tr>\n<tr>\n<td>date</td>\n<td>string</td>\n<td>Date of price data (YYYY-MM-DD)</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"price-fields\">Price Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>sku</td>\n<td>string</td>\n<td>Stock Keeping Unit - unique product identifier</td>\n</tr>\n<tr>\n<td>variant_id</td>\n<td>string</td>\n<td>Variant identifier</td>\n</tr>\n<tr>\n<td>price</td>\n<td>number</td>\n<td>Base price for the product</td>\n</tr>\n<tr>\n<td>valid_until</td>\n<td>string</td>\n<td>Price validity end date (YYYY-MM-DD)</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"price-scale-fields\">Price Scale Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>minimum_quantity</td>\n<td>integer</td>\n<td>Minimum quantity for this price tier</td>\n</tr>\n<tr>\n<td>price</td>\n<td>number</td>\n<td>Price per unit at this quantity tier</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"your_api_key"}]},"isInherited":true,"source":{"_postman_id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","name":"Wholesale Merchandise API","type":"collection"}},"urlObject":{"path":["api","stocks","prices"],"host":["https://staging.trademerch.co.uk"],"query":[],"variable":[]}},"response":[],"_postman_id":"16d68ed7-b1f0-4e98-a8fa-77115c4472d8"},{"name":"Single Product Prices JSON","id":"2469f76e-8a5b-4cb6-95eb-d57c91d8567a","protocolProfileBehavior":{"disabledSystemHeaders":{},"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"x-Gateway-APIKey","value":"your API Key here"}],"url":"https://staging.trademerch.co.uk/api/prices/sku","description":"<h1 id=\"get-price-by-sku\">Get Price by SKU</h1>\n<p>Returns detailed price information for a specific product SKU, including base price and quantity-based price scales.</p>\n<h2 id=\"request\">Request</h2>\n<h3 id=\"method\">Method</h3>\n<p>GET</p>\n<h3 id=\"url\">URL</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{{base_url}}/api/prices/{sku}\n\n</code></pre><h3 id=\"headers\">Headers</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Accept: application/json\n\n</code></pre><h3 id=\"url-parameters\">URL Parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>sku</td>\n<td>string</td>\n<td>Yes</td>\n<td>Product SKU to lookup</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"response\">Response</h2>\n<h3 id=\"success-response-200-ok\">Success Response (200 OK)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"currency\": \"EUR\",\n    \"date\": \"2025-02-28\",\n    \"price\": {\n        \"sku\": \"TS-BLK-M\",\n        \"variant_id\": \"VAR-001\",\n        \"price\": 19.99,\n        \"valid_until\": \"2025-12-31\",\n        \"scale\": [\n            {\n                \"minimum_quantity\": 1,\n                \"price\": 19.99\n            },\n            {\n                \"minimum_quantity\": 50,\n                \"price\": 17.99\n            },\n            {\n                \"minimum_quantity\": 100,\n                \"price\": 15.99\n            }\n        ]\n    }\n}\n\n</code></pre>\n<h2 id=\"error-responses\">Error Responses</h2>\n<h3 id=\"not-found\">Not Found</h3>\n<p><strong>Status Code:</strong> 404 Not Found</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Price not found\",\n    \"error\": \"NotFoundError\",\n    \"status_code\": 404\n}\n\n</code></pre>\n<h3 id=\"invalid-sku\">Invalid SKU</h3>\n<p><strong>Status Code:</strong> 400 Bad Request</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Invalid SKU format\",\n    \"error\": \"ValidationError\",\n    \"status_code\": 400\n}\n\n</code></pre>\n<h3 id=\"server-error\">Server Error</h3>\n<p><strong>Status Code:</strong> 500 Internal Server Error</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Internal server error occurred\",\n    \"error\": \"InternalServerError\",\n    \"status_code\": 500\n}\n\n</code></pre>\n<h2 id=\"response-fields-description\">Response Fields Description</h2>\n<h3 id=\"price-detail-fields\">Price Detail Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>currency</td>\n<td>string</td>\n<td>Currency code (e.g., \"EUR\", \"USD\")</td>\n</tr>\n<tr>\n<td>date</td>\n<td>string</td>\n<td>Date of price data (YYYY-MM-DD)</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"price-fields\">Price Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>sku</td>\n<td>string</td>\n<td>Stock Keeping Unit - unique product identifier</td>\n</tr>\n<tr>\n<td>variant_id</td>\n<td>string</td>\n<td>Variant identifier</td>\n</tr>\n<tr>\n<td>price</td>\n<td>number</td>\n<td>Base price for the product</td>\n</tr>\n<tr>\n<td>valid_until</td>\n<td>string</td>\n<td>Price validity end date (YYYY-MM-DD)</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"price-scale-fields\">Price Scale Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>minimum_quantity</td>\n<td>integer</td>\n<td>Minimum quantity for this price tier</td>\n</tr>\n<tr>\n<td>price</td>\n<td>number</td>\n<td>Price per unit at this quantity tier</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"your_api_key"}]},"isInherited":true,"source":{"_postman_id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","name":"Wholesale Merchandise API","type":"collection"}},"urlObject":{"path":["api","prices","sku"],"host":["https://staging.trademerch.co.uk"],"query":[],"variable":[]}},"response":[],"_postman_id":"2469f76e-8a5b-4cb6-95eb-d57c91d8567a"}],"id":"536a07ef-c8a5-4351-aa95-c2b12ba0bca2","description":"<h1 id=\"prices\">Prices</h1>\n<p>This collection contains the specific customer pricing per item (any discount or condition that you have will be reflected on this file).</p>\n<p>The output will be a complete file with the specific customer pricing (based on the api key on the input) for the entire Product assortment. You will have to integrate the content of the output json file into your database.</p>\n<h2 id=\"available-endpoints\">Available Endpoints</h2>\n<ul>\n<li><p>Get All Prices (GET /api/prices)</p>\n</li>\n<li><p>Get Price Details (GET /api/prices/{sku})</p>\n</li>\n</ul>\n","_postman_id":"536a07ef-c8a5-4351-aa95-c2b12ba0bca2","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"your_api_key"}]},"isInherited":true,"source":{"_postman_id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","name":"Wholesale Merchandise API","type":"collection"}}},{"name":"Print Prices","item":[{"name":"Print Prices JSON","id":"40cbdeac-65f8-48b5-bfc4-aa33fb5ee20a","protocolProfileBehavior":{"disabledSystemHeaders":{},"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"x-Gateway-APIKey","value":"your API Key here"}],"url":"https://staging.trademerch.co.uk/api/print-prices","description":"<h1 id=\"get-all-print-prices\">Get All Print Prices</h1>\n<p>Returns pricing information for all print techniques and manipulations, including setup costs and quantity-based price scales.</p>\n<h2 id=\"request\">Request</h2>\n<h3 id=\"method\">Method</h3>\n<p>GET</p>\n<h3 id=\"url\">URL</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{{base_url}}/api/print-prices\n\n</code></pre><h3 id=\"headers\">Headers</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Accept: application/json\n\n</code></pre><h2 id=\"response\">Response</h2>\n<h3 id=\"success-response-200-ok\">Success Response (200 OK)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"currency\": \"EUR\",\n    \"pricelist_valid_from\": \"2025-01-01\",\n    \"pricelist_valid_until\": \"2025-12-31\",\n    \"print_manipulations\": [\n        {\n            \"code\": \"PREP\",\n            \"description\": \"Artwork preparation\",\n            \"price\": 25.00\n        }\n    ],\n    \"print_techniques\": [\n        {\n            \"id\": \"SCREEN\",\n            \"description\": \"Screen printing\",\n            \"pricing_type\": \"quantity_based\",\n            \"setup\": 50.00,\n            \"setup_repeat\": 25.00,\n            \"next_colour_cost_indicator\": \"true\",\n            \"var_costs\": [\n                {\n                    \"range_id\": 1,\n                    \"area_from\": 0,\n                    \"area_to\": 50,\n                    \"scales\": [\n                        {\n                            \"minimum_quantity\": 1,\n                            \"price\": 2.50,\n                            \"next_price\": 1.50\n                        },\n                        {\n                            \"minimum_quantity\": 50,\n                            \"price\": 2.00,\n                            \"next_price\": 1.25\n                        },\n                        {\n                            \"minimum_quantity\": 100,\n                            \"price\": 1.75,\n                            \"next_price\": 1.00\n                        }\n                    ]\n                }\n            ]\n        }\n    ]\n}\n\n</code></pre>\n<h2 id=\"error-responses\">Error Responses</h2>\n<h3 id=\"not-found\">Not Found</h3>\n<p><strong>Status Code:</strong> 404 Not Found</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"No print price data found\",\n    \"error\": \"NotFoundError\",\n    \"status_code\": 404\n}\n\n</code></pre>\n<h3 id=\"server-error\">Server Error</h3>\n<p><strong>Status Code:</strong> 500 Internal Server Error</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Internal server error occurred\",\n    \"error\": \"InternalServerError\",\n    \"status_code\": 500\n}\n\n</code></pre>\n<h2 id=\"response-fields-description\">Response Fields Description</h2>\n<h3 id=\"price-list-fields\">Price List Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>currency</td>\n<td>string</td>\n<td>Currency code (e.g., \"EUR\", \"USD\")</td>\n</tr>\n<tr>\n<td>pricelist_valid_from</td>\n<td>string</td>\n<td>Start date of price list validity (YYYY-MM-DD)</td>\n</tr>\n<tr>\n<td>pricelist_valid_until</td>\n<td>string</td>\n<td>End date of price list validity (YYYY-MM-DD)</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"print-manipulation-fields\">Print Manipulation Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>code</td>\n<td>string</td>\n<td>Unique identifier for the manipulation</td>\n</tr>\n<tr>\n<td>description</td>\n<td>string</td>\n<td>Description of the manipulation</td>\n</tr>\n<tr>\n<td>price</td>\n<td>number</td>\n<td>Cost of the manipulation</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"print-technique-fields\">Print Technique Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>string</td>\n<td>Unique identifier for the technique</td>\n</tr>\n<tr>\n<td>description</td>\n<td>string</td>\n<td>Description of the printing technique</td>\n</tr>\n<tr>\n<td>pricing_type</td>\n<td>string</td>\n<td>Type of pricing (e.g., \"quantity_based\")</td>\n</tr>\n<tr>\n<td>setup</td>\n<td>number</td>\n<td>Initial setup cost</td>\n</tr>\n<tr>\n<td>setup_repeat</td>\n<td>number</td>\n<td>Setup cost for repeat orders</td>\n</tr>\n<tr>\n<td>next_colour_cost_indicator</td>\n<td>string</td>\n<td>Whether additional colors affect price (\"true\"/\"false\")</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"variable-cost-fields\">Variable Cost Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>range_id</td>\n<td>integer</td>\n<td>Identifier for the price range</td>\n</tr>\n<tr>\n<td>area_from</td>\n<td>number</td>\n<td>Starting print area for this range</td>\n</tr>\n<tr>\n<td>area_to</td>\n<td>number</td>\n<td>Ending print area for this range</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"cost-scale-fields\">Cost Scale Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>minimum_quantity</td>\n<td>integer</td>\n<td>Minimum quantity for this price tier</td>\n</tr>\n<tr>\n<td>price</td>\n<td>number</td>\n<td>Price per unit at this quantity tier</td>\n</tr>\n<tr>\n<td>next_price</td>\n<td>number</td>\n<td>Price per unit for additional colors (optional)</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"your_api_key"}]},"isInherited":true,"source":{"_postman_id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","name":"Wholesale Merchandise API","type":"collection"}},"urlObject":{"path":["api","print-prices"],"host":["https://staging.trademerch.co.uk"],"query":[],"variable":[]}},"response":[],"_postman_id":"40cbdeac-65f8-48b5-bfc4-aa33fb5ee20a"},{"name":"Single Print Price JSON","id":"56fd7e2d-43db-4e74-b435-2196ee07a0a1","protocolProfileBehavior":{"disabledSystemHeaders":{},"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"x-Gateway-APIKey","value":"your API Key here"}],"url":"https://staging.trademerch.co.uk/api/print-prices/technique_code","description":"<h1 id=\"get-print-technique-price\">Get Print Technique Price</h1>\n<p>Returns detailed pricing information for a specific print technique, including setup costs, manipulations, and quantity-based price scales.</p>\n<h2 id=\"request\">Request</h2>\n<h3 id=\"method\">Method</h3>\n<p>GET</p>\n<h3 id=\"url\">URL</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{{base_url}}/api/print-prices/{techniqueCode}\n\n</code></pre><h3 id=\"headers\">Headers</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Accept: application/json\n\n</code></pre><h3 id=\"url-parameters\">URL Parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>techniqueCode</td>\n<td>string</td>\n<td>Yes</td>\n<td>Print technique code to lookup</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"response\">Response</h2>\n<h3 id=\"success-response-200-ok\">Success Response (200 OK)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"currency\": \"EUR\",\n    \"pricelist_valid_from\": \"2025-01-01\",\n    \"pricelist_valid_until\": \"2025-12-31\",\n    \"print_manipulations\": [\n        {\n            \"code\": \"PREP\",\n            \"description\": \"Artwork preparation\",\n            \"price\": 25.00\n        }\n    ],\n    \"print_technique\": {\n        \"id\": \"SCREEN\",\n        \"description\": \"Screen printing\",\n        \"pricing_type\": \"quantity_based\",\n        \"setup\": 50.00,\n        \"setup_repeat\": 25.00,\n        \"next_colour_cost_indicator\": \"true\",\n        \"var_costs\": [\n            {\n                \"range_id\": 1,\n                \"area_from\": 0,\n                \"area_to\": 50,\n                \"scales\": [\n                    {\n                        \"minimum_quantity\": 1,\n                        \"price\": 2.50,\n                        \"next_price\": 1.50\n                    },\n                    {\n                        \"minimum_quantity\": 50,\n                        \"price\": 2.00,\n                        \"next_price\": 1.25\n                    },\n                    {\n                        \"minimum_quantity\": 100,\n                        \"price\": 1.75,\n                        \"next_price\": 1.00\n                    }\n                ]\n            }\n        ]\n    }\n}\n\n</code></pre>\n<h2 id=\"error-responses\">Error Responses</h2>\n<h3 id=\"not-found\">Not Found</h3>\n<p><strong>Status Code:</strong> 404 Not Found</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Print technique not found\",\n    \"error\": \"NotFoundError\",\n    \"status_code\": 404\n}\n\n</code></pre>\n<h3 id=\"invalid-technique-code\">Invalid Technique Code</h3>\n<p><strong>Status Code:</strong> 400 Bad Request</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Invalid technique code format\",\n    \"error\": \"ValidationError\",\n    \"status_code\": 400\n}\n\n</code></pre>\n<h3 id=\"server-error\">Server Error</h3>\n<p><strong>Status Code:</strong> 500 Internal Server Error</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Internal server error occurred\",\n    \"error\": \"InternalServerError\",\n    \"status_code\": 500\n}\n\n</code></pre>\n<h2 id=\"response-fields-description\">Response Fields Description</h2>\n<h3 id=\"price-list-fields\">Price List Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>currency</td>\n<td>string</td>\n<td>Currency code (e.g., \"EUR\", \"USD\")</td>\n</tr>\n<tr>\n<td>pricelist_valid_from</td>\n<td>string</td>\n<td>Start date of price list validity (YYYY-MM-DD)</td>\n</tr>\n<tr>\n<td>pricelist_valid_until</td>\n<td>string</td>\n<td>End date of price list validity (YYYY-MM-DD)</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"print-manipulation-fields\">Print Manipulation Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>code</td>\n<td>string</td>\n<td>Unique identifier for the manipulation</td>\n</tr>\n<tr>\n<td>description</td>\n<td>string</td>\n<td>Description of the manipulation</td>\n</tr>\n<tr>\n<td>price</td>\n<td>number</td>\n<td>Cost of the manipulation</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"print-technique-fields\">Print Technique Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>string</td>\n<td>Unique identifier for the technique</td>\n</tr>\n<tr>\n<td>description</td>\n<td>string</td>\n<td>Description of the printing technique</td>\n</tr>\n<tr>\n<td>pricing_type</td>\n<td>string</td>\n<td>Type of pricing (e.g., \"quantity_based\")</td>\n</tr>\n<tr>\n<td>setup</td>\n<td>number</td>\n<td>Initial setup cost</td>\n</tr>\n<tr>\n<td>setup_repeat</td>\n<td>number</td>\n<td>Setup cost for repeat orders</td>\n</tr>\n<tr>\n<td>next_colour_cost_indicator</td>\n<td>string</td>\n<td>Whether additional colors affect price (\"true\"/\"false\")</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"variable-cost-fields\">Variable Cost Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>range_id</td>\n<td>integer</td>\n<td>Identifier for the price range</td>\n</tr>\n<tr>\n<td>area_from</td>\n<td>number</td>\n<td>Starting print area for this range</td>\n</tr>\n<tr>\n<td>area_to</td>\n<td>number</td>\n<td>Ending print area for this range</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"cost-scale-fields\">Cost Scale Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>minimum_quantity</td>\n<td>integer</td>\n<td>Minimum quantity for this price tier</td>\n</tr>\n<tr>\n<td>price</td>\n<td>number</td>\n<td>Price per unit at this quantity tier</td>\n</tr>\n<tr>\n<td>next_price</td>\n<td>number</td>\n<td>Price per unit for additional colors (optional)</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"your_api_key"}]},"isInherited":true,"source":{"_postman_id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","name":"Wholesale Merchandise API","type":"collection"}},"urlObject":{"path":["api","print-prices","technique_code"],"host":["https://staging.trademerch.co.uk"],"query":[],"variable":[]}},"response":[],"_postman_id":"56fd7e2d-43db-4e74-b435-2196ee07a0a1"}],"id":"dfa26451-ca9d-47a4-83b6-861ee95252e4","description":"<h1 id=\"print-prices\">Print Prices</h1>\n<p>This collection contains endpoints for retrieving pricing information related to printing services. Get details about print technique costs, manipulations, setup costs, and quantity-based price scales.</p>\n<p>The print pricelist starts with a header that shows the pricelist currency, validity date.<br />After that there’s a section with the different print manipulations prices and codes to relate to the printing data information.</p>\n<p>Next it shows the manipulation (handling) prices based on the code available in the Print Data in the field “print_manipulation”</p>\n<p>The printing specific section, here you can check the ID based on info in Print Data, the pricing type, which defines the way that the prices are calculated for the print technique.</p>\n<p>Below is a table that contains examples of calculations for each pricing type. If a cell is colored grey, it means that for that pricing type that information is not important.</p>\n<img src=\"https://content.pstmn.io/675c257d-750e-4c7f-8c87-c649ecb0b026/U2NyZWVuc2hvdCAyMDI1LTAzLTA1IGF0IDEwLjMyLjQ1LnBuZw==\" alt height=\"614\" width=\"1586\" />\n\n<h2 id=\"available-endpoints\">Available Endpoints</h2>\n<ul>\n<li><p>Get All Print Prices (GET /api/print-prices)</p>\n</li>\n<li><p>Get Print Technique Price (GET /api/print-prices/{techniqueCode})</p>\n</li>\n</ul>\n","_postman_id":"dfa26451-ca9d-47a4-83b6-861ee95252e4","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"your_api_key"}]},"isInherited":true,"source":{"_postman_id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","name":"Wholesale Merchandise API","type":"collection"}}},{"name":"Shipping","item":[{"name":"Calculate Shipping","id":"fdede7de-96dc-4d36-82cc-c8df9aac7d1a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"units\": 4, \n    \"weight\": 25,\n    \"order_value\": 500\n}","options":{"raw":{"language":"json"}}},"url":"https://staging.trademerch.co.uk/api/shipping/calculate","description":"<h1 id=\"calculate-shipping\">Calculate Shipping</h1>\n<p>Calculates shipping costs and delivery time based on order details. This endpoint determines shipping parameters by analyzing the number of units, total weight, and order value against predefined shipping rules.</p>\n<h2 id=\"endpoint\">Endpoint</h2>\n<p><strong>POST</strong> <code>/api/shipping/calculate</code></p>\n<h2 id=\"authentication\">Authentication</h2>\n<p>Requires Bearer token authentication via Sanctum.</p>\n<h2 id=\"request-body\">Request Body</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"units\": 100,\n    \"weight\": 25.5,\n    \"order_value\": 999.99\n}\n</code></pre>\n<h3 id=\"fields\">Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n<th>Required</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>units</td>\n<td>integer</td>\n<td>Number of items in the order (minimum: 1)</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>weight</td>\n<td>number</td>\n<td>Total weight of the order in kg (minimum: 0)</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>order_value</td>\n<td>number</td>\n<td>Total monetary value of the order (minimum: 0)</td>\n<td>Yes</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"success-response\">Success Response</h2>\n<p><strong>Status Code:</strong> 200 OK</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"shipping_time\": 3,\n    \"shipping_price\": 15.99\n}\n</code></pre>\n<h3 id=\"response-fields\">Response Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>shipping_time</td>\n<td>integer</td>\n<td>Estimated delivery time in business days</td>\n</tr>\n<tr>\n<td>shipping_price</td>\n<td>number</td>\n<td>Calculated shipping cost in the same currency as order_value</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"error-responses\">Error Responses</h2>\n<h3 id=\"validation-error\">Validation Error</h3>\n<p><strong>Status Code:</strong> 422 Unprocessable Entity</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"error\": \"Validation failed\",\n    \"messages\": {\n        \"units\": [\n            \"The units field is required.\",\n            \"The units must be at least 1.\"\n        ],\n        \"weight\": [\n            \"The weight field is required.\",\n            \"The weight must be at least 0.\"\n        ],\n        \"order_value\": [\n            \"The order value field is required.\",\n            \"The order value must be at least 0.\"\n        ]\n    }\n}\n</code></pre>\n<h3 id=\"authentication-error\">Authentication Error</h3>\n<p><strong>Status Code:</strong> 401 Unauthorized</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Unauthenticated.\"\n}\n</code></pre>\n<h2 id=\"important-notes\">Important Notes</h2>\n<ol>\n<li>Shipping calculations are based on predefined rules that consider:<ul>\n<li>Number of units ordered</li>\n<li>Total weight of the order</li>\n<li>Total order value</li>\n</ul>\n</li>\n<li>If no specific shipping rule matches the order parameters, default values are applied:<ul>\n<li>Shipping time: 5 business days</li>\n<li>Shipping price: 20.83</li>\n</ul>\n</li>\n<li>All monetary values should be in the same currency</li>\n<li>Weight should be provided in kilograms</li>\n<li>Shipping time is returned in business days</li>\n<li>The response prices are fixed based on shipping rules and do not include any dynamic calculations or real-time carrier rates</li>\n</ol>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"your_api_key"}]},"isInherited":true,"source":{"_postman_id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","name":"Wholesale Merchandise API","type":"collection"}},"urlObject":{"path":["api","shipping","calculate"],"host":["https://staging.trademerch.co.uk"],"query":[],"variable":[]}},"response":[],"_postman_id":"fdede7de-96dc-4d36-82cc-c8df9aac7d1a"}],"id":"41f0122b-7615-4d4d-973f-daab5c9a02b9","_postman_id":"41f0122b-7615-4d4d-973f-daab5c9a02b9","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"your_api_key"}]},"isInherited":true,"source":{"_postman_id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","name":"Wholesale Merchandise API","type":"collection"}}},{"name":"Orders","item":[{"name":"Create Order","id":"604d4f8c-c50e-46ac-af87-d080d6c205a0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"order_header\": {\n        \"po_number\": \"PO123456\",\n        \"currency\": \"USD\",\n        \"order_type\": \"standard\",\n        \"preferred_shipping_date\": \"2025-04-15\",\n        \"contact_email\": \"buyer@example.com\",\n        \"check_price\": true,\n        \"contact_name\": \"John Doe\",\n        \"company_name\": \"ABC Corp\",\n        \"shipping_address\": {\n            \"contact_name\": \"Jane Smith\",\n            \"company_name\": \"ABC Corp Warehouse\",\n            \"street1\": \"123 Shipping St\",\n            \"postal_code\": \"12345\",\n            \"city\": \"Warehouse City\",\n            \"region\": \"State\",\n            \"country\": \"United States\",\n            \"email\": \"warehouse@example.com\",\n            \"phone\": \"+1-555-0123\"\n        }\n    },\n    \"order_lines\": [\n        {\n            \"sku\": \"TS-BLK-M\",\n            \"variant_id\": \"VAR-001\",\n            \"quantity\": 100,\n            \"expected_price\": 9.99\n        },\n        {\n            \"sku\": \"TS-BLK-L\",\n            \"variant_id\": \"VAR-002\",\n            \"quantity\": 50,\n            \"expected_price\": 9.99\n        }\n    ]\n}","options":{"raw":{"language":"json"}}},"url":"https://staging.trademerch.co.uk/api/orders","description":"<h1 id=\"create-order\">Create Order</h1>\n<p>Creates a new order with header information and line items. This endpoint handles order creation with comprehensive validation of stock availability and data integrity. It automatically reserves stock for ordered items and generates a unique order number.</p>\n<h2 id=\"endpoint\">Endpoint</h2>\n<p><em>POST</em> /api/orders</p>\n<h2 id=\"authentication\">Authentication</h2>\n<p>Requires Bearer token authentication via Sanctum.</p>\n<h2 id=\"request-body\">Request Body</h2>\n<p>The request must include both order header information and at least one order line item.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"order_header\": {\n    \"po_number\": \"PO-123457\",\n    \"currency\": \"EUR\",\n    \"order_type\": \"PRINT\",\n    \"preferred_shipping_date\": \"2025-06-15\",\n    \"contact_email\": \"alice.johnson@example.com\",\n    \"check_price\": true,\n    \"contact_name\": \"Alice Johnson\",\n    \"company_name\": \"Global Tech Ltd.\",\n    \"timestamp\": \"2025-06-15T10:30:00\",\n    \"shipping_address\": {\n      \"contact_name\": \"Alice Johnson\",\n      \"company_name\": \"Global Tech Ltd.\",\n      \"street1\": \"789 Innovation Road\",\n      \"postal_code\": \"20002\",\n      \"city\": \"Los Angeles\",\n      \"region\": \"CA\",\n      \"country\": \"US\",\n      \"email\": \"alice.johnson@example.com\",\n      \"phone\": \"+1-555-123-4567\"\n    }\n  },\n  \"order_lines\": [\n    {\n      \"order_line_id\": \"1\",\n      \"master_code\": \"AR1804\",\n      \"expected_price\": 150.75,\n      \"quantity\": 10,\n      \"printing_positions\": [\n        {\n          \"id\": \"FRONT\",\n          \"print_size_height\": 24,\n          \"print_size_width\": 45,\n          \"printing_technique_id\": \"S2\",\n          \"number_of_print_colors\": 1,\n          \"print_artwork_url\": \"https://example.com/artwork.ai\",\n          \"print_mockup_url\": \"https://example.com/mockup.pdf\",\n          \"print_instruction\": \"Place logo in center\",\n          \"print_colors\": [\n            {\n              \"color\": \"PMS 300C\"\n            }\n          ]\n        }\n      ],\n      \"print_items\": [\n        {\n          \"item_color_number\": \"03\",\n          \"quantity\": 50\n        },\n        {\n          \"item_color_number\": \"04\",\n          \"quantity\": 50\n        }\n      ]\n    }\n  ]\n}\n</code></pre>\n<h3 id=\"order-header-fields\">Order Header Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n<th>Required</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>po_number</td>\n<td>string</td>\n<td>Purchase order number</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>currency</td>\n<td>string</td>\n<td>Order currency code</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>order_type</td>\n<td>string</td>\n<td>Type of order (e.g., \"standard\")</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>preferred_shipping_date</td>\n<td>date</td>\n<td>Requested shipping date (YYYY-MM-DD)</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>contact_email</td>\n<td>string</td>\n<td>Primary contact email</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>check_price</td>\n<td>boolean</td>\n<td>Whether to validate expected prices</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>contact_name</td>\n<td>string</td>\n<td>Primary contact name</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>company_name</td>\n<td>string</td>\n<td>Company name</td>\n<td>No</td>\n</tr>\n<tr>\n<td>shipping_address</td>\n<td>object</td>\n<td>Shipping address details</td>\n<td>Yes</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"shipping-address-fields\">Shipping Address Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n<th>Required</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>contact_name</td>\n<td>string</td>\n<td>Recipient name</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>company_name</td>\n<td>string</td>\n<td>Company name for shipping</td>\n<td>No</td>\n</tr>\n<tr>\n<td>street1</td>\n<td>string</td>\n<td>Street address</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>postal_code</td>\n<td>string</td>\n<td>Postal/ZIP code</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>city</td>\n<td>string</td>\n<td>City name</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>region</td>\n<td>string</td>\n<td>State/Province/Region</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>country</td>\n<td>string</td>\n<td>Country name</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>email</td>\n<td>string</td>\n<td>Contact email for shipping</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>phone</td>\n<td>string</td>\n<td>Contact phone for shipping</td>\n<td>Yes</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"order-line-fields\">Order Line Fields</h3>\n<h4 id=\"normal-order-line\">Normal Order Line</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n<th>Required</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>sku</td>\n<td>string</td>\n<td>Product SKU</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>variant_id</td>\n<td>string</td>\n<td>Product variant ID</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>quantity</td>\n<td>integer</td>\n<td>Order quantity (minimum 1)</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>expected_price</td>\n<td>number</td>\n<td>Expected price per unit</td>\n<td>Yes</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"print-order-line\">Print Order Line</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n<th>Required</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>order_line_id</td>\n<td>string</td>\n<td>Unique identifier for the order line</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>master_code</td>\n<td>string</td>\n<td>Product master code</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>expected_price</td>\n<td>number</td>\n<td>Expected price per unit</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>quantity</td>\n<td>integer</td>\n<td>Order quantity</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>printing_positions</td>\n<td>array</td>\n<td>List of print positions for this line</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>print_items</td>\n<td>array</td>\n<td>List of print items for this line</td>\n<td>Yes</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"printing-position-object\">Printing Position Object</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n<th>Required</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>string</td>\n<td>Print position identifier</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>print_size_height</td>\n<td>number</td>\n<td>Height of print area</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>print_size_width</td>\n<td>number</td>\n<td>Width of print area</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>printing_technique_id</td>\n<td>string</td>\n<td>Printing technique code</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>number_of_print_colors</td>\n<td>integer</td>\n<td>Number of print colors</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>print_artwork_url</td>\n<td>string</td>\n<td>URL to artwork file</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>print_mockup_url</td>\n<td>string</td>\n<td>URL to mockup file</td>\n<td>No</td>\n</tr>\n<tr>\n<td>print_instruction</td>\n<td>string</td>\n<td>Special instructions</td>\n<td>No</td>\n</tr>\n<tr>\n<td>print_colors</td>\n<td>array</td>\n<td>List of print colors</td>\n<td>Yes</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"print-item-object\">Print Item Object</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n<th>Required</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>item_color_number</td>\n<td>string</td>\n<td>Color number for item</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>quantity</td>\n<td>integer</td>\n<td>Quantity for this color</td>\n<td>Yes</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"success-response\">Success Response</h2>\n<p><em>Status Code:</em> 201 Created</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Order created successfully\",\n    \"order\": {\n        \"id\": 1,\n        \"order_number\": \"ORD-65F8A9C2E4B1D\",\n        \"po_number\": \"PO123456\",\n        \"currency\": \"USD\",\n        \"order_type\": \"standard\",\n        \"preferred_shipping_date\": \"2025-04-15\",\n        \"status\": \"pending\",\n        \"contact_email\": \"buyer@example.com\",\n        \"contact_name\": \"John Doe\",\n        \"company_name\": \"ABC Corp\",\n        \"street1\": \"123 Shipping St\",\n        \"postal_code\": \"12345\",\n        \"city\": \"Warehouse City\",\n        \"region\": \"State\",\n        \"country\": \"United States\",\n        \"email\": \"warehouse@example.com\",\n        \"phone\": \"+1-555-0123\",\n        \"created_at\": \"2025-04-01T18:09:32.000000Z\",\n        \"updated_at\": \"2025-04-01T18:09:32.000000Z\"\n    }\n}\n</code></pre>\n<h2 id=\"error-responses\">Error Responses</h2>\n<h3 id=\"validation-error\">Validation Error</h3>\n<p><em>Status Code:</em> 422 Unprocessable Entity</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"The given data was invalid.\",\n    \"errors\": {\n        \"order_header.po_number\": [\n            \"The po number field is required.\"\n        ],\n        \"order_lines\": [\n            \"At least one order line is required.\"\n        ]\n    }\n}\n</code></pre>\n<h3 id=\"stockproduct-validation-error\">Stock/Product Validation Error</h3>\n<p><em>Status Code:</em> 400 Bad Request</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Some SKUs or Variant IDs do not exist, or stock is insufficient\",\n    \"missing_skus\": [\n        \"TS-BLK-XXL\"\n    ],\n    \"missing_variant_ids\": [\n        \"VAR-999\"\n    ],\n    \"insufficient_stock\": [\n        {\n            \"sku\": \"TS-BLK-M\",\n            \"available_qty\": 50,\n            \"requested_qty\": 100\n        }\n    ]\n}\n</code></pre>\n<h3 id=\"authentication-error\">Authentication Error</h3>\n<p><em>Status Code:</em> 401 Unauthorized</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Unauthenticated.\"\n}\n</code></pre>\n<h2 id=\"important-notes\">Important Notes</h2>\n<ol>\n<li><p>Stock is automatically reserved upon successful order creation</p>\n</li>\n<li><p>Each order is assigned a unique order number prefixed with \"ORD-\"</p>\n</li>\n<li><p>Initial order status is set to \"pending\"</p>\n</li>\n<li><p>The API performs the following validations:</p>\n<ul>\n<li><p>Validates all required fields</p>\n</li>\n<li><p>Verifies SKU and variant existence</p>\n</li>\n<li><p>Checks stock availability for requested quantities</p>\n</li>\n<li><p>Validates shipping address details</p>\n</li>\n</ul>\n</li>\n<li><p>All prices should be provided in the specified currency</p>\n</li>\n</ol>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"your_api_key"}]},"isInherited":true,"source":{"_postman_id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","name":"Wholesale Merchandise API","type":"collection"}},"urlObject":{"path":["api","orders"],"host":["https://staging.trademerch.co.uk"],"query":[],"variable":[]}},"response":[],"_postman_id":"604d4f8c-c50e-46ac-af87-d080d6c205a0"}],"id":"83eb7d47-f924-4d4e-b043-f28242b1422f","_postman_id":"83eb7d47-f924-4d4e-b043-f28242b1422f","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"your_api_key"}]},"isInherited":true,"source":{"_postman_id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","id":"e5383682-fcd1-4dba-98a3-7ea661e3dcf1","name":"Wholesale Merchandise API","type":"collection"}}}],"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"your_api_key"}]}},"event":[{"listen":"prerequest","script":{"id":"915a95c4-d64f-4bbd-8492-6c02205c7d9e","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"4e3ff56f-a69a-4e40-9674-96d4d0972fc4","type":"text/javascript","packages":{},"exec":[""]}}],"variable":[{"key":"url","value":"https://staging.trademerch.co.uk","type":"string"},{"key":"key","value":"your_api_key","type":"string"}]}