{"info":{"_postman_id":"willowcommerce-api-v1","name":"Willowcommerce API v2","description":"Willowcommerce Public API for Orders, Shipments, Tracking, Items, Inventory, Rates, Labels, and Void","schema":"https://schema.getpostman.com/json/collection/v2.1.0/collection.json"},"variable":[{"key":"base_url","value":"https://api.willowcommerce.com","description":"API Base URL"},{"key":"api_key","value":"your_api_key_here","description":"Your API Key"}],"auth":{"type":"apikey","apikey":[{"key":"key","value":"X-API-Key"},{"key":"value","value":"{{api_key}}"},{"key":"in","value":"header"}]},"item":[{"name":"Health & Info","item":[{"name":"Health Check","request":{"method":"GET","url":{"raw":"{{base_url}}/v1/health","host":["{{base_url}}"],"path":["v1","health"]},"description":"Check API status. No authentication required."},"response":[{"name":"Success","status":"OK","code":200,"body":"{\n  \"data\": {\n    \"status\": \"ok\",\n    \"version\": \"1.0.0\",\n    \"timestamp\": \"2026-04-10T00:00:00Z\"\n  }\n}"}]}]},{"name":"Orders","item":[{"name":"List Orders","request":{"method":"GET","url":{"raw":"{{base_url}}/v1/orders?page=1&limit=50&status=pending","host":["{{base_url}}"],"path":["v1","orders"],"query":[{"key":"page","value":"1","description":"Page number (default: 1)"},{"key":"limit","value":"50","description":"Results per page (max: 200)"},{"key":"status","value":"pending","description":"Filter by status"},{"key":"since","value":"2026-01-01","description":"Orders since date (ISO 8601)","disabled":true},{"key":"until","value":"2026-12-31","description":"Orders until date","disabled":true},{"key":"store","value":"","description":"Filter by store name","disabled":true},{"key":"search","value":"","description":"Search by reference_order_id or order_number","disabled":true}]},"description":"List orders with pagination and optional filters."},"response":[{"name":"Success","status":"OK","code":200,"body":"{\n  \"data\": [\n    {\n      \"id\": \"uuid\",\n      \"reference_order_id\": \"ORD-001\",\n      \"order_number\": \"1001\",\n      \"marketplace_order_id\": \"111-2222222-3333333\",\n      \"status\": \"awaiting_shipment\",\n      \"order_date\": \"2026-04-01\",\n      \"total_amount\": 29.99,\n      \"subtotal\": 25.99,\n      \"tax_amount\": 2,\n      \"shipping_cost\": 2,\n      \"tags\": [\n        \"prime\",\n        \"expedited\"\n      ],\n      \"carrier\": \"USPS\",\n      \"service_name\": \"Priority Mail\",\n      \"tracking_number\": \"9400111899223...\",\n      \"line_items\": [\n        {\n          \"sku\": \"SKU-001\",\n          \"name\": \"Widget\",\n          \"asin\": \"B0XXXXXXXX\",\n          \"fnsku\": \"X00XXXXXXX\",\n          \"quantity\": 2,\n          \"price\": 14.99,\n          \"landed_cost\": 8.5\n        }\n      ],\n      \"weight_oz\": 16,\n      \"package_type\": \"package\",\n      \"dimensions\": {\n        \"length\": 10,\n        \"width\": 8,\n        \"height\": 4\n      }\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"limit\": 50,\n    \"total\": 1,\n    \"total_pages\": 1\n  }\n}"}]},{"name":"Get Order by ID","request":{"method":"GET","url":{"raw":"{{base_url}}/v1/orders/:order_id","host":["{{base_url}}"],"path":["v1","orders",":order_id"],"variable":[{"key":"order_id","value":""}]},"description":"Get a single order by its UUID."}},{"name":"Bulk Create Orders","request":{"method":"POST","url":{"raw":"{{base_url}}/v1/orders","host":["{{base_url}}"],"path":["v1","orders"]},"header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"orders\": [\n    {\n      \"reference_order_id\": \"EXT-001\",\n      \"order_number\": \"1001\",\n      \"marketplace_order_id\": \"111-2222222-3333333\",\n      \"status\": \"awaiting_shipment\",\n      \"order_date\": \"2026-04-10\",\n      \"shipping_address\": {\n        \"name\": \"John Doe\",\n        \"street1\": \"123 Main St\",\n        \"city\": \"Los Angeles\",\n        \"state\": \"CA\",\n        \"zip\": \"90001\",\n        \"country\": \"US\"\n      },\n      \"line_items\": [\n        {\n          \"sku\": \"SKU-001\",\n          \"name\": \"Widget\",\n          \"asin\": \"B0XXXXXXXX\",\n          \"fnsku\": \"X00XXXXXXX\",\n          \"upc\": \"012345678901\",\n          \"quantity\": 2,\n          \"price\": 14.99,\n          \"landed_cost\": 8.5\n        }\n      ],\n      \"total_amount\": 29.98,\n      \"subtotal\": 25.98,\n      \"tax_amount\": 2,\n      \"discount_amount\": 0,\n      \"shipping_cost\": 2,\n      \"tags\": [\n        \"prime\"\n      ],\n      \"carrier\": \"USPS\",\n      \"service_code\": \"usps_priority_mail\",\n      \"confirmation_type\": \"signature\",\n      \"weight_oz\": 16,\n      \"package_type\": \"package\",\n      \"length_in\": 10,\n      \"width_in\": 8,\n      \"height_in\": 4,\n      \"insurance_amount\": 100,\n      \"customer_name\": \"John Doe\",\n      \"customer_email\": \"john@example.com\",\n      \"customer_phone\": \"5551234567\",\n      \"payment_method\": \"credit_card\",\n      \"payment_status\": \"paid\"\n    }\n  ]\n}"},"description":"Create up to 500 orders in a single request. Returns 201 for all success, 207 for partial success."},"response":[{"name":"Success (201)","status":"Created","code":201,"body":"{\n  \"data\": {\n    \"success\": [\n      {\n        \"id\": \"uuid\",\n        \"reference_order_id\": \"EXT-001\"\n      }\n    ],\n    \"errors\": []\n  },\n  \"meta\": {\n    \"total_submitted\": 1,\n    \"total_success\": 1,\n    \"total_errors\": 0\n  }\n}"},{"name":"Partial Success (207)","status":"Multi-Status","code":207,"body":"{\n  \"data\": {\n    \"success\": [\n      {\n        \"id\": \"uuid\",\n        \"reference_order_id\": \"EXT-001\"\n      }\n    ],\n    \"errors\": [\n      {\n        \"index\": 1,\n        \"error\": \"reference_id is required\"\n      }\n    ]\n  },\n  \"meta\": {\n    \"total_submitted\": 2,\n    \"total_success\": 1,\n    \"total_errors\": 1\n  }\n}"}]}]},{"name":"Items (Products)","item":[{"name":"List Items","request":{"method":"GET","url":{"raw":"{{base_url}}/v1/items?page=1&limit=50","host":["{{base_url}}"],"path":["v1","items"],"query":[{"key":"page","value":"1"},{"key":"limit","value":"50"},{"key":"search","value":"","description":"Search by name, SKU, ASIN, UPC, FNSKU","disabled":true},{"key":"sku","value":"","description":"Exact SKU match","disabled":true},{"key":"asin","value":"","description":"Exact ASIN match","disabled":true},{"key":"brand","value":"","description":"Filter by brand","disabled":true},{"key":"category","value":"","description":"Filter by category","disabled":true}]},"description":"List items/products with full catalog details."}},{"name":"Get Item by ID","request":{"method":"GET","url":{"raw":"{{base_url}}/v1/items/:item_id","host":["{{base_url}}"],"path":["v1","items",":item_id"],"variable":[{"key":"item_id","value":""}]},"description":"Get a single item by its UUID."}},{"name":"Bulk Create Items","request":{"method":"POST","url":{"raw":"{{base_url}}/v1/items","host":["{{base_url}}"],"path":["v1","items"]},"header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"items\": [\n    {\n      \"sku\": \"SKU-001\",\n      \"name\": \"Widget Pro\",\n      \"asin\": \"B0XXXXXXXX\",\n      \"fnsku\": \"X00XXXXXXX\",\n      \"upc\": \"012345678901\",\n      \"brand\": \"WidgetCo\",\n      \"sale_price\": 29.99,\n      \"purchase_price\": 12.5,\n      \"landed_cost\": 15,\n      \"stock_qty\": 150,\n      \"weight_lb\": 1.5,\n      \"condition_type\": \"new\"\n    }\n  ]\n}"},"description":"Create up to 500 items in a single request."}},{"name":"Update Item","request":{"method":"PUT","url":{"raw":"{{base_url}}/v1/items/:item_id","host":["{{base_url}}"],"path":["v1","items",":item_id"],"variable":[{"key":"item_id","value":""}]},"header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"Widget Pro v2\",\n  \"sale_price\": 34.99,\n  \"landed_cost\": 16\n}"},"description":"Update any field on an existing item."}}]},{"name":"Inventory","item":[{"name":"List Inventory","request":{"method":"GET","url":{"raw":"{{base_url}}/v1/inventory?page=1&limit=50","host":["{{base_url}}"],"path":["v1","inventory"],"query":[{"key":"page","value":"1"},{"key":"limit","value":"50"},{"key":"sku","value":"","disabled":true},{"key":"asin","value":"","disabled":true},{"key":"warehouse","value":"","description":"Warehouse UUID","disabled":true},{"key":"low_stock","value":"true","description":"Only items with stock ≤ 5","disabled":true}]},"description":"List inventory levels for all tracked products."}},{"name":"Update Inventory","request":{"method":"PUT","url":{"raw":"{{base_url}}/v1/inventory/:item_id","host":["{{base_url}}"],"path":["v1","inventory",":item_id"],"variable":[{"key":"item_id","value":""}]},"header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"stock_qty\": 200,\n  \"available_stock\": 175,\n  \"allocated_qty\": 20,\n  \"reserve_qty\": 5\n}"},"description":"Update stock quantities for a specific item."}}]},{"name":"Shipments","item":[{"name":"List Shipments","request":{"method":"GET","url":{"raw":"{{base_url}}/v1/shipments?page=1&limit=50","host":["{{base_url}}"],"path":["v1","shipments"],"query":[{"key":"page","value":"1"},{"key":"limit","value":"50"},{"key":"status","value":"","disabled":true},{"key":"carrier","value":"","disabled":true},{"key":"since","value":"","disabled":true}]},"description":"List shipments with pagination."}},{"name":"Get Shipment by ID","request":{"method":"GET","url":{"raw":"{{base_url}}/v1/shipments/:shipment_id","host":["{{base_url}}"],"path":["v1","shipments",":shipment_id"],"variable":[{"key":"shipment_id","value":""}]}}}]},{"name":"Tracking","item":[{"name":"Get Tracking by Number","request":{"method":"GET","url":{"raw":"{{base_url}}/v1/tracking/:tracking_number","host":["{{base_url}}"],"path":["v1","tracking",":tracking_number"],"variable":[{"key":"tracking_number","value":""}]},"description":"Get tracking information by tracking number."}}]},{"name":"Rates","item":[{"name":"Get Shipping Rate (Single)","request":{"method":"POST","url":{"raw":"{{base_url}}/v1/rates","host":["{{base_url}}"],"path":["v1","rates"]},"header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"ship_from\": {\n    \"name\": \"Warehouse\",\n    \"street1\": \"100 Warehouse Blvd\",\n    \"zip\": \"90001\",\n    \"city\": \"Los Angeles\",\n    \"state\": \"CA\",\n    \"country\": \"US\",\n    \"phone\": \"5559990001\"\n  },\n  \"ship_to\": {\n    \"name\": \"John Doe\",\n    \"street1\": \"200 Main St\",\n    \"zip\": \"10001\",\n    \"city\": \"New York\",\n    \"state\": \"NY\",\n    \"country\": \"US\",\n    \"phone\": \"5559990002\",\n    \"residential\": true\n  },\n  \"weight_oz\": 16,\n  \"dimensions\": {\n    \"length\": 10,\n    \"width\": 8,\n    \"height\": 4\n  },\n  \"package_type\": \"package\",\n  \"signature_option\": \"none\",\n  \"insurance_amount\": 0,\n  \"carriers\": [\n    \"usps\",\n    \"ups\",\n    \"fedex\"\n  ],\n  \"services\": [],\n  \"saturday_delivery\": false,\n  \"contains_alcohol\": false\n}"},"description":"Get shipping rates for a single package."}},{"name":"Get Shipping Rates (Bulk)","request":{"method":"POST","url":{"raw":"{{base_url}}/v1/rates","host":["{{base_url}}"],"path":["v1","rates"]},"header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"shipments\": [\n    {\n      \"ship_from\": {\n        \"zip\": \"90001\"\n      },\n      \"ship_to\": {\n        \"zip\": \"10001\"\n      },\n      \"weight_oz\": 16\n    },\n    {\n      \"ship_from\": {\n        \"zip\": \"90001\"\n      },\n      \"ship_to\": {\n        \"zip\": \"30301\"\n      },\n      \"weight_oz\": 32\n    }\n  ]\n}"},"description":"Get rates for up to 100 shipments in one request."}}]},{"name":"Labels","item":[{"name":"Create Label (by Order Number)","request":{"method":"POST","url":{"raw":"{{base_url}}/v1/labels","host":["{{base_url}}"],"path":["v1","labels"]},"header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"order_number\": \"1001\",\n  \"carrier_name\": \"USPS\",\n  \"service\": \"Priority Mail\",\n  \"weight_oz\": 16,\n  \"label_format\": \"pdf\",\n  \"test_label\": false\n}"},"description":"Create a label using order_number. Carrier, service, addresses, weight, and dimensions are resolved from the order if not provided."}},{"name":"Create Label (Full Details)","request":{"method":"POST","url":{"raw":"{{base_url}}/v1/labels","host":["{{base_url}}"],"path":["v1","labels"]},"header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"order_number\": \"1001\",\n  \"carrier_name\": \"USPS\",\n  \"service_code\": \"usps_priority_mail\",\n  \"ship_from\": {\n    \"name\": \"Warehouse\",\n    \"address1\": \"100 Warehouse Blvd\",\n    \"city\": \"Los Angeles\",\n    \"state\": \"CA\",\n    \"postal_code\": \"90001\",\n    \"country\": \"US\",\n    \"phone\": \"5559990001\"\n  },\n  \"ship_to\": {\n    \"name\": \"John Doe\",\n    \"address1\": \"200 Main St\",\n    \"city\": \"New York\",\n    \"state\": \"NY\",\n    \"postal_code\": \"10001\",\n    \"country\": \"US\",\n    \"phone\": \"5559990002\"\n  },\n  \"return_address\": {\n    \"name\": \"Returns Dept\",\n    \"address1\": \"100 Warehouse Blvd\",\n    \"city\": \"Los Angeles\",\n    \"state\": \"CA\",\n    \"postal_code\": \"90001\",\n    \"country\": \"US\"\n  },\n  \"weight_oz\": 16,\n  \"dimensions\": {\n    \"length\": 10,\n    \"width\": 8,\n    \"height\": 4\n  },\n  \"package_type\": \"package\",\n  \"signature_option\": \"signature\",\n  \"insurance_amount\": 100,\n  \"label_format\": \"pdf\",\n  \"test_label\": false,\n  \"is_return\": false,\n  \"residential\": true,\n  \"label_messages\": {\n    \"reference1\": \"PO-12345\"\n  }\n}"},"description":"Create a label with all details explicitly provided. order_number is optional; ship_from and ship_to are required when no order is specified."}},{"name":"Create Labels (Bulk)","request":{"method":"POST","url":{"raw":"{{base_url}}/v1/labels","host":["{{base_url}}"],"path":["v1","labels"]},"header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"labels\": [\n    {\n      \"order_number\": \"1001\",\n      \"service_code\": \"usps_priority_mail\",\n      \"weight_oz\": 16\n    },\n    {\n      \"order_number\": \"1002\",\n      \"service_code\": \"usps_priority_mail\",\n      \"weight_oz\": 24\n    }\n  ]\n}"},"description":"Create up to 50 labels in one request."}},{"name":"Void Label (by Tracking Number)","request":{"method":"POST","url":{"raw":"{{base_url}}/v1/labels/void","host":["{{base_url}}"],"path":["v1","labels","void"]},"header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"tracking_number\": \"9400111899223456789012\"\n}"},"description":"Void a shipping label by tracking number."}},{"name":"Void Label (by Order Number)","request":{"method":"POST","url":{"raw":"{{base_url}}/v1/labels/void","host":["{{base_url}}"],"path":["v1","labels","void"]},"header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"order_number\": \"1001\"\n}"},"description":"Void the most recent active shipment for an order."}},{"name":"Void Labels (Bulk)","request":{"method":"POST","url":{"raw":"{{base_url}}/v1/labels/void","host":["{{base_url}}"],"path":["v1","labels","void"]},"header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"void\": [\n    {\n      \"tracking_number\": \"9400111899223456789012\"\n    },\n    {\n      \"order_number\": \"1002\"\n    }\n  ]\n}"},"description":"Void up to 50 labels in one request."}}]},{"name":"Error Examples","item":[{"name":"401 - Unauthorized","request":{"method":"GET","url":{"raw":"{{base_url}}/v1/orders","host":["{{base_url}}"],"path":["v1","orders"]},"description":"Example: Missing or invalid API key","auth":{"type":"noauth"}},"response":[{"name":"Unauthorized","code":401,"body":"{\n  \"error\": {\n    \"code\": \"UNAUTHORIZED\",\n    \"message\": \"Missing or invalid API key.\",\n    \"status\": 401\n  }\n}"}]},{"name":"429 - Rate Limited","request":{"method":"GET","url":{"raw":"{{base_url}}/v1/orders","host":["{{base_url}}"],"path":["v1","orders"]},"description":"Example: Too many requests"},"response":[{"name":"Rate Limited","code":429,"body":"{\n  \"error\": {\n    \"code\": \"RATE_LIMIT_EXCEEDED\",\n    \"message\": \"Rate limit exceeded.\",\n    \"status\": 429,\n    \"details\": {\n      \"retry_after\": 30\n    }\n  }\n}"}]}]}]}