{
    "info": {
        "_postman_id": "unique-uuid",
        "name": "Miss Continent Prestige API",
        "description": "Complete API collection for Miss Continent Prestige platform",
        "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
    },
    "item": [
        {
            "name": "Authentication",
            "item": [
                {
                    "name": "Login",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"email\": \"user@example.com\",\n  \"password\": \"password123\"\n}"
                        },
                        "url": {
                            "raw": "{{baseUrl}}/api/users/login",
                            "host": ["{{baseUrl}}"],
                            "path": ["api", "users", "login"]
                        }
                    }
                },
                {
                    "name": "Register",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"firstName\": \"John\",\n  \"lastName\": \"Doe\",\n  \"email\": \"user@example.com\",\n  \"password\": \"password123\"\n}"
                        },
                        "url": {
                            "raw": "{{baseUrl}}/api/users/register",
                            "host": ["{{baseUrl}}"],
                            "path": ["api", "users", "register"]
                        }
                    }
                },
                {
                    "name": "Verify 2FA",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"code\": \"123456\"\n}"
                        },
                        "url": {
                            "raw": "{{baseUrl}}/api/auth/verify-2fa",
                            "host": ["{{baseUrl}}"],
                            "path": ["api", "auth", "verify-2fa"]
                        }
                    }
                },
                {
                    "name": "Logout",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{token}}"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/api/users/logout",
                            "host": ["{{baseUrl}}"],
                            "path": ["api", "users", "logout"]
                        }
                    }
                }
            ]
        },
        {
            "name": "Users",
            "item": [
                {
                    "name": "Get Me",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{token}}"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/api/users/me",
                            "host": ["{{baseUrl}}"],
                            "path": ["api", "users", "me"]
                        }
                    }
                },
                {
                    "name": "Update Profile",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{token}}"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"firstName\": \"Updated\",\n  \"lastName\": \"Name\"\n}"
                        },
                        "url": {
                            "raw": "{{baseUrl}}/api/users/profile",
                            "host": ["{{baseUrl}}"],
                            "path": ["api", "users", "profile"]
                        }
                    }
                },
                {
                    "name": "Change Password",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{token}}"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"currentPassword\": \"old-password\",\n  \"newPassword\": \"new-password\"\n}"
                        },
                        "url": {
                            "raw": "{{baseUrl}}/api/users/change-password",
                            "host": ["{{baseUrl}}"],
                            "path": ["api", "users", "change-password"]
                        }
                    }
                },
                {
                    "name": "Get All Users (Admin)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{adminToken}}"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/api/users/all",
                            "host": ["{{baseUrl}}"],
                            "path": ["api", "users", "all"]
                        }
                    }
                },
                {
                    "name": "Register Admin",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{adminToken}}"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"firstName\": \"Admin\",\n  \"lastName\": \"User\",\n  \"email\": \"admin@example.com\",\n  \"password\": \"admin123\"\n}"
                        },
                        "url": {
                            "raw": "{{baseUrl}}/api/users/register-admin",
                            "host": ["{{baseUrl}}"],
                            "path": ["api", "users", "register-admin"]
                        }
                    }
                },
                {
                    "name": "Update User Role",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{adminToken}}"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"role\": \"moderator\"\n}"
                        },
                        "url": {
                            "raw": "{{baseUrl}}/api/users/{{userId}}/role",
                            "host": ["{{baseUrl}}"],
                            "path": ["api", "users", "{{userId}}", "role"]
                        }
                    }
                }
            ]
        },
        {
            "name": "Contestants",
            "item": [
                {
                    "name": "Get All Contestants",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{adminToken}}"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/api/contestants",
                            "host": ["{{baseUrl}}"],
                            "path": ["api", "contestants"]
                        }
                    }
                },
                {
                    "name": "Register as Contestant",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"firstName\": \"Jane\",\n  \"lastName\": \"Doe\",\n  \"email\": \"contestant@example.com\",\n  \"password\": \"password123\"\n}"
                        },
                        "url": {
                            "raw": "{{baseUrl}}/api/contestants/register",
                            "host": ["{{baseUrl}}"],
                            "path": ["api", "contestants", "register"]
                        }
                    }
                },
                {
                    "name": "Update Payment Status",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{token}}"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"paymentStatus\": \"completed\",\n  \"transactionId\": \"tx_123\"\n}"
                        },
                        "url": {
                            "raw": "{{baseUrl}}/api/contestants/{{contestantId}}/payment",
                            "host": ["{{baseUrl}}"],
                            "path": ["api", "contestants", "{{contestantId}}", "payment"]
                        }
                    }
                },
                {
                    "name": "Submit Registration Form",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{token}}"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"biography\": \"About me...\",\n  \"measurements\": {\n    \"height\": 170,\n    \"weight\": 55\n  },\n  \"socialMedia\": {\n    \"instagram\": \"@handle\"\n  }\n}"
                        },
                        "url": {
                            "raw": "{{baseUrl}}/api/contestants/{{contestantId}}/form",
                            "host": ["{{baseUrl}}"],
                            "path": ["api", "contestants", "{{contestantId}}", "form"]
                        }
                    }
                }
            ]
        },
        {
            "name": "Voting",
            "item": [
                {
                    "name": "Get Current Round",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{baseUrl}}/api/voting/rounds/current",
                            "host": ["{{baseUrl}}"],
                            "path": ["api", "voting", "rounds", "current"]
                        }
                    }
                },
                {
                    "name": "Cast Vote",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"contestantId\": \"contestant-id\",\n  \"roundId\": \"round-id\"\n}"
                        },
                        "url": {
                            "raw": "{{baseUrl}}/api/voting/cast",
                            "host": ["{{baseUrl}}"],
                            "path": ["api", "voting", "cast"]
                        }
                    }
                },
                {
                    "name": "Get All Voting Rounds",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{adminToken}}"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/api/voting/rounds",
                            "host": ["{{baseUrl}}"],
                            "path": ["api", "voting", "rounds"]
                        }
                    }
                }
            ]
        },
        {
            "name": "Settings",
            "item": [
                {
                    "name": "Get Application Settings",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{token}}"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/api/settings",
                            "host": ["{{baseUrl}}"],
                            "path": ["api", "settings"]
                        }
                    }
                },
                {
                    "name": "Update All Settings",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{adminToken}}"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"general\": {\n    \"siteName\": \"Miss Continent Prestige\",\n    \"contactEmail\": \"contact@example.com\"\n  },\n  \"registration\": {\n    \"isOpen\": true,\n    \"deadline\": \"2025-12-31T23:59:59Z\"\n  }\n}"
                        },
                        "url": {
                            "raw": "{{baseUrl}}/api/settings",
                            "host": ["{{baseUrl}}"],
                            "path": ["api", "settings"]
                        }
                    }
                },
                {
                    "name": "Update Settings Section",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{adminToken}}"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"isOpen\": true,\n  \"deadline\": \"2025-12-31T23:59:59Z\"\n}"
                        },
                        "url": {
                            "raw": "{{baseUrl}}/api/settings/registration",
                            "host": ["{{baseUrl}}"],
                            "path": ["api", "settings", "registration"]
                        }
                    }
                }
            ]
        },
        {
            "name": "Analytics",
            "item": [
                {
                    "name": "Generate Analytics",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{adminToken}}"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/api/analytics/generate/{{type}}",
                            "host": ["{{baseUrl}}"],
                            "path": ["api", "analytics", "generate", "{{type}}"]
                        }
                    }
                },
                {
                    "name": "Get Analytics",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{adminToken}}"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/api/analytics",
                            "host": ["{{baseUrl}}"],
                            "path": ["api", "analytics"]
                        }
                    }
                },
                {
                    "name": "Get Voting Patterns",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{adminToken}}"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/api/analytics/voting-patterns",
                            "host": ["{{baseUrl}}"],
                            "path": ["api", "analytics", "voting-patterns"]
                        }
                    }
                },
                {
                    "name": "Get Contestant Performance",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{adminToken}}"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/api/analytics/contestant-performance",
                            "host": ["{{baseUrl}}"],
                            "path": ["api", "analytics", "contestant-performance"]
                        }
                    }
                },
                {
                    "name": "Get User Engagement",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{adminToken}}"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/api/analytics/user-engagement",
                            "host": ["{{baseUrl}}"],
                            "path": ["api", "analytics", "user-engagement"]
                        }
                    }
                },
                {
                    "name": "Get Real-Time Analytics",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{adminToken}}"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/api/analytics/real-time",
                            "host": ["{{baseUrl}}"],
                            "path": ["api", "analytics", "real-time"]
                        }
                    }
                },
                {
                    "name": "Get Dashboard Summary",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{adminToken}}"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/api/analytics/dashboard",
                            "host": ["{{baseUrl}}"],
                            "path": ["api", "analytics", "dashboard"]
                        }
                    }
                }
            ]
        },
        {
            "name": "Payments",
            "item": [
                {
                    "name": "Initialize Payment",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{token}}"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"amount\": 100,\n  \"currency\": \"USD\",\n  \"description\": \"Registration fee\"\n}"
                        },
                        "url": {
                            "raw": "{{baseUrl}}/api/payments/initialize",
                            "host": ["{{baseUrl}}"],
                            "path": ["api", "payments", "initialize"]
                        }
                    }
                },
                {
                    "name": "Verify Payment",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{token}}"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"paymentId\": \"pay_123\",\n  \"orderId\": \"order_123\"\n}"
                        },
                        "url": {
                            "raw": "{{baseUrl}}/api/payments/verify",
                            "host": ["{{baseUrl}}"],
                            "path": ["api", "payments", "verify"]
                        }
                    }
                },
                {
                    "name": "Get Order Status",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{token}}"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/api/payments/order/{{orderId}}",
                            "host": ["{{baseUrl}}"],
                            "path": ["api", "payments", "order", "{{orderId}}"]
                        }
                    }
                },
                {
                    "name": "Request Refund",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{token}}"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"reason\": \"Customer request\"\n}"
                        },
                        "url": {
                            "raw": "{{baseUrl}}/api/payments/refund/{{orderId}}",
                            "host": ["{{baseUrl}}"],
                            "path": ["api", "payments", "refund", "{{orderId}}"]
                        }
                    }
                }
            ]
        }
    ]
}
