{
  "info": {
    "_postman_id": "mobiledukaan-api-collection",
    "name": "MobileDukaan API",
    "description": "Complete API collection for MobileDukaan backend (Public + Admin + Seller + CMS).\n\n## Setup\n1. Import `MobileDukaan.postman_environment.json` (or Production variant)\n2. Set `base_url` to your server (document root = `backend/public`)\n3. Run **Auth → Login** — token is saved automatically to `auth_token`\n4. All Admin requests use Bearer `{{auth_token}}`\n\n## Master resources\n`brands`, `phone_models`, `model_variants`, `colors`, `cities`, `phone_conditions`, `subscription_plans`\n\n## CMS sections\n`transformation`, `feature-stories`, `testimonials`, `pricing-plans`, `analytics-kpis`, `ecosystem-nodes`, `stats`, `nav-links`, `floating-cards`",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{auth_token}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "base_url",
      "value": "http://localhost/mobile-dukaan-unfold-main/backend/public"
    }
  ],
  "item": [
    {
      "name": "01 - Health & Public",
      "auth": { "type": "noauth" },
      "item": [
        {
          "name": "Health Check",
          "request": {
            "method": "GET",
            "header": [],
            "url": "{{base_url}}/api/health",
            "description": "Server health check. No auth required."
          }
        },
        {
          "name": "Setup Status",
          "request": {
            "method": "GET",
            "header": [],
            "url": "{{base_url}}/api/setup/status"
          }
        },
        {
          "name": "Get Full CMS (Public)",
          "request": {
            "method": "GET",
            "header": [],
            "url": "{{base_url}}/api/cms",
            "description": "Full seller landing CMS payload for /cms page."
          }
        },
        {
          "name": "Public Master - Brands",
          "request": {
            "method": "GET",
            "header": [],
            "url": "{{base_url}}/api/public/brands"
          }
        },
        {
          "name": "Public Master - Phone Models (by brand)",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/public/phone_models?brand_id={{brand_id}}",
              "host": ["{{base_url}}"],
              "path": ["api", "public", "phone_models"],
              "query": [{ "key": "brand_id", "value": "{{brand_id}}" }]
            }
          }
        },
        {
          "name": "Public Master - Model Variants (by model)",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/public/model_variants?phone_model_id={{phone_model_id}}",
              "host": ["{{base_url}}"],
              "path": ["api", "public", "model_variants"],
              "query": [{ "key": "phone_model_id", "value": "{{phone_model_id}}" }]
            }
          }
        },
        {
          "name": "Public Master - Colors",
          "request": {
            "method": "GET",
            "header": [],
            "url": "{{base_url}}/api/public/colors"
          }
        },
        {
          "name": "Public Master - Cities",
          "request": {
            "method": "GET",
            "header": [],
            "url": "{{base_url}}/api/public/cities"
          }
        },
        {
          "name": "Public Master - Phone Conditions",
          "request": {
            "method": "GET",
            "header": [],
            "url": "{{base_url}}/api/public/phone_conditions"
          }
        }
      ]
    },
    {
      "name": "02 - Auth",
      "auth": { "type": "noauth" },
      "item": [
        {
          "name": "Admin Login",
          "event": [
            {
              "listen": "test",
              "script": {
                "exec": [
                  "if (pm.response.code === 200) {",
                  "    const data = pm.response.json().data || pm.response.json();",
                  "    if (data.token) {",
                  "        pm.environment.set('auth_token', data.token);",
                  "        console.log('auth_token saved to environment');",
                  "    }",
                  "}"
                ],
                "type": "text/javascript"
              }
            }
          ],
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"{{admin_email}}\",\n  \"password\": \"{{admin_password}}\"\n}"
            },
            "url": "{{base_url}}/api/auth/login",
            "description": "Admin login. Token auto-saved to `auth_token` environment variable."
          }
        },
        {
          "name": "Get Current User (Me)",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [{ "key": "token", "value": "{{auth_token}}", "type": "string" }]
            },
            "method": "GET",
            "header": [],
            "url": "{{base_url}}/api/auth/me"
          }
        },
        {
          "name": "Logout",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [{ "key": "token", "value": "{{auth_token}}", "type": "string" }]
            },
            "method": "POST",
            "header": [],
            "url": "{{base_url}}/api/auth/logout"
          }
        }
      ]
    },
{
      "name": "03 - Seller API",
      "auth": {
        "type": "bearer",
        "bearer": [{ "key": "token", "value": "{{seller_token}}", "type": "string" }]
      },
      "item": [
        {
          "name": "Auth",
          "auth": { "type": "noauth" },
          "item": [
            {
              "name": "Register",
              "event": [{
                "listen": "test",
                "script": {
                  "type": "text/javascript",
                  "exec": [
                    "if ([200, 201].includes(pm.response.code)) {",
                    "  const data = pm.response.json().data || pm.response.json();",
                    "  if (data.token) pm.environment.set('seller_token', data.token);",
                    "  if (data.shop_id) pm.environment.set('shop_id', String(data.shop_id));",
                    "}"
                  ]
                }
              }],
              "request": {
                "method": "POST",
                "header": [{ "key": "Content-Type", "value": "application/json" }],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Rohan Sharma\",\n  \"email\": \"{{seller_email}}\",\n  \"password\": \"{{seller_password}}\",\n  \"shop_name\": \"Sharma Mobile Centre\",\n  \"owner_name\": \"Rohan Sharma\",\n  \"phone\": \"+919876543210\",\n  \"city_name\": \"Delhi\",\n  \"address\": \"Nehru Place, Delhi\"\n}"
                },
                "url": "{{base_url}}/api/seller/auth/register"
              }
            },
            {
              "name": "Login",
              "event": [{
                "listen": "test",
                "script": {
                  "type": "text/javascript",
                  "exec": [
                    "if (pm.response.code === 200) {",
                    "  const data = pm.response.json().data || pm.response.json();",
                    "  if (data.token) pm.environment.set('seller_token', data.token);",
                    "  if (data.shop_id) pm.environment.set('shop_id', String(data.shop_id));",
                    "}"
                  ]
                }
              }],
              "request": {
                "method": "POST",
                "header": [{ "key": "Content-Type", "value": "application/json" }],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"email\": \"{{seller_email}}\",\n  \"password\": \"{{seller_password}}\"\n}"
                },
                "url": "{{base_url}}/api/seller/auth/login"
              }
            },
            {
              "name": "Me",
              "request": {
                "method": "GET",
                "url": "{{base_url}}/api/seller/auth/me"
              }
            },
            {
              "name": "Logout",
              "request": {
                "method": "POST",
                "url": "{{base_url}}/api/seller/auth/logout"
              }
            }
          ]
        },
        {
          "name": "Onboarding Options",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/api/seller/onboarding/options?brand_id={{brand_id}}&phone_model_id={{phone_model_id}}",
              "host": ["{{base_url}}"],
              "path": ["api", "seller", "onboarding", "options"],
              "query": [
                { "key": "brand_id", "value": "{{brand_id}}" },
                { "key": "phone_model_id", "value": "{{phone_model_id}}" }
              ]
            },
            "description": "Brands, models, variants, colors, conditions from admin master data."
          }
        },
        {
          "name": "Dashboard",
          "request": {
            "method": "GET",
            "url": "{{base_url}}/api/seller/dashboard"
          }
        },
        {
          "name": "Devices",
          "item": [
            {
              "name": "List Devices",
              "request": {
                "method": "GET",
                "url": {
                  "raw": "{{base_url}}/api/seller/devices?status=&search=",
                  "host": ["{{base_url}}"],
                  "path": ["api", "seller", "devices"],
                  "query": [
                    { "key": "status", "value": "", "description": "in_stock | listed | sold | reserved" },
                    { "key": "search", "value": "" }
                  ]
                }
              }
            },
            {
              "name": "Get Device",
              "request": {
                "method": "GET",
                "url": "{{base_url}}/api/seller/devices/{{device_id}}"
              }
            },
            {
              "name": "Onboard Device",
              "event": [{
                "listen": "test",
                "script": {
                  "type": "text/javascript",
                  "exec": [
                    "if (pm.response.code === 201) {",
                    "  const data = pm.response.json().data || pm.response.json();",
                    "  if (data.id) pm.environment.set('device_id', String(data.id));",
                    "}"
                  ]
                }
              }],
              "request": {
                "method": "POST",
                "header": [{ "key": "Content-Type", "value": "application/json" }],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"brand_id\": {{brand_id}},\n  \"phone_model_id\": {{phone_model_id}},\n  \"model_variant_id\": {{model_variant_id}},\n  \"color_id\": {{color_id}},\n  \"phone_condition_id\": 1,\n  \"imei\": \"356789012345678\",\n  \"serial_number\": \"F2LD9K8Q0D56\",\n  \"storage\": \"256GB\",\n  \"ram\": \"8GB\",\n  \"battery_health\": 94,\n  \"condition_slug\": \"excellent\",\n  \"purchase_price\": 52000,\n  \"asking_price\": 64999,\n  \"images\": [],\n  \"warranty\": \"3 months shop warranty\",\n  \"listed_on_portal\": true,\n  \"has_box\": true,\n  \"has_bill\": true,\n  \"description\": \"Excellent condition with box and bill\",\n  \"source_seller_name\": \"Amit Kumar\",\n  \"source_seller_phone\": \"+919999999999\",\n  \"source_aadhaar_last4\": \"1234\",\n  \"source_id_proof_type\": \"aadhaar\",\n  \"source_address\": \"Delhi\"\n}"
                },
                "url": "{{base_url}}/api/seller/devices"
              }
            },
            {
              "name": "Update Device",
              "request": {
                "method": "PUT",
                "header": [{ "key": "Content-Type", "value": "application/json" }],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"asking_price\": 62999,\n  \"status\": \"listed\",\n  \"listed_on_portal\": true,\n  \"description\": \"Price reduced\"\n}"
                },
                "url": "{{base_url}}/api/seller/devices/{{device_id}}"
              }
            },
            {
              "name": "Delete Device",
              "request": {
                "method": "DELETE",
                "url": "{{base_url}}/api/seller/devices/{{device_id}}"
              }
            }
          ]
        },
        {
          "name": "Customers (CRM)",
          "item": [
            {
              "name": "List Customers",
              "request": {
                "method": "GET",
                "url": {
                  "raw": "{{base_url}}/api/seller/customers?search=",
                  "host": ["{{base_url}}"],
                  "path": ["api", "seller", "customers"],
                  "query": [{ "key": "search", "value": "" }]
                }
              }
            },
            {
              "name": "Get Customer",
              "request": {
                "method": "GET",
                "url": "{{base_url}}/api/seller/customers/{{customer_id}}"
              }
            },
            {
              "name": "Create Customer",
              "event": [{
                "listen": "test",
                "script": {
                  "type": "text/javascript",
                  "exec": [
                    "if (pm.response.code === 201) {",
                    "  const data = pm.response.json().data || pm.response.json();",
                    "  if (data.id) pm.environment.set('customer_id', String(data.id));",
                    "}"
                  ]
                }
              }],
              "request": {
                "method": "POST",
                "header": [{ "key": "Content-Type", "value": "application/json" }],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Amit Patel\",\n  \"phone\": \"+919810012345\",\n  \"email\": \"amit@email.com\",\n  \"city\": \"Delhi\",\n  \"temperature\": \"hot\",\n  \"tags\": [\"VIP\"],\n  \"notes\": \"Interested in iPhone 14 Pro\"\n}"
                },
                "url": "{{base_url}}/api/seller/customers"
              }
            },
            {
              "name": "Update Customer",
              "request": {
                "method": "PUT",
                "header": [{ "key": "Content-Type", "value": "application/json" }],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"temperature\": \"warm\",\n  \"notes\": \"Follow up next week\"\n}"
                },
                "url": "{{base_url}}/api/seller/customers/{{customer_id}}"
              }
            },
            {
              "name": "Delete Customer",
              "request": {
                "method": "DELETE",
                "url": "{{base_url}}/api/seller/customers/{{customer_id}}"
              }
            }
          ]
        },
        {
          "name": "Leads",
          "item": [
            {
              "name": "List Leads",
              "request": {
                "method": "GET",
                "url": {
                  "raw": "{{base_url}}/api/seller/leads?status=",
                  "host": ["{{base_url}}"],
                  "path": ["api", "seller", "leads"],
                  "query": [{ "key": "status", "value": "", "description": "new | contacted | negotiating | won | lost" }]
                }
              }
            },
            {
              "name": "Create Lead",
              "event": [{
                "listen": "test",
                "script": {
                  "type": "text/javascript",
                  "exec": [
                    "if (pm.response.code === 201) {",
                    "  const data = pm.response.json().data || pm.response.json();",
                    "  if (data.id) pm.environment.set('lead_id', String(data.id));",
                    "}"
                  ]
                }
              }],
              "request": {
                "method": "POST",
                "header": [{ "key": "Content-Type", "value": "application/json" }],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Priya Sharma\",\n  \"phone\": \"+919820023456\",\n  \"message\": \"Interested in OnePlus 11R\",\n  \"temperature\": \"warm\",\n  \"source\": \"whatsapp\",\n  \"device_id\": {{device_id}}\n}"
                },
                "url": "{{base_url}}/api/seller/leads"
              }
            },
            {
              "name": "Update Lead",
              "request": {
                "method": "PUT",
                "header": [{ "key": "Content-Type", "value": "application/json" }],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"status\": \"negotiating\",\n  \"temperature\": \"hot\"\n}"
                },
                "url": "{{base_url}}/api/seller/leads/{{lead_id}}"
              }
            }
          ]
        },
        {
          "name": "Repairs",
          "item": [
            {
              "name": "List Repairs",
              "request": {
                "method": "GET",
                "url": {
                  "raw": "{{base_url}}/api/seller/repairs?status=",
                  "host": ["{{base_url}}"],
                  "path": ["api", "seller", "repairs"],
                  "query": [{ "key": "status", "value": "" }]
                }
              }
            },
            {
              "name": "Get Repair",
              "request": {
                "method": "GET",
                "url": "{{base_url}}/api/seller/repairs/{{repair_id}}"
              }
            },
            {
              "name": "Create Repair Ticket",
              "event": [{
                "listen": "test",
                "script": {
                  "type": "text/javascript",
                  "exec": [
                    "if (pm.response.code === 201) {",
                    "  const data = pm.response.json().data || pm.response.json();",
                    "  if (data.id) pm.environment.set('repair_id', String(data.id));",
                    "}"
                  ]
                }
              }],
              "request": {
                "method": "POST",
                "header": [{ "key": "Content-Type", "value": "application/json" }],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"customer_name\": \"Amit Patel\",\n  \"customer_phone\": \"+919810012345\",\n  \"device_name\": \"iPhone 12 Pro\",\n  \"issue\": \"Display replacement + battery\",\n  \"estimated_cost\": 8500,\n  \"advance_paid\": 3000,\n  \"technician\": \"Suresh Kumar\",\n  \"notes\": \"OEM display ordered\"\n}"
                },
                "url": "{{base_url}}/api/seller/repairs"
              }
            },
            {
              "name": "Update Repair",
              "request": {
                "method": "PUT",
                "header": [{ "key": "Content-Type", "value": "application/json" }],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"status\": \"ready\",\n  \"notes\": \"Ready for pickup\"\n}"
                },
                "url": "{{base_url}}/api/seller/repairs/{{repair_id}}"
              }
            }
          ]
        },
        {
          "name": "Invoices",
          "item": [
            {
              "name": "List Invoices",
              "request": {
                "method": "GET",
                "url": {
                  "raw": "{{base_url}}/api/seller/invoices?type=&status=",
                  "host": ["{{base_url}}"],
                  "path": ["api", "seller", "invoices"],
                  "query": [
                    { "key": "type", "value": "", "description": "purchase | sale | repair" },
                    { "key": "status", "value": "", "description": "paid | partial | unpaid" }
                  ]
                }
              }
            },
            {
              "name": "Get Invoice",
              "request": {
                "method": "GET",
                "url": "{{base_url}}/api/seller/invoices/{{invoice_id}}"
              }
            },
            {
              "name": "Create Sale Invoice",
              "event": [{
                "listen": "test",
                "script": {
                  "type": "text/javascript",
                  "exec": [
                    "if (pm.response.code === 201) {",
                    "  const data = pm.response.json().data || pm.response.json();",
                    "  if (data.id) pm.environment.set('invoice_id', String(data.id));",
                    "}"
                  ]
                }
              }],
              "request": {
                "method": "POST",
                "header": [{ "key": "Content-Type", "value": "application/json" }],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"type\": \"sale\",\n  \"customer_name\": \"Sneha Reddy\",\n  \"customer_phone\": \"+919840045678\",\n  \"paid\": 47198.82,\n  \"items\": [\n    {\n      \"description\": \"iPhone 13 128GB Midnight\",\n      \"qty\": 1,\n      \"rate\": 39999,\n      \"amount\": 39999\n    }\n  ]\n}"
                },
                "url": "{{base_url}}/api/seller/invoices"
              }
            }
          ]
        },
        {
          "name": "Marketplace Listings",
          "item": [
            {
              "name": "List Listings",
              "request": {
                "method": "GET",
                "url": "{{base_url}}/api/seller/listings"
              }
            },
            {
              "name": "Update Listing",
              "request": {
                "method": "PUT",
                "header": [{ "key": "Content-Type", "value": "application/json" }],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"status\": \"active\",\n  \"price\": 62999\n}"
                },
                "url": "{{base_url}}/api/seller/listings/{{seller_listing_id}}"
              }
            }
          ]
        },
        {
          "name": "Shop Settings",
          "item": [
            {
              "name": "Get Shop",
              "request": {
                "method": "GET",
                "url": "{{base_url}}/api/seller/shop"
              }
            },
            {
              "name": "Update Shop",
              "request": {
                "method": "PUT",
                "header": [{ "key": "Content-Type", "value": "application/json" }],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Sharma Mobile Centre\",\n  \"owner_name\": \"Rohan Sharma\",\n  \"phone\": \"+919876543210\",\n  \"email\": \"rohan@sharmamobile.in\",\n  \"address\": \"Shop 12, Nehru Place, Delhi\",\n  \"city_name\": \"Delhi\",\n  \"gstin\": \"07AABCS1429B1Z5\",\n  \"pan\": \"AABCS1429B\",\n  \"description\": \"Premium refurbished phones\",\n  \"whatsapp_enabled\": true,\n  \"whatsapp_number\": \"+919876543210\"\n}"
                },
                "url": "{{base_url}}/api/seller/shop"
              }
            }
          ]
        },
        {
          "name": "Upload File",
          "request": {
            "method": "POST",
            "body": {
              "mode": "formdata",
              "formdata": [
                {
                  "key": "file",
                  "type": "file",
                  "src": [],
                  "description": "Device photos or invoice PDF"
                }
              ]
            },
            "url": "{{base_url}}/api/seller/upload"
          }
        }
      ]
    },
    {
      "name": "04 - Admin Dashboard",
      "item": [
        {
          "name": "Dashboard Overview",
          "request": {
            "method": "GET",
            "header": [],
            "url": "{{base_url}}/api/admin/dashboard"
          }
        }
      ]
    },
    {
      "name": "05 - Admin Shops",
      "item": [
        {
          "name": "List Shops",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/admin/shops?page=1&per_page=20&status=&search=",
              "host": ["{{base_url}}"],
              "path": ["api", "admin", "shops"],
              "query": [
                { "key": "page", "value": "1" },
                { "key": "per_page", "value": "20" },
                { "key": "status", "value": "", "description": "trial | active | suspended" },
                { "key": "search", "value": "" }
              ]
            }
          }
        },
        {
          "name": "Get Shop by ID",
          "request": {
            "method": "GET",
            "header": [],
            "url": "{{base_url}}/api/admin/shops/{{shop_id}}"
          }
        },
        {
          "name": "Create Shop",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Tech Mobile Hub\",\n  \"slug\": \"tech-mobile-hub\",\n  \"owner_name\": \"Rahul Sharma\",\n  \"email\": \"rahul@techmobile.in\",\n  \"phone\": \"+919876543210\",\n  \"gstin\": \"27AABCU9603R1ZM\",\n  \"address\": \"Shop 12, Lamington Road, Mumbai\",\n  \"city_name\": \"Mumbai\",\n  \"plan_id\": 2,\n  \"status\": \"trial\",\n  \"verified\": 0,\n  \"whatsapp_enabled\": 1\n}"
            },
            "url": "{{base_url}}/api/admin/shops"
          }
        },
        {
          "name": "Update Shop",
          "request": {
            "method": "PUT",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Tech Mobile Hub (Updated)\",\n  \"owner_name\": \"Rahul Sharma\",\n  \"email\": \"rahul@techmobile.in\",\n  \"phone\": \"+919876543210\",\n  \"city_name\": \"Mumbai\",\n  \"plan_id\": 2,\n  \"status\": \"active\",\n  \"verified\": 1,\n  \"whatsapp_enabled\": 1,\n  \"whatsapp_number\": \"+919876543210\",\n  \"description\": \"Premium refurbished phones dealer\",\n  \"mrr\": 2499\n}"
            },
            "url": "{{base_url}}/api/admin/shops/{{shop_id}}"
          }
        },
        {
          "name": "Suspend Shop",
          "request": {
            "method": "POST",
            "header": [],
            "url": "{{base_url}}/api/admin/shops/{{shop_id}}/suspend"
          }
        },
        {
          "name": "Activate Shop",
          "request": {
            "method": "POST",
            "header": [],
            "url": "{{base_url}}/api/admin/shops/{{shop_id}}/activate"
          }
        }
      ]
    },
    {
      "name": "06 - Admin Master Data",
      "item": [
        {
          "name": "List Resource",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/admin/master/{{master_resource}}?brand_id={{brand_id}}&phone_model_id={{phone_model_id}}",
              "host": ["{{base_url}}"],
              "path": ["api", "admin", "master", "{{master_resource}}"],
              "query": [
                { "key": "brand_id", "value": "{{brand_id}}", "description": "For phone_models filter" },
                { "key": "phone_model_id", "value": "{{phone_model_id}}", "description": "For model_variants filter" }
              ]
            }
          }
        },
        {
          "name": "Create Brand",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"OnePlus\",\n  \"slug\": \"oneplus\",\n  \"logo_url\": \"https://example.com/logos/oneplus.png\",\n  \"sort_order\": 10,\n  \"is_active\": 1\n}"
            },
            "url": "{{base_url}}/api/admin/master/brands"
          }
        },
        {
          "name": "Create Phone Model",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"brand_id\": {{brand_id}},\n  \"name\": \"OnePlus 12\",\n  \"slug\": \"oneplus-12\",\n  \"release_year\": 2024,\n  \"sort_order\": 1,\n  \"is_active\": 1\n}"
            },
            "url": "{{base_url}}/api/admin/master/phone_models"
          }
        },
        {
          "name": "Create Model Variant",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"phone_model_id\": {{phone_model_id}},\n  \"name\": \"256GB / 12GB RAM\",\n  \"storage\": \"256GB\",\n  \"ram\": \"12GB\",\n  \"sort_order\": 1,\n  \"is_active\": 1\n}"
            },
            "url": "{{base_url}}/api/admin/master/model_variants"
          }
        },
        {
          "name": "Create Color",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Silky Black\",\n  \"hex_code\": \"#1a1a1a\",\n  \"sort_order\": 5,\n  \"is_active\": 1\n}"
            },
            "url": "{{base_url}}/api/admin/master/colors"
          }
        },
        {
          "name": "Create City",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Pune\",\n  \"state\": \"Maharashtra\",\n  \"sort_order\": 5,\n  \"is_active\": 1\n}"
            },
            "url": "{{base_url}}/api/admin/master/cities"
          }
        },
        {
          "name": "Create Phone Condition",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Like New\",\n  \"slug\": \"like-new\",\n  \"sort_order\": 1,\n  \"is_active\": 1\n}"
            },
            "url": "{{base_url}}/api/admin/master/phone_conditions"
          }
        },
        {
          "name": "Create Subscription Plan",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Growth\",\n  \"slug\": \"growth\",\n  \"price_monthly\": 1999,\n  \"price_yearly\": 19990,\n  \"device_limit\": 100,\n  \"features\": [\"Unlimited listings\", \"WhatsApp integration\", \"Analytics\"],\n  \"is_popular\": 1,\n  \"sort_order\": 2,\n  \"is_active\": 1\n}"
            },
            "url": "{{base_url}}/api/admin/master/subscription_plans"
          }
        },
        {
          "name": "Update Resource",
          "request": {
            "method": "PUT",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Updated Name\",\n  \"sort_order\": 99,\n  \"is_active\": 1\n}"
            },
            "url": "{{base_url}}/api/admin/master/{{master_resource}}/{{master_id}}"
          }
        },
        {
          "name": "Delete Resource",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": "{{base_url}}/api/admin/master/{{master_resource}}/{{master_id}}"
          }
        }
      ]
    },
    {
      "name": "07 - Admin CMS",
      "item": [
        {
          "name": "Get Hero",
          "request": {
            "method": "GET",
            "header": [],
            "url": "{{base_url}}/api/admin/cms/hero"
          }
        },
        {
          "name": "Update Hero",
          "request": {
            "method": "PUT",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"badge_text\": \"India's #1 Mobile Seller Platform\",\n  \"headline\": \"Turn your shop into a\",\n  \"headline_highlight\": \"digital powerhouse\",\n  \"subheadline\": \"List, sell, and manage refurbished phones with CRM, invoices, and WhatsApp — all in one dashboard.\",\n  \"cta_primary_text\": \"Start Free Trial\",\n  \"cta_primary_url\": \"/signup\",\n  \"cta_secondary_text\": \"Watch Demo\",\n  \"cta_secondary_url\": \"#demo\",\n  \"dashboard_image_url\": \"/images/dashboard-preview.png\",\n  \"floating_phone_image_url\": \"/images/phone-float.png\",\n  \"is_active\": 1\n}"
            },
            "url": "{{base_url}}/api/admin/cms/hero"
          }
        },
        {
          "name": "Update CMS SEO Settings",
          "request": {
            "method": "PUT",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"meta_title\": \"MobileDukaan — Seller CMS\",\n  \"meta_description\": \"Launch your mobile shop online with MobileDukaan seller platform.\",\n  \"og_title\": \"MobileDukaan for Sellers\",\n  \"og_description\": \"CRM, inventory, invoices & WhatsApp for mobile retailers.\"\n}"
            },
            "url": "{{base_url}}/api/admin/cms/settings"
          }
        },
        {
          "name": "List Ticker Items",
          "request": {
            "method": "GET",
            "header": [],
            "url": "{{base_url}}/api/admin/cms/ticker"
          }
        },
        {
          "name": "Create Ticker Item",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"text\": \"500+ shops onboarded across India\",\n  \"sort_order\": 1,\n  \"is_active\": 1\n}"
            },
            "url": "{{base_url}}/api/admin/cms/ticker"
          }
        },
        {
          "name": "Update Ticker Item",
          "request": {
            "method": "PUT",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"text\": \"Updated ticker message\",\n  \"sort_order\": 2,\n  \"is_active\": 1\n}"
            },
            "url": "{{base_url}}/api/admin/cms/ticker/{{ticker_id}}"
          }
        },
        {
          "name": "Delete Ticker Item",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": "{{base_url}}/api/admin/cms/ticker/{{ticker_id}}"
          }
        },
        {
          "name": "List CMS Section",
          "request": {
            "method": "GET",
            "header": [],
            "url": "{{base_url}}/api/admin/cms/sections/{{cms_section}}"
          }
        },
        {
          "name": "Create Testimonial",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Amit Patel\",\n  \"shop_label\": \"Mobile World, Ahmedabad\",\n  \"quote\": \"MobileDukaan doubled our online inquiries in 3 months.\",\n  \"before_value\": \"₹2L/mo\",\n  \"after_value\": \"₹5L/mo\",\n  \"sort_order\": 1,\n  \"is_active\": 1\n}"
            },
            "url": "{{base_url}}/api/admin/cms/sections/testimonials"
          }
        },
        {
          "name": "Create Transformation Item",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"tag\": \"Inventory\",\n  \"title\": \"Real-time stock tracking\",\n  \"description\": \"Know exactly what's on your shelf and what's listed online.\",\n  \"sort_order\": 1,\n  \"is_active\": 1\n}"
            },
            "url": "{{base_url}}/api/admin/cms/sections/transformation"
          }
        },
        {
          "name": "Create Feature Story",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"tag\": \"CRM\",\n  \"title\": \"Never lose a lead again\",\n  \"description\": \"Track every customer from inquiry to sale.\",\n  \"link_text\": \"Learn more\",\n  \"link_url\": \"#crm\",\n  \"sort_order\": 1,\n  \"is_active\": 1\n}"
            },
            "url": "{{base_url}}/api/admin/cms/sections/feature-stories"
          }
        },
        {
          "name": "Create Pricing Plan",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Pro\",\n  \"price_display\": \"₹2,499/mo\",\n  \"price_monthly\": 2499,\n  \"description\": \"For growing shops with 50+ devices\",\n  \"cta_text\": \"Get Started\",\n  \"cta_url\": \"/signup?plan=pro\",\n  \"is_featured\": 0,\n  \"sort_order\": 2,\n  \"is_active\": 1\n}"
            },
            "url": "{{base_url}}/api/admin/cms/sections/pricing-plans"
          }
        },
        {
          "name": "Create Analytics KPI",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"label\": \"Active Shops\",\n  \"value\": \"500+\",\n  \"trend\": \"+12%\",\n  \"progress_width\": 85,\n  \"sort_order\": 1,\n  \"is_active\": 1\n}"
            },
            "url": "{{base_url}}/api/admin/cms/sections/analytics-kpis"
          }
        },
        {
          "name": "Create Ecosystem Node",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"WhatsApp Commerce\",\n  \"sort_order\": 1,\n  \"is_active\": 1\n}"
            },
            "url": "{{base_url}}/api/admin/cms/sections/ecosystem-nodes"
          }
        },
        {
          "name": "Create Stat",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"value\": \"10,000+\",\n  \"label\": \"Devices Listed\",\n  \"sort_order\": 1,\n  \"is_active\": 1\n}"
            },
            "url": "{{base_url}}/api/admin/cms/sections/stats"
          }
        },
        {
          "name": "Create Nav Link",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"label\": \"Features\",\n  \"url\": \"#features\",\n  \"location\": \"header\",\n  \"sort_order\": 1,\n  \"is_active\": 1\n}"
            },
            "url": "{{base_url}}/api/admin/cms/sections/nav-links"
          }
        },
        {
          "name": "Create Floating Card",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"card_type\": \"sale\",\n  \"title\": \"iPhone 14 Pro\",\n  \"subtitle\": \"Just sold\",\n  \"body_text\": \"₹72,000\",\n  \"value_display\": \"+₹8,000 margin\",\n  \"trend_text\": \"↑ 15%\",\n  \"position\": \"top-right\",\n  \"sort_order\": 1,\n  \"is_active\": 1\n}"
            },
            "url": "{{base_url}}/api/admin/cms/sections/floating-cards"
          }
        },
        {
          "name": "Update CMS Section Item",
          "request": {
            "method": "PUT",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Updated item\",\n  \"sort_order\": 99,\n  \"is_active\": 1\n}"
            },
            "url": "{{base_url}}/api/admin/cms/sections/{{cms_section}}/{{section_id}}"
          }
        },
        {
          "name": "Delete CMS Section Item",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": "{{base_url}}/api/admin/cms/sections/{{cms_section}}/{{section_id}}"
          }
        }
      ]
    },
    {
      "name": "08 - Admin Support",
      "item": [
        {
          "name": "List Support Tickets",
          "request": {
            "method": "GET",
            "header": [],
            "url": "{{base_url}}/api/admin/support"
          }
        },
        {
          "name": "Get Ticket Detail",
          "request": {
            "method": "GET",
            "header": [],
            "url": "{{base_url}}/api/admin/support/{{ticket_id}}"
          }
        },
        {
          "name": "Reply to Ticket",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"message\": \"Thank you for reaching out. We are looking into your issue and will update you shortly.\"\n}"
            },
            "url": "{{base_url}}/api/admin/support/{{ticket_id}}/reply"
          }
        },
        {
          "name": "Resolve Ticket",
          "request": {
            "method": "POST",
            "header": [],
            "url": "{{base_url}}/api/admin/support/{{ticket_id}}/resolve"
          }
        }
      ]
    },
    {
      "name": "09 - Admin Verification",
      "item": [
        {
          "name": "List Verification Requests",
          "request": {
            "method": "GET",
            "header": [],
            "url": "{{base_url}}/api/admin/verification"
          }
        },
        {
          "name": "Approve Verification",
          "request": {
            "method": "POST",
            "header": [],
            "url": "{{base_url}}/api/admin/verification/{{verification_id}}/approve"
          }
        },
        {
          "name": "Reject Verification",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"notes\": \"GST document is unclear. Please re-upload a clearer copy.\"\n}"
            },
            "url": "{{base_url}}/api/admin/verification/{{verification_id}}/reject"
          }
        }
      ]
    },
    {
      "name": "10 - Admin Listings",
      "item": [
        {
          "name": "List Listings",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/admin/listings?status=pending",
              "host": ["{{base_url}}"],
              "path": ["api", "admin", "listings"],
              "query": [{ "key": "status", "value": "pending", "description": "pending | approved | rejected" }]
            }
          }
        },
        {
          "name": "Update Listing Status",
          "request": {
            "method": "PUT",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"status\": \"approved\"\n}"
            },
            "url": "{{base_url}}/api/admin/listings/{{listing_id}}/status"
          }
        }
      ]
    },
    {
      "name": "11 - Admin Users",
      "item": [
        {
          "name": "List Platform Users",
          "request": {
            "method": "GET",
            "header": [],
            "url": "{{base_url}}/api/admin/users"
          }
        },
        {
          "name": "Update User Status",
          "request": {
            "method": "PUT",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"status\": \"active\"\n}"
            },
            "url": "{{base_url}}/api/admin/users/{{user_id}}/status",
            "description": "status: active | suspended | banned"
          }
        }
      ]
    },
    {
      "name": "12 - Admin Subscriptions",
      "item": [
        {
          "name": "Subscriptions Overview",
          "request": {
            "method": "GET",
            "header": [],
            "url": "{{base_url}}/api/admin/subscriptions"
          }
        }
      ]
    },
    {
      "name": "13 - Admin Revenue",
      "item": [
        {
          "name": "Revenue Dashboard",
          "request": {
            "method": "GET",
            "header": [],
            "url": "{{base_url}}/api/admin/revenue"
          }
        }
      ]
    },
    {
      "name": "14 - Admin Activity",
      "item": [
        {
          "name": "Activity Logs",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/admin/activity?category=",
              "host": ["{{base_url}}"],
              "path": ["api", "admin", "activity"],
              "query": [{ "key": "category", "value": "", "description": "shop | user | cms | support | system" }]
            }
          }
        }
      ]
    },
    {
      "name": "15 - Admin Settings",
      "item": [
        {
          "name": "Get Platform Settings",
          "request": {
            "method": "GET",
            "header": [],
            "url": "{{base_url}}/api/admin/settings"
          }
        },
        {
          "name": "Update Platform Settings",
          "request": {
            "method": "PUT",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"maintenance_mode\": false,\n  \"new_shop_auto_approve\": true,\n  \"support_email\": \"support@mobiledukaan.in\",\n  \"default_trial_days\": 14\n}"
            },
            "url": "{{base_url}}/api/admin/settings",
            "description": "Keys depend on platform_settings table. Boolean/array values supported."
          }
        },
        {
          "name": "List Admin Alerts",
          "request": {
            "method": "GET",
            "header": [],
            "url": "{{base_url}}/api/admin/alerts"
          }
        },
        {
          "name": "Mark Alert as Read",
          "request": {
            "method": "POST",
            "header": [],
            "url": "{{base_url}}/api/admin/alerts/{{alert_id}}/read"
          }
        }
      ]
    },
    {
      "name": "16 - Admin Upload",
      "item": [
        {
          "name": "Upload File",
          "request": {
            "method": "POST",
            "header": [],
            "body": {
              "mode": "formdata",
              "formdata": [
                {
                  "key": "file",
                  "type": "file",
                  "src": [],
                  "description": "JPEG, PNG, WebP, GIF, or PDF. Max size from UPLOAD_MAX_MB in .env (default 5MB)"
                }
              ]
            },
            "url": "{{base_url}}/api/admin/upload"
          }
        }
      ]
    }
  ]
}
