{
  "info": {
    "name": "EGP Order API",
    "description": "Submit glass orders to ECO Windows programmatically — validated, priced live, and booked into production.\n\nSet the `baseUrl` and `apiKey` collection variables, then start with Catalog → Quote → Order. Full guide: {{baseUrl}}/developers · Interactive reference: {{baseUrl}}/docs",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [{ "key": "token", "value": "{{apiKey}}", "type": "string" }]
  },
  "variable": [
    { "key": "baseUrl", "value": "https://YOUR-API-HOST" },
    { "key": "apiKey", "value": "egp_live_..." }
  ],
  "item": [
    {
      "name": "Health",
      "request": {
        "method": "GET",
        "url": "{{baseUrl}}/health",
        "auth": { "type": "noauth" },
        "description": "No key required."
      }
    },
    {
      "name": "Catalog",
      "item": [
        { "name": "Shapes", "request": { "method": "GET", "url": "{{baseUrl}}/v1/catalog/shapes", "description": "Shapes + which dimension letters (B/L/R/S/T/U) each requires." } },
        { "name": "Pane types", "request": { "method": "GET", "url": "{{baseUrl}}/v1/catalog/pane-types", "description": "Pane makeups + which spec fields (glassType/laminate/spacer/gas) each accepts." } },
        { "name": "Glass types", "request": { "method": "GET", "url": "{{baseUrl}}/v1/catalog/glass-types" } },
        { "name": "Laminates", "request": { "method": "GET", "url": "{{baseUrl}}/v1/catalog/laminates" } },
        { "name": "Spacers", "request": { "method": "GET", "url": "{{baseUrl}}/v1/catalog/spacers" } },
        { "name": "Gases", "request": { "method": "GET", "url": "{{baseUrl}}/v1/catalog/gases" } }
      ]
    },
    {
      "name": "Quote (dry run — writes nothing)",
      "request": {
        "method": "POST",
        "url": "{{baseUrl}}/v1/quotes",
        "header": [{ "key": "Content-Type", "value": "application/json" }],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"lines\": [\n    {\n      \"lineNumber\": \"A1\",\n      \"quantity\": 2,\n      \"shape\": \"Rectangle\",\n      \"dimensions\": { \"B\": \"24\", \"L\": \"36-1/2\" },\n      \"paneType\": \"Double Pane IG\",\n      \"glassType\": \"1/8CL\",\n      \"spacer\": \"8TSpacer\",\n      \"gas\": \"ARG\",\n      \"product\": \"Living Room Left\",\n      \"poItemNumber\": \"001\"\n    }\n  ]\n}"
        },
        "description": "Validates + prices the exact order payload without saving anything."
      }
    },
    {
      "name": "Orders",
      "item": [
        {
          "name": "Submit order (validateOnly)",
          "request": {
            "method": "POST",
            "url": "{{baseUrl}}/v1/orders",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"poNumber\": \"20260825\",\n  \"orderName\": \"Smith Residence\",\n  \"shipDate\": \"2026-09-15\",\n  \"validateOnly\": true,\n  \"lines\": [\n    {\n      \"lineNumber\": \"A1\",\n      \"quantity\": 2,\n      \"shape\": \"Rectangle\",\n      \"dimensions\": { \"B\": \"24\", \"L\": \"36-1/2\" },\n      \"paneType\": \"Double Pane IG\",\n      \"glassType\": \"1/8CL\",\n      \"spacer\": \"8TSpacer\",\n      \"gas\": \"ARG\",\n      \"product\": \"Living Room Left\",\n      \"poItemNumber\": \"001\"\n    }\n  ]\n}"
            },
            "description": "Full dry run: returns the complete order response, books nothing."
          }
        },
        {
          "name": "Submit order",
          "request": {
            "method": "POST",
            "url": "{{baseUrl}}/v1/orders",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"poNumber\": \"20260825\",\n  \"orderName\": \"Smith Residence\",\n  \"shipDate\": \"2026-09-15\",\n  \"notes\": \"Deliver to north dock\",\n  \"lines\": [\n    {\n      \"lineNumber\": \"A1\",\n      \"quantity\": 2,\n      \"shape\": \"Rectangle\",\n      \"dimensions\": { \"B\": \"24\", \"L\": \"36-1/2\" },\n      \"paneType\": \"Double Pane IG\",\n      \"glassType\": \"1/8CL\",\n      \"spacer\": \"8TSpacer\",\n      \"gas\": \"ARG\",\n      \"product\": \"Living Room Left\",\n      \"poItemNumber\": \"001\"\n    }\n  ]\n}"
            },
            "description": "Books the order (Status: Hold). poNumber is your idempotency key — resubmitting it returns 409 with existingOrderId."
          }
        },
        {
          "name": "List my orders",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/v1/orders?skip=0&take=25",
              "host": ["{{baseUrl}}"],
              "path": ["v1", "orders"],
              "query": [
                { "key": "skip", "value": "0" },
                { "key": "take", "value": "25" },
                { "key": "status", "value": "Hold", "disabled": true },
                { "key": "search", "value": "", "disabled": true }
              ]
            }
          }
        },
        {
          "name": "Get one order",
          "request": {
            "method": "GET",
            "url": "{{baseUrl}}/v1/orders/104138",
            "description": "Header + every production line (one per unit). Other dealers' orders return 404."
          }
        }
      ]
    }
  ]
}
