{"info":{"_postman_id":"0afa7b7f-731b-40ea-b443-064d0f8e7b78","name":"Vanguard Vote App","description":"<html><head></head><body><p>This documentation provides a complete guide to using the <strong>VANGUARD VOTING App API</strong> in Postman. You can now test and integrate these endpoints into your application.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"35385442","collectionId":"0afa7b7f-731b-40ea-b443-064d0f8e7b78","publishedId":"2sAYdfrBmA","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2025-02-27T12:58:18.000Z"},"item":[{"name":"Auth","item":[{"name":"Create Account","id":"30b81271-5e75-424f-8907-1c8db4e5e27b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"fullName\": \"Julia Peterez\",\r\n    \"username\": \"Julia\",\r\n    \"email\": \"Julia@gmail.com\",\r\n    \"password\": \"Julia@1234\",\r\n    \"profileImageUrl\": \"http://localhost:8000/uploads/1740836068351-Julia.jpg\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8000/api/v1/auth/register","description":"<p>Registers a new user with an email, username, and password.</p>\n","urlObject":{"path":["api","v1","auth","register"],"host":["http://localhost:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"30b81271-5e75-424f-8907-1c8db4e5e27b"},{"name":"Login","id":"4d231d0d-24da-4214-96d8-ea5a5d841ae4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"Jhon@gmail.com\",\r\n    \"password\": \"Jhon@1234\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8000/api/v1/auth/login","description":"<p>Authenticates a user and returns a JWT token for future API access.</p>\n","urlObject":{"path":["api","v1","auth","login"],"host":["http://localhost:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"4d231d0d-24da-4214-96d8-ea5a5d841ae4"},{"name":"Get User Info","id":"137270d7-deb2-496e-a17d-56e87b50c51c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3Yjk2YTM2Zjg2ZGJiMjVhMjkwYjM2YSIsImlhdCI6MTc0MDgzNTMwOSwiZXhwIjoxNzQwODM4OTA5fQ.jY5xYzHcBKKpP7wNywxSKMJdR1nO5e0lONWrAxJXr88"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"Jhon@gmail.com\",\r\n    \"password\": \"Jhon@1234\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8000/api/v1/auth/getUser","description":"<p>Retrieves the authenticated user’s profile details.</p>\n","urlObject":{"path":["api","v1","auth","getUser"],"host":["http://localhost:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"137270d7-deb2-496e-a17d-56e87b50c51c"},{"name":"Upload Image","id":"6b84bf9d-59a8-45f2-8a0f-5c85e71b4954","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3Yjk2YTM2Zjg2ZGJiMjVhMjkwYjM2YSIsImlhdCI6MTc0MDgzNTMwOSwiZXhwIjoxNzQwODM4OTA5fQ.jY5xYzHcBKKpP7wNywxSKMJdR1nO5e0lONWrAxJXr88"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"image","type":"file","uuid":"510f7b81-8f24-421c-b47f-eacc9effbf91","src":"/C:/Users/Sasmithx/Downloads/Julia.jpg"}]},"url":"http://localhost:8000/api/v1/auth/upload-image","description":"<p>Allows users to upload a profile picture.</p>\n","urlObject":{"path":["api","v1","auth","upload-image"],"host":["http://localhost:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"6b84bf9d-59a8-45f2-8a0f-5c85e71b4954"}],"id":"f4b2e437-9137-4679-a284-d29422165242","description":"<p>This section handles <strong>user authentication and profile management</strong>. It includes endpoints for <strong>user registration, login, retrieving user details</strong>, and <strong>profile image uploads</strong>. Authentication is managed using <strong>JWT tokens</strong> for secure access control.</p>\n","_postman_id":"f4b2e437-9137-4679-a284-d29422165242"},{"name":"Poll","item":[{"name":"Create New Poll","id":"dc092f2d-83ba-48ae-9a08-e8c2e46c17a3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3Yjk2YTM2Zjg2ZGJiMjVhMjkwYjM2YSIsImlhdCI6MTc0MDgzNTMwOSwiZXhwIjoxNzQwODM4OTA5fQ.jY5xYzHcBKKpP7wNywxSKMJdR1nO5e0lONWrAxJXr88"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"// Single Choice\r\n// {\r\n//     \"question\":\"What is Your Favourite MAC?\",\r\n//     \"type\":\"single-choice\",\r\n//     \"options\":[\"M1\", \"M2\", \"M3\"],\r\n//     \"creatorId\":\"67acb0fb7129009eaadf4580\"\r\n// }\r\n\r\n// Open Ended\r\n{\r\n    \"question\":\"What is Your Favourite color and why?\",\r\n    \"type\":\"open-ended\",\r\n    \"creatorId\":\"67acb0fb7129009eaadf4580\"\r\n} \r\n\r\n// Rating\r\n// {\r\n//     \"question\":\"How do you rate our service?\",\r\n//     \"type\":\"rating\",\r\n//     \"creatorId\":\"67acb0fb7129009eaadf4580\"\r\n// } \r\n\r\n// Yes / No\r\n// {\r\n//     \"question\":\"Do you like Pizza?\",\r\n//     \"type\":\"yes/no\",\r\n//     \"creatorId\":\"67acb0fb7129009eaadf4580\"\r\n// }\r\n\r\n// Image Based\r\n// {\r\n//     \"question\":\"Which logo do you like?\",\r\n//     \"type\":\"image-based\",\r\n//     \"options\":[\"logo_1\", \"logo_2\", \"logo_3\"],\r\n//     \"creatorId\":\"67acb0fb7129009eaadf4580\"\r\n// }\r\n","options":{"raw":{"language":"json"}}},"url":"http://localhost:8000/api/v1/poll/create","description":"<p>Enables authenticated users to create a new poll with multiple options.</p>\n","urlObject":{"path":["api","v1","poll","create"],"host":["http://localhost:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"dc092f2d-83ba-48ae-9a08-e8c2e46c17a3"},{"name":"Get All Polls","id":"1d3ca84a-c828-405a-a154-9bb668dc44db","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3Yjk2YTM2Zjg2ZGJiMjVhMjkwYjM2YSIsImlhdCI6MTc0MDgzNTMwOSwiZXhwIjoxNzQwODM4OTA5fQ.jY5xYzHcBKKpP7wNywxSKMJdR1nO5e0lONWrAxJXr88"}]},"isInherited":false},"method":"GET","header":[],"url":"http://localhost:8000/api/v1/poll/getAllPolls?page=1&limit=10","description":"<p>Fetches all available polls that users can vote on.</p>\n","urlObject":{"path":["api","v1","poll","getAllPolls"],"host":["http://localhost:8000"],"query":[{"disabled":true,"key":"type","value":"open-ended"},{"key":"page","value":"1"},{"key":"limit","value":"10"}],"variable":[]}},"response":[],"_postman_id":"1d3ca84a-c828-405a-a154-9bb668dc44db"},{"name":"Get All Voted Polls","event":[{"listen":"test","script":{"id":"90d78257-9df8-4378-aa23-fc3c764f3de1","exec":["var template = `\r","<style type=\"text/css\">\r","    .tftable {font-size:14px;color:#333333;width:100%;border-width: 1px;border-color: #87ceeb;border-collapse: collapse;}\r","    .tftable th {font-size:18px;background-color:#87ceeb;border-width: 1px;padding: 8px;border-style: solid;border-color: #87ceeb;text-align:left;}\r","    .tftable tr {background-color:#ffffff;}\r","    .tftable td {font-size:14px;border-width: 1px;padding: 8px;border-style: solid;border-color: #87ceeb;}\r","    .tftable tr:hover {background-color:#e0ffff;}\r","</style>\r","\r","<table class=\"tftable\" border=\"1\">\r","    <tr>\r","        <th>Poll ID</th>\r","        <th>Current Page</th>\r","        <th>Total Pages</th>\r","        <th>Total Voted Polls</th>\r","    </tr>\r","    <tr>\r","        <td>{{polls}}</td>\r","        <td>{{currentPage}}</td>\r","        <td>{{totalPages}}</td>\r","        <td>{{totalVotedPolls}}</td>\r","    </tr>\r","</table>\r","`;\r","\r","function constructVisualizerPayload() {\r","    return { response: pm.response.json() }\r","}\r","\r","pm.visualizer.set(template, constructVisualizerPayload());"],"type":"text/javascript","packages":{}}}],"id":"2b0706bb-2da0-4299-aa47-cb59a5d7f6ee","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3Yjk2YTM2Zjg2ZGJiMjVhMjkwYjM2YSIsImlhdCI6MTc0MDgzNTMwOSwiZXhwIjoxNzQwODM4OTA5fQ.jY5xYzHcBKKpP7wNywxSKMJdR1nO5e0lONWrAxJXr88"}]},"isInherited":false},"method":"GET","header":[],"url":"http://localhost:8000/api/v1/poll/votedPolls?page=1&limit=2","description":"<p>Retrieves a list of polls the user has already voted in.</p>\n","urlObject":{"path":["api","v1","poll","votedPolls"],"host":["http://localhost:8000"],"query":[{"key":"page","value":"1"},{"key":"limit","value":"2"}],"variable":[]}},"response":[],"_postman_id":"2b0706bb-2da0-4299-aa47-cb59a5d7f6ee"},{"name":"Get Poll By ID","id":"527f91d9-f1ef-487b-a935-5897587d2ce4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3Yjk2YTM2Zjg2ZGJiMjVhMjkwYjM2YSIsImlhdCI6MTc0MDgzNTMwOSwiZXhwIjoxNzQwODM4OTA5fQ.jY5xYzHcBKKpP7wNywxSKMJdR1nO5e0lONWrAxJXr88"}]},"isInherited":false},"method":"GET","header":[],"url":"http://localhost:8000/api/v1/poll/67b0b4925038c4f71049afb0","description":"<p>Fetches a specific poll using its unique ID.</p>\n","urlObject":{"path":["api","v1","poll","67b0b4925038c4f71049afb0"],"host":["http://localhost:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"527f91d9-f1ef-487b-a935-5897587d2ce4"},{"name":"Close Poll","id":"275e9c42-546f-4c17-a7eb-7b1a676ef050","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3Yjk2YTM2Zjg2ZGJiMjVhMjkwYjM2YSIsImlhdCI6MTc0MDgzNTMwOSwiZXhwIjoxNzQwODM4OTA5fQ.jY5xYzHcBKKpP7wNywxSKMJdR1nO5e0lONWrAxJXr88"}]},"isInherited":false},"method":"POST","header":[],"url":"http://localhost:8000/api/v1/poll/67b317b67a376c8cd825f7b0/close","description":"<p>Allows the poll creator to close a poll, preventing further votes.</p>\n","urlObject":{"path":["api","v1","poll","67b317b67a376c8cd825f7b0","close"],"host":["http://localhost:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"275e9c42-546f-4c17-a7eb-7b1a676ef050"},{"name":"Vote On Poll","id":"2a1cec96-60b5-4bf0-95f7-0687699d6cc8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3Yjk2YTM2Zjg2ZGJiMjVhMjkwYjM2YSIsImlhdCI6MTc0MDgzNTMwOSwiZXhwIjoxNzQwODM4OTA5fQ.jY5xYzHcBKKpP7wNywxSKMJdR1nO5e0lONWrAxJXr88"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"// {\r\n//     \"optionIndex\": 1,\r\n//     \"voterId\": \"67b1549de4cc35b3c539894c\"\r\n// }\r\n\r\n// Open ended POll Vote\r\n{   \r\n    \"responseText\": \"I like Black color\",\r\n    \"voterId\":\"67b1549de4cc35b3c539894c\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8000/api/v1/poll/67b0b4925038c4f71049afb0/vote","description":"<p>Submits a vote for a selected poll option.</p>\n","urlObject":{"path":["api","v1","poll","67b0b4925038c4f71049afb0","vote"],"host":["http://localhost:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"2a1cec96-60b5-4bf0-95f7-0687699d6cc8"},{"name":"Bookmark Poll","id":"bbc64b1e-2436-40f6-9b91-87e4f85e24b8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3Yjk2YTM2Zjg2ZGJiMjVhMjkwYjM2YSIsImlhdCI6MTc0MDgzNTMwOSwiZXhwIjoxNzQwODM4OTA5fQ.jY5xYzHcBKKpP7wNywxSKMJdR1nO5e0lONWrAxJXr88"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"// {\r\n//     \"optionIndex\": 1,\r\n//     \"voterId\": \"67b1549de4cc35b3c539894c\"\r\n// }\r\n\r\n// Open ended POll Vote\r\n{   \r\n    \"responseText\": \"I like Black color\",\r\n    \"voterId\":\"67b1549de4cc35b3c539894c\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8000/api/v1/poll/67b0b4925038c4f71049afb0/bookmark","description":"<p>Saves a poll to the user’s bookmarked list for easy access.</p>\n","urlObject":{"path":["api","v1","poll","67b0b4925038c4f71049afb0","bookmark"],"host":["http://localhost:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"bbc64b1e-2436-40f6-9b91-87e4f85e24b8"},{"name":"Get All Bookmarked Polls","id":"676575e6-eb4c-43cf-a3d1-a1658d7ac140","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3Yjk2YTM2Zjg2ZGJiMjVhMjkwYjM2YSIsImlhdCI6MTc0MDgzNTMwOSwiZXhwIjoxNzQwODM4OTA5fQ.jY5xYzHcBKKpP7wNywxSKMJdR1nO5e0lONWrAxJXr88"}]},"isInherited":false},"method":"GET","header":[],"url":"http://localhost:8000/api/v1/poll/user/bookmarked","description":"<p>Retrieves all polls that the user has bookmarked.</p>\n","urlObject":{"path":["api","v1","poll","user","bookmarked"],"host":["http://localhost:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"676575e6-eb4c-43cf-a3d1-a1658d7ac140"},{"name":"Delete Poll","id":"3f906534-b841-48a5-98d6-e3701b604c00","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3Yjk2YTM2Zjg2ZGJiMjVhMjkwYjM2YSIsImlhdCI6MTc0MDgzNTMwOSwiZXhwIjoxNzQwODM4OTA5fQ.jY5xYzHcBKKpP7wNywxSKMJdR1nO5e0lONWrAxJXr88"}]},"isInherited":false},"method":"DELETE","header":[],"url":"http://localhost:8000/api/v1/poll/67b0b4925038c4f71049afb0/delete","description":"<p>Deletes a poll, typically by the poll creator or an admin.</p>\n","urlObject":{"path":["api","v1","poll","67b0b4925038c4f71049afb0","delete"],"host":["http://localhost:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"3f906534-b841-48a5-98d6-e3701b604c00"}],"id":"c58eb1bd-2e4b-4dbc-b137-5abc5a859b71","description":"<p>This section covers all <strong>poll-related actions</strong>, including <strong>creating, retrieving, voting, bookmarking, and managing polls</strong>. Users can participate in polls, bookmark them for later, and manage their created polls, including closing or deleting them.</p>\n","_postman_id":"c58eb1bd-2e4b-4dbc-b137-5abc5a859b71"}],"event":[{"listen":"prerequest","script":{"id":"bd71aa0e-32fd-4c6a-99ac-4c64a4e478d1","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"af2d01bc-a4ea-49d8-9fdb-feb61ab28401","type":"text/javascript","packages":{},"exec":[""]}}],"variable":[{"key":"localhost","value":"http://localhost:8000","type":"string"},{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3Yjk2YTM2Zjg2ZGJiMjVhMjkwYjM2YSIsImlhdCI6MTc0MDgzNTMwOSwiZXhwIjoxNzQwODM4OTA5fQ.jY5xYzHcBKKpP7wNywxSKMJdR1nO5e0lONWrAxJXr88","type":"string"}]}