{
  "info": {
    "name": "Xpeditis Complete API",
    "description": "Complete Postman collection for Xpeditis B2B Maritime Freight Platform API.\n\n## Overview\nXpeditis is a maritime freight booking and management platform that allows freight forwarders to search shipping rates, book containers, and manage shipments.\n\n## Authentication\nMost endpoints require JWT authentication. Use the `/auth/login` or `/auth/register` endpoints first to obtain an access token, which will be automatically saved to the `{{token}}` variable.\n\n## Base URL\nDefault: `http://localhost:4000`\n\n## Getting Started\n1. Import the environment file `Xpeditis_Local.postman_environment.json`\n2. Register a new user or login\n3. The access token will be automatically saved\n4. Start making authenticated requests\n\n## Documentation\n- Swagger UI: http://localhost:4000/api/docs\n- GitHub: https://github.com/xpeditis",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "item": [
    {
      "name": "Authentication",
      "item": [
        {
          "name": "Register New User",
          "event": [
            {
              "listen": "test",
              "script": {
                "exec": [
                  "if (pm.response.code === 201) {",
                  "    const jsonData = pm.response.json();",
                  "    pm.environment.set('token', jsonData.accessToken);",
                  "    pm.environment.set('refreshToken', jsonData.refreshToken);",
                  "    pm.environment.set('userId', jsonData.user.id);",
                  "    pm.environment.set('userEmail', jsonData.user.email);",
                  "    pm.environment.set('organizationId', jsonData.user.organizationId);",
                  "    console.log('Access token saved to environment');",
                  "}"
                ],
                "type": "text/javascript"
              }
            }
          ],
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"john.doe@acme.com\",\n  \"password\": \"SecurePassword123!\",\n  \"firstName\": \"John\",\n  \"lastName\": \"Doe\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/auth/register",
              "host": ["{{baseUrl}}"],
              "path": ["auth", "register"]
            },
            "description": "Create a new user account with email and password. Returns JWT tokens.\n\n**No authentication required**"
          },
          "response": []
        },
        {
          "name": "Login",
          "event": [
            {
              "listen": "test",
              "script": {
                "exec": [
                  "if (pm.response.code === 200) {",
                  "    const jsonData = pm.response.json();",
                  "    pm.environment.set('token', jsonData.accessToken);",
                  "    pm.environment.set('refreshToken', jsonData.refreshToken);",
                  "    pm.environment.set('userId', jsonData.user.id);",
                  "    pm.environment.set('userEmail', jsonData.user.email);",
                  "    pm.environment.set('organizationId', jsonData.user.organizationId);",
                  "    console.log('Access token saved to environment');",
                  "}"
                ],
                "type": "text/javascript"
              }
            }
          ],
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"john.doe@acme.com\",\n  \"password\": \"SecurePassword123!\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/auth/login",
              "host": ["{{baseUrl}}"],
              "path": ["auth", "login"]
            },
            "description": "Authenticate with email and password. Returns JWT tokens.\n\n**No authentication required**"
          },
          "response": []
        },
        {
          "name": "Refresh Access Token",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"refreshToken\": \"{{refreshToken}}\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/auth/refresh",
              "host": ["{{baseUrl}}"],
              "path": ["auth", "refresh"]
            },
            "description": "Get a new access token using a valid refresh token. Refresh tokens are long-lived (7 days).\n\n**No authentication required**"
          },
          "response": []
        },
        {
          "name": "Logout",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/auth/logout",
              "host": ["{{baseUrl}}"],
              "path": ["auth", "logout"]
            },
            "description": "Logout the current user. Currently handled client-side by removing tokens.\n\n**Requires authentication**"
          },
          "response": []
        },
        {
          "name": "Get Current User Profile",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/auth/me",
              "host": ["{{baseUrl}}"],
              "path": ["auth", "me"]
            },
            "description": "Returns the profile of the authenticated user.\n\n**Requires authentication**"
          },
          "response": []
        }
      ],
      "description": "Authentication endpoints for user registration, login, and token management."
    },
    {
      "name": "Rates",
      "item": [
        {
          "name": "Search Shipping Rates",
          "event": [
            {
              "listen": "test",
              "script": {
                "exec": [
                  "if (pm.response.code === 200) {",
                  "    const jsonData = pm.response.json();",
                  "    if (jsonData.quotes && jsonData.quotes.length > 0) {",
                  "        pm.environment.set('rateQuoteId', jsonData.quotes[0].id);",
                  "        console.log('Rate quote ID saved:', jsonData.quotes[0].id);",
                  "    }",
                  "}"
                ],
                "type": "text/javascript"
              }
            }
          ],
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"origin\": \"NLRTM\",\n  \"destination\": \"CNSHA\",\n  \"containerType\": \"40HC\",\n  \"mode\": \"FCL\",\n  \"departureDate\": \"2025-02-15\",\n  \"quantity\": 2,\n  \"weight\": 20000,\n  \"volume\": 50.5,\n  \"isHazmat\": false\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/v1/rates/search",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "rates", "search"]
            },
            "description": "Search for available shipping rates from multiple carriers. Results are cached for 15 minutes.\n\n**Requires authentication**"
          },
          "response": []
        },
        {
          "name": "Search CSV Rates (Advanced)",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"origin\": \"NLRTM\",\n  \"destination\": \"USNYC\",\n  \"volumeCBM\": 25.5,\n  \"weightKG\": 3500,\n  \"palletCount\": 10,\n  \"containerType\": \"LCL\",\n  \"filters\": {\n    \"companies\": [\"SSC Consolidation\", \"ECU Worldwide\"],\n    \"maxPrice\": 2000,\n    \"minPrice\": 500,\n    \"maxTransitDays\": 30,\n    \"currency\": \"USD\"\n  }\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/v1/rates/search-csv",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "rates", "search-csv"]
            },
            "description": "Search for rates from CSV-loaded carriers (SSC, ECU, TCC, NVO) with advanced filtering options.\n\n**Requires authentication**"
          },
          "response": []
        },
        {
          "name": "Get Available Companies",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/rates/companies",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "rates", "companies"]
            },
            "description": "Returns list of all available carrier companies in the CSV rate system.\n\n**Requires authentication**"
          },
          "response": []
        },
        {
          "name": "Get Filter Options",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/rates/filters/options",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "rates", "filters", "options"]
            },
            "description": "Returns available options for all filters (companies, container types, currencies).\n\n**Requires authentication**"
          },
          "response": []
        }
      ],
      "description": "Rate search endpoints for finding shipping quotes from multiple carriers."
    },
    {
      "name": "Bookings",
      "item": [
        {
          "name": "Create Booking",
          "event": [
            {
              "listen": "test",
              "script": {
                "exec": [
                  "if (pm.response.code === 201) {",
                  "    const jsonData = pm.response.json();",
                  "    pm.environment.set('bookingId', jsonData.id);",
                  "    pm.environment.set('bookingNumber', jsonData.bookingNumber);",
                  "    console.log('Booking created:', jsonData.bookingNumber);",
                  "}"
                ],
                "type": "text/javascript"
              }
            }
          ],
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"rateQuoteId\": \"{{rateQuoteId}}\",\n  \"shipper\": {\n    \"name\": \"Acme Corporation\",\n    \"address\": {\n      \"street\": \"123 Main Street\",\n      \"city\": \"Rotterdam\",\n      \"postalCode\": \"3000 AB\",\n      \"country\": \"NL\"\n    },\n    \"contactName\": \"John Doe\",\n    \"contactEmail\": \"john.doe@acme.com\",\n    \"contactPhone\": \"+31612345678\"\n  },\n  \"consignee\": {\n    \"name\": \"Global Trading Ltd\",\n    \"address\": {\n      \"street\": \"456 Harbor Road\",\n      \"city\": \"Shanghai\",\n      \"postalCode\": \"200000\",\n      \"country\": \"CN\"\n    },\n    \"contactName\": \"Jane Smith\",\n    \"contactEmail\": \"jane.smith@globaltrading.com\",\n    \"contactPhone\": \"+8613800000000\"\n  },\n  \"cargoDescription\": \"Electronics and consumer goods - fragile items\",\n  \"containers\": [\n    {\n      \"type\": \"40HC\",\n      \"vgm\": 22000,\n      \"sealNumber\": \"SEAL123456\"\n    }\n  ],\n  \"specialInstructions\": \"Please handle with care. Delivery before 5 PM.\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/v1/bookings",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "bookings"]
            },
            "description": "Create a new booking based on a rate quote. The booking will be in 'draft' status initially.\n\n**Requires authentication**"
          },
          "response": []
        },
        {
          "name": "Get Booking by ID",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/bookings/{{bookingId}}",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "bookings", "{{bookingId}}"]
            },
            "description": "Retrieve detailed information about a specific booking.\n\n**Requires authentication**"
          },
          "response": []
        },
        {
          "name": "Get Booking by Number",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/bookings/number/{{bookingNumber}}",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "bookings", "number", "{{bookingNumber}}"]
            },
            "description": "Retrieve detailed information about a specific booking using its booking number.\n\n**Requires authentication**"
          },
          "response": []
        },
        {
          "name": "List Bookings",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/bookings?page=1&pageSize=20&status=confirmed",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "bookings"],
              "query": [
                {
                  "key": "page",
                  "value": "1",
                  "description": "Page number (1-based)"
                },
                {
                  "key": "pageSize",
                  "value": "20",
                  "description": "Items per page"
                },
                {
                  "key": "status",
                  "value": "confirmed",
                  "description": "Filter by status: draft, pending_confirmation, confirmed, in_transit, delivered, cancelled",
                  "disabled": true
                }
              ]
            },
            "description": "Retrieve a paginated list of bookings for the authenticated user's organization.\n\n**Requires authentication**"
          },
          "response": []
        },
        {
          "name": "Fuzzy Search Bookings",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/bookings/search/fuzzy?q=WCM-2025&limit=20",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "bookings", "search", "fuzzy"],
              "query": [
                {
                  "key": "q",
                  "value": "WCM-2025",
                  "description": "Search query (minimum 2 characters)"
                },
                {
                  "key": "limit",
                  "value": "20",
                  "description": "Maximum number of results"
                }
              ]
            },
            "description": "Search bookings using fuzzy matching. Tolerant to typos and partial matches. Searches across booking number, shipper, and consignee names.\n\n**Requires authentication**"
          },
          "response": []
        },
        {
          "name": "Advanced Search Bookings",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/bookings/advanced/search?page=1&pageSize=20&status=confirmed,in_transit&createdFrom=2025-01-01&sortBy=createdAt&sortOrder=desc",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "bookings", "advanced", "search"],
              "query": [
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "pageSize",
                  "value": "20"
                },
                {
                  "key": "status",
                  "value": "confirmed,in_transit",
                  "description": "Filter by status (comma-separated)"
                },
                {
                  "key": "search",
                  "value": "WCM-2025",
                  "description": "Search term (booking number)",
                  "disabled": true
                },
                {
                  "key": "shipper",
                  "value": "Acme",
                  "description": "Filter by shipper name",
                  "disabled": true
                },
                {
                  "key": "consignee",
                  "value": "Global",
                  "description": "Filter by consignee name",
                  "disabled": true
                },
                {
                  "key": "createdFrom",
                  "value": "2025-01-01",
                  "description": "Filter by creation date (from)"
                },
                {
                  "key": "createdTo",
                  "value": "2025-12-31",
                  "description": "Filter by creation date (to)",
                  "disabled": true
                },
                {
                  "key": "sortBy",
                  "value": "createdAt",
                  "description": "Sort field: bookingNumber, status, createdAt"
                },
                {
                  "key": "sortOrder",
                  "value": "desc",
                  "description": "Sort order: asc, desc"
                }
              ]
            },
            "description": "Search bookings with advanced filtering options including status, date ranges, carrier, ports, shipper/consignee.\n\n**Requires authentication**"
          },
          "response": []
        },
        {
          "name": "Export Bookings (CSV)",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"format\": \"csv\",\n  \"fields\": [\n    \"bookingNumber\",\n    \"status\",\n    \"shipper\",\n    \"consignee\",\n    \"origin\",\n    \"destination\",\n    \"carrier\",\n    \"createdAt\"\n  ]\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/v1/bookings/export",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "bookings", "export"]
            },
            "description": "Export bookings to CSV format with optional filtering.\n\n**Requires authentication**"
          },
          "response": []
        },
        {
          "name": "Export Bookings (Excel)",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"format\": \"xlsx\",\n  \"bookingIds\": [\"{{bookingId}}\"]\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/v1/bookings/export",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "bookings", "export"]
            },
            "description": "Export specific bookings to Excel format.\n\n**Requires authentication**"
          },
          "response": []
        }
      ],
      "description": "Booking management endpoints for creating, retrieving, and exporting bookings."
    },
    {
      "name": "Users",
      "item": [
        {
          "name": "Create User (Admin/Manager)",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"jane.doe@acme.com\",\n  \"firstName\": \"Jane\",\n  \"lastName\": \"Doe\",\n  \"role\": \"user\",\n  \"organizationId\": \"{{organizationId}}\",\n  \"password\": \"TempPassword123!\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/v1/users",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "users"]
            },
            "description": "Create a new user account. Admin can create in any org, manager only in their own.\n\n**Requires authentication (Admin/Manager role)**"
          },
          "response": []
        },
        {
          "name": "Get User by ID",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/users/{{userId}}",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "users", "{{userId}}"]
            },
            "description": "Retrieve user details. Users can view users in their org, admins can view any.\n\n**Requires authentication**"
          },
          "response": []
        },
        {
          "name": "Update User",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"firstName\": \"Jane\",\n  \"lastName\": \"Doe-Smith\",\n  \"role\": \"manager\",\n  \"isActive\": true\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/v1/users/{{userId}}",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "users", "{{userId}}"]
            },
            "description": "Update user details (name, role, status).\n\n**Requires authentication (Admin/Manager role)**"
          },
          "response": []
        },
        {
          "name": "Delete User",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/users/{{userId}}",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "users", "{{userId}}"]
            },
            "description": "Deactivate a user account.\n\n**Requires authentication (Admin role)**"
          },
          "response": []
        },
        {
          "name": "List Users",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/users?page=1&pageSize=20&role=user",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "users"],
              "query": [
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "pageSize",
                  "value": "20"
                },
                {
                  "key": "role",
                  "value": "user",
                  "description": "Filter by role: admin, manager, user, viewer",
                  "disabled": true
                }
              ]
            },
            "description": "Retrieve a paginated list of users in your organization. Admins can see all users.\n\n**Requires authentication**"
          },
          "response": []
        },
        {
          "name": "Update Own Password",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"currentPassword\": \"SecurePassword123!\",\n  \"newPassword\": \"NewSecurePassword456!\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/v1/users/me/password",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "users", "me", "password"]
            },
            "description": "Update your own password. Requires current password.\n\n**Requires authentication**"
          },
          "response": []
        }
      ],
      "description": "User management endpoints for creating, updating, and listing users."
    },
    {
      "name": "Organizations",
      "item": [
        {
          "name": "Create Organization (Admin)",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Acme Freight Forwarding\",\n  \"type\": \"FREIGHT_FORWARDER\",\n  \"address\": {\n    \"street\": \"123 Main Street\",\n    \"city\": \"Rotterdam\",\n    \"state\": \"South Holland\",\n    \"postalCode\": \"3000 AB\",\n    \"country\": \"NL\"\n  },\n  \"logoUrl\": \"https://example.com/logo.png\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/v1/organizations",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "organizations"]
            },
            "description": "Create a new organization (freight forwarder, carrier, or shipper).\n\n**Requires authentication (Admin role)**"
          },
          "response": []
        },
        {
          "name": "Get Organization by ID",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/organizations/{{organizationId}}",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "organizations", "{{organizationId}}"]
            },
            "description": "Retrieve organization details. Users can view their own organization, admins can view any.\n\n**Requires authentication**"
          },
          "response": []
        },
        {
          "name": "Update Organization",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Acme Freight Forwarding Inc.\",\n  \"address\": {\n    \"street\": \"456 New Street\",\n    \"city\": \"Rotterdam\",\n    \"postalCode\": \"3000 AB\",\n    \"country\": \"NL\"\n  },\n  \"isActive\": true\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/v1/organizations/{{organizationId}}",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "organizations", "{{organizationId}}"]
            },
            "description": "Update organization details (name, address, logo, status).\n\n**Requires authentication (Admin/Manager role)**"
          },
          "response": []
        },
        {
          "name": "List Organizations",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/organizations?page=1&pageSize=20&type=FREIGHT_FORWARDER",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "organizations"],
              "query": [
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "pageSize",
                  "value": "20"
                },
                {
                  "key": "type",
                  "value": "FREIGHT_FORWARDER",
                  "description": "Filter by type: FREIGHT_FORWARDER, CARRIER, SHIPPER",
                  "disabled": true
                }
              ]
            },
            "description": "Retrieve a paginated list of organizations. Admins see all, others see only their own.\n\n**Requires authentication**"
          },
          "response": []
        }
      ],
      "description": "Organization management endpoints for creating, updating, and listing organizations."
    },
    {
      "name": "Notifications",
      "item": [
        {
          "name": "Get Notifications",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/notifications?page=1&limit=20&read=false",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "notifications"],
              "query": [
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "limit",
                  "value": "20"
                },
                {
                  "key": "read",
                  "value": "false",
                  "description": "Filter by read status",
                  "disabled": true
                }
              ]
            },
            "description": "Get user notifications with pagination and filtering.\n\n**Requires authentication**"
          },
          "response": []
        },
        {
          "name": "Get Unread Notifications",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/notifications/unread?limit=50",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "notifications", "unread"],
              "query": [
                {
                  "key": "limit",
                  "value": "50"
                }
              ]
            },
            "description": "Get unread notifications.\n\n**Requires authentication**"
          },
          "response": []
        },
        {
          "name": "Get Unread Count",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/notifications/unread/count",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "notifications", "unread", "count"]
            },
            "description": "Get unread notifications count.\n\n**Requires authentication**"
          },
          "response": []
        },
        {
          "name": "Mark Notification as Read",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "PATCH",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/notifications/:id/read",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "notifications", ":id", "read"],
              "variable": [
                {
                  "key": "id",
                  "value": "notification-id"
                }
              ]
            },
            "description": "Mark notification as read.\n\n**Requires authentication**"
          },
          "response": []
        },
        {
          "name": "Mark All as Read",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/notifications/read-all",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "notifications", "read-all"]
            },
            "description": "Mark all notifications as read.\n\n**Requires authentication**"
          },
          "response": []
        },
        {
          "name": "Delete Notification",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/notifications/:id",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "notifications", ":id"],
              "variable": [
                {
                  "key": "id",
                  "value": "notification-id"
                }
              ]
            },
            "description": "Delete notification.\n\n**Requires authentication**"
          },
          "response": []
        }
      ],
      "description": "Notification management endpoints for managing user notifications."
    },
    {
      "name": "Audit Logs",
      "item": [
        {
          "name": "Get Audit Logs",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/audit-logs?page=1&limit=50&action=BOOKING_CREATED&status=success",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "audit-logs"],
              "query": [
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "limit",
                  "value": "50"
                },
                {
                  "key": "userId",
                  "value": "user-id",
                  "description": "Filter by user ID",
                  "disabled": true
                },
                {
                  "key": "action",
                  "value": "BOOKING_CREATED",
                  "description": "Filter by action (comma-separated)",
                  "disabled": true
                },
                {
                  "key": "status",
                  "value": "success",
                  "description": "Filter by status (comma-separated)",
                  "disabled": true
                },
                {
                  "key": "resourceType",
                  "value": "booking",
                  "description": "Filter by resource type",
                  "disabled": true
                },
                {
                  "key": "startDate",
                  "value": "2025-01-01T00:00:00Z",
                  "description": "Filter by start date (ISO 8601)",
                  "disabled": true
                },
                {
                  "key": "endDate",
                  "value": "2025-12-31T23:59:59Z",
                  "description": "Filter by end date (ISO 8601)",
                  "disabled": true
                }
              ]
            },
            "description": "Get audit logs with filters.\n\n**Requires authentication (Admin/Manager role)**"
          },
          "response": []
        },
        {
          "name": "Get Resource Audit Trail",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/audit-logs/resource/:type/:id",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "audit-logs", "resource", ":type", ":id"],
              "variable": [
                {
                  "key": "type",
                  "value": "booking"
                },
                {
                  "key": "id",
                  "value": "{{bookingId}}"
                }
              ]
            },
            "description": "Get audit trail for a specific resource.\n\n**Requires authentication**"
          },
          "response": []
        },
        {
          "name": "Get Organization Activity",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/audit-logs/organization/activity?limit=50",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "audit-logs", "organization", "activity"],
              "query": [
                {
                  "key": "limit",
                  "value": "50"
                }
              ]
            },
            "description": "Get recent organization activity.\n\n**Requires authentication (Admin/Manager role)**"
          },
          "response": []
        },
        {
          "name": "Get User Activity",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/audit-logs/user/:userId/activity?limit=50",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "audit-logs", "user", ":userId", "activity"],
              "query": [
                {
                  "key": "limit",
                  "value": "50"
                }
              ],
              "variable": [
                {
                  "key": "userId",
                  "value": "{{userId}}"
                }
              ]
            },
            "description": "Get user activity history.\n\n**Requires authentication (Admin/Manager role)**"
          },
          "response": []
        }
      ],
      "description": "Audit log endpoints for compliance and security monitoring."
    },
    {
      "name": "GDPR",
      "item": [
        {
          "name": "Export User Data (JSON)",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/gdpr/export",
              "host": ["{{baseUrl}}"],
              "path": ["gdpr", "export"]
            },
            "description": "Export all personal data in JSON format (GDPR Article 20 - Right to Data Portability).\n\n**Requires authentication**"
          },
          "response": []
        },
        {
          "name": "Export User Data (CSV)",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/gdpr/export/csv",
              "host": ["{{baseUrl}}"],
              "path": ["gdpr", "export", "csv"]
            },
            "description": "Export personal data in CSV format for easy viewing.\n\n**Requires authentication**"
          },
          "response": []
        },
        {
          "name": "Delete Account",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "DELETE",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"confirmEmail\": \"{{userEmail}}\",\n  \"reason\": \"No longer using the service\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/gdpr/delete-account",
              "host": ["{{baseUrl}}"],
              "path": ["gdpr", "delete-account"]
            },
            "description": "Permanently delete or anonymize user data (GDPR Article 17 - Right to Erasure).\n\n**Requires authentication**"
          },
          "response": []
        },
        {
          "name": "Record Consent",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"consentType\": \"marketing\",\n  \"granted\": true\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/gdpr/consent",
              "host": ["{{baseUrl}}"],
              "path": ["gdpr", "consent"]
            },
            "description": "Record consent for marketing, analytics, etc. (GDPR Article 7).\n\n**Requires authentication**"
          },
          "response": []
        },
        {
          "name": "Withdraw Consent",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"consentType\": \"marketing\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/gdpr/consent/withdraw",
              "host": ["{{baseUrl}}"],
              "path": ["gdpr", "consent", "withdraw"]
            },
            "description": "Withdraw consent for marketing or analytics (GDPR Article 7.3).\n\n**Requires authentication**"
          },
          "response": []
        },
        {
          "name": "Get Consent Status",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/gdpr/consent",
              "host": ["{{baseUrl}}"],
              "path": ["gdpr", "consent"]
            },
            "description": "Retrieve current consent preferences.\n\n**Requires authentication**"
          },
          "response": []
        }
      ],
      "description": "GDPR compliance endpoints for data portability, erasure, and consent management."
    },
    {
      "name": "Webhooks",
      "item": [
        {
          "name": "Create Webhook",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"url\": \"https://your-domain.com/webhooks/xpeditis\",\n  \"events\": [\"booking.created\", \"booking.confirmed\", \"shipment.departed\"],\n  \"description\": \"Production webhook for booking events\",\n  \"headers\": {\n    \"X-API-Key\": \"your-api-key\"\n  }\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/v1/webhooks",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "webhooks"]
            },
            "description": "Create a new webhook.\n\n**Requires authentication (Admin/Manager role)**"
          },
          "response": []
        },
        {
          "name": "Get All Webhooks",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/webhooks",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "webhooks"]
            },
            "description": "Get all webhooks for organization.\n\n**Requires authentication (Admin/Manager role)**"
          },
          "response": []
        },
        {
          "name": "Get Webhook by ID",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/webhooks/:id",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "webhooks", ":id"],
              "variable": [
                {
                  "key": "id",
                  "value": "webhook-id"
                }
              ]
            },
            "description": "Get webhook by ID.\n\n**Requires authentication (Admin/Manager role)**"
          },
          "response": []
        },
        {
          "name": "Update Webhook",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"url\": \"https://your-domain.com/webhooks/xpeditis-v2\",\n  \"events\": [\"booking.created\", \"booking.confirmed\"],\n  \"description\": \"Updated webhook\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/v1/webhooks/:id",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "webhooks", ":id"],
              "variable": [
                {
                  "key": "id",
                  "value": "webhook-id"
                }
              ]
            },
            "description": "Update webhook.\n\n**Requires authentication (Admin/Manager role)**"
          },
          "response": []
        },
        {
          "name": "Activate Webhook",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/webhooks/:id/activate",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "webhooks", ":id", "activate"],
              "variable": [
                {
                  "key": "id",
                  "value": "webhook-id"
                }
              ]
            },
            "description": "Activate webhook.\n\n**Requires authentication (Admin/Manager role)**"
          },
          "response": []
        },
        {
          "name": "Deactivate Webhook",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/webhooks/:id/deactivate",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "webhooks", ":id", "deactivate"],
              "variable": [
                {
                  "key": "id",
                  "value": "webhook-id"
                }
              ]
            },
            "description": "Deactivate webhook.\n\n**Requires authentication (Admin/Manager role)**"
          },
          "response": []
        },
        {
          "name": "Delete Webhook",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/webhooks/:id",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "webhooks", ":id"],
              "variable": [
                {
                  "key": "id",
                  "value": "webhook-id"
                }
              ]
            },
            "description": "Delete webhook.\n\n**Requires authentication (Admin/Manager role)**"
          },
          "response": []
        }
      ],
      "description": "Webhook management endpoints for creating and managing event webhooks."
    },
    {
      "name": "Dashboard",
      "item": [
        {
          "name": "Get Dashboard KPIs",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/dashboard/kpis",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "dashboard", "kpis"]
            },
            "description": "Get dashboard KPIs (total bookings, revenue, etc.).\n\n**Requires authentication**"
          },
          "response": []
        },
        {
          "name": "Get Bookings Chart Data",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/dashboard/bookings-chart",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "dashboard", "bookings-chart"]
            },
            "description": "Get bookings chart data (last 6 months).\n\n**Requires authentication**"
          },
          "response": []
        },
        {
          "name": "Get Top Trade Lanes",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/dashboard/top-trade-lanes",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "dashboard", "top-trade-lanes"]
            },
            "description": "Get top 5 trade lanes by volume.\n\n**Requires authentication**"
          },
          "response": []
        },
        {
          "name": "Get Dashboard Alerts",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/dashboard/alerts",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "dashboard", "alerts"]
            },
            "description": "Get dashboard alerts (delayed shipments, pending confirmations, etc.).\n\n**Requires authentication**"
          },
          "response": []
        }
      ],
      "description": "Dashboard analytics endpoints for KPIs, charts, and alerts."
    },
    {
      "name": "Admin - CSV Rates",
      "item": [
        {
          "name": "Upload CSV Rate File",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "POST",
            "header": [],
            "body": {
              "mode": "formdata",
              "formdata": [
                {
                  "key": "companyName",
                  "value": "SSC Consolidation",
                  "type": "text"
                },
                {
                  "key": "file",
                  "type": "file",
                  "src": "/path/to/rates.csv"
                }
              ]
            },
            "url": {
              "raw": "{{baseUrl}}/api/v1/admin/csv-rates/upload",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "admin", "csv-rates", "upload"]
            },
            "description": "Upload a CSV file containing shipping rates for a carrier company. File must be valid CSV format with required columns. Maximum file size: 10MB.\n\n**Requires authentication (ADMIN role)**"
          },
          "response": []
        },
        {
          "name": "Get All CSV Configurations",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/admin/csv-rates/config",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "admin", "csv-rates", "config"]
            },
            "description": "Get all CSV rate configurations.\n\n**Requires authentication (ADMIN role)**"
          },
          "response": []
        },
        {
          "name": "Get CSV Config by Company",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/admin/csv-rates/config/:companyName",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "admin", "csv-rates", "config", ":companyName"],
              "variable": [
                {
                  "key": "companyName",
                  "value": "SSC Consolidation"
                }
              ]
            },
            "description": "Get CSV configuration for specific company.\n\n**Requires authentication (ADMIN role)**"
          },
          "response": []
        },
        {
          "name": "Validate CSV File",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/admin/csv-rates/validate/:companyName",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "admin", "csv-rates", "validate", ":companyName"],
              "variable": [
                {
                  "key": "companyName",
                  "value": "SSC Consolidation"
                }
              ]
            },
            "description": "Validate CSV file structure and data for a specific company.\n\n**Requires authentication (ADMIN role)**"
          },
          "response": []
        },
        {
          "name": "Delete CSV Configuration",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "type": "string"
                }
              ]
            },
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/admin/csv-rates/config/:companyName",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "admin", "csv-rates", "config", ":companyName"],
              "variable": [
                {
                  "key": "companyName",
                  "value": "SSC Consolidation"
                }
              ]
            },
            "description": "Delete CSV rate configuration for a company.\n\n**Requires authentication (ADMIN role)**"
          },
          "response": []
        }
      ],
      "description": "Admin-only endpoints for managing CSV rate files and configurations."
    },
    {
      "name": "Health",
      "item": [
        {
          "name": "Health Check",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/health",
              "host": ["{{baseUrl}}"],
              "path": ["health"]
            },
            "description": "Health check endpoint. Returns service status and uptime.\n\n**No authentication required**"
          },
          "response": []
        },
        {
          "name": "Readiness Check",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/health/ready",
              "host": ["{{baseUrl}}"],
              "path": ["health", "ready"]
            },
            "description": "Readiness check endpoint. Verifies database and Redis connectivity.\n\n**No authentication required**"
          },
          "response": []
        },
        {
          "name": "Liveness Check",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/health/live",
              "host": ["{{baseUrl}}"],
              "path": ["health", "live"]
            },
            "description": "Liveness check endpoint. Returns alive status.\n\n**No authentication required**"
          },
          "response": []
        }
      ],
      "description": "Health check endpoints for monitoring service status."
    }
  ]
}
