{"info":{"_postman_id":"44cc1be7-8ff1-4c6c-9c97-2b7c6af03d96","name":"BootScanner API","description":"Backend API for the BootScanner application to manage bootcamps, courses, reviews, users and authentication.","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json"},"item":[{"name":"Bootcamps","item":[{"name":"Get all Bootcamps","id":"b8a15478-b6fd-4f3a-b886-3bd1efd38f1b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"page","value":"2","disabled":true},{"key":"limit","value":"2","disabled":true}],"url":"{{URL}}/api/v1/bootcamps","description":"Fetch all bootcamps from database. Includes pagination, filtering etc."},"response":[],"_postman_id":"b8a15478-b6fd-4f3a-b886-3bd1efd38f1b"},{"name":"Get single Bootcamp","id":"94377703-e4a9-49a7-b379-5ec0ff5f43bb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{URL}}/api/v1/bootcamps/1","description":"Get single bootcamp by ID."},"response":[],"_postman_id":"94377703-e4a9-49a7-b379-5ec0ff5f43bb"},{"name":"Create New Bootcamp","id":"6adcc471-b9c8-42c4-b8cc-a9b6b3218eb6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{TOKEN}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json","description":"JSON Type"}],"body":{"mode":"raw","raw":"{\n\t\"name\": \"Devcentral Bootcamp\",\n\t\"description\": \"Is coding your passion? Codemasters will give you the skills and the tools to become the best developer possible. We specialize in front end and full stack web development\",\n\t\"website\": \"https://devcentral.com\",\n\t\"phone\": \"(444) 444-4444\",\n\t\"email\": \"enroll@devcentral.com\",\n\t\"address\": \"45 Upper College Rd Kingston RI 02881\",\n\t\"careers\": [\n\t\t\"Mobile Development\",\n\t\t\"Web Development\",\n\t\t\"Data Science\",\n\t\t\"Business\"\n\t],\n\t\"housing\": false,\n\t\"jobAssistance\": true,\n\t\"jobGuarantee\": true,\n\t\"acceptGi\": true\n}"},"url":"{{URL}}/api/v1/bootcamps","description":"Add new bootcamp to database.\n\nMust be authenticated.\n\nIt must be publisher or admin. "},"response":[],"_postman_id":"6adcc471-b9c8-42c4-b8cc-a9b6b3218eb6"},{"name":"Update Bootcamp","id":"acf39a31-db6a-47e6-91d0-95cad10bb07a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{TOKEN}}"}},"method":"PUT","header":[],"body":{"mode":"raw","raw":""},"url":"{{URL}}/api/v1/bootcamps/fgfdd","description":"Update single bootcamp in database. \n\nMust be authenticated.\n\nIt must be publisher or admin. "},"response":[],"_postman_id":"acf39a31-db6a-47e6-91d0-95cad10bb07a"},{"name":"Delete a bootcamp","id":"be49a8f5-09ea-48d2-9ce6-b60bc600a33b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{TOKEN}}"}},"method":"DELETE","header":[],"body":{"mode":"formdata","formdata":[]},"url":"{{URL}}/api/v1/bootcamps/5de75c3b3a72be3968502830","description":"Delete a bootcamp from the database.\n\nMust be authenticated.\n\nIt must be publisher or admin. "},"response":[],"_postman_id":"be49a8f5-09ea-48d2-9ce6-b60bc600a33b"},{"name":"Get Bootcamps By Distance","id":"b35ce316-1caf-452f-8313-617df1befa8c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{URL}}/api/v1/bootcamps/radius/02118/500","description":"Get bootcamps within a radius of a specific zipcode"},"response":[],"_postman_id":"b35ce316-1caf-452f-8313-617df1befa8c"},{"name":"Upload Photo","id":"90316b41-4623-4ffd-ae17-1f973ffe5601","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{TOKEN}}"}},"method":"PUT","header":[],"body":{"mode":"raw","raw":""},"url":"{{URL}}/api/v1/bootcamps/5d713a66ec8f2b88b8f830b8/photo","description":"Route to upload a bootcamp photo"},"response":[],"_postman_id":"90316b41-4623-4ffd-ae17-1f973ffe5601"}],"id":"41cc72ca-f62e-4459-87cc-c02db6d768f1","description":"Bootcamps CRUD functionality","_postman_id":"41cc72ca-f62e-4459-87cc-c02db6d768f1"},{"name":"Courses","item":[{"name":"Get all Courses","id":"a26a4279-614c-4622-9e43-ac16a5613fc7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"page","value":"2","disabled":true},{"key":"limit","value":"2","disabled":true}],"url":"{{URL}}/api/v1/courses","description":"Get all courses in database."},"response":[],"_postman_id":"a26a4279-614c-4622-9e43-ac16a5613fc7"},{"name":"Get Courses for Bootcamp","id":"7a50b805-1c57-4844-adb4-80a35772bc30","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"page","value":"2","disabled":true},{"key":"limit","value":"2","disabled":true}],"url":"{{URL}}/api/v1/bootcamps/5d713995b721c3bb38c1f5d0/courses","description":"Get the specific courses for a bootcamp"},"response":[],"_postman_id":"7a50b805-1c57-4844-adb4-80a35772bc30"},{"name":"Get Single Course","id":"1c3e032c-d5a5-4253-9a66-25470d7d95fb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"page","value":"2","disabled":true},{"key":"limit","value":"2","disabled":true}],"url":"{{URL}}/api/v1/courses/5d725cb9c4ded7bcb480eaa1","description":"Get a single course by its ID."},"response":[],"_postman_id":"1c3e032c-d5a5-4253-9a66-25470d7d95fb"},{"name":"Create Course","id":"d99a8a97-26a8-4af2-ad9b-66a17a4e883e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{TOKEN}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"limit","value":"2","disabled":true}],"body":{"mode":"raw","raw":"{\n\t\"title\": \"Front End Web Development\",\n\t\"description\": \"This course will provide you with all of the essentials to become a successful frontend web developer. You will learn to master HTML, CSS and front end JavaScript, along with tools like Git, VSCode and front end frameworks like Vue\",\n\t\"weeks\": 8,\n\t\"tuition\": 8000,\n\t\"minimumSkill\": \"beginner\",\n\t\"scholarhipsAvailable\": true\n}"},"url":"{{URL}}/api/v1/bootcamps/5d725a1b7b292f5f8ceff788/courses","description":"Create a course for a specific bootcamp."},"response":[],"_postman_id":"d99a8a97-26a8-4af2-ad9b-66a17a4e883e"},{"name":"Update Course","id":"4f26d931-339b-485c-a9f2-018111288d23","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{TOKEN}}"}},"method":"PUT","header":[{"key":"Content-Type","value":"application/json","description":"JSON Type"}],"body":{"mode":"raw","raw":"{\n\t\"tuition\": 13000,\n\t\"minimumSkill\": \"advanced\"\n}"},"url":"{{URL}}/api/v1/courses/5d725c84c4ded7bcb480eaa0","description":"Update single course in database"},"response":[],"_postman_id":"4f26d931-339b-485c-a9f2-018111288d23"},{"name":"Delete Course","id":"6e7d096a-3730-4cef-820a-087f0b80e1df","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{TOKEN}}"}},"method":"DELETE","header":[{"key":"Content-Type","value":"application/json","description":"JSON Type","disabled":true}],"body":{"mode":"raw","raw":""},"url":"{{URL}}/api/v1/courses/5d725c84c4ded7bcb480eaa0","description":"Remove a single course from the database"},"response":[],"_postman_id":"6e7d096a-3730-4cef-820a-087f0b80e1df"}],"id":"a63aacc7-74a9-4890-bb1d-242f2c5df938","description":"Create, read, update and delete courses","_postman_id":"a63aacc7-74a9-4890-bb1d-242f2c5df938"},{"name":"Authentication","item":[{"name":"Register User","event":[{"listen":"test","script":{"id":"923f4498-45b4-4cd9-b8cf-b75dff9f0af3","exec":["pm.environment.set(\"TOKEN\", pm.response.json().token)"],"type":"text/javascript"}}],"id":"af23c77d-4491-4cc3-b9d5-c0f355225977","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"page","value":"2","disabled":true},{"key":"limit","value":"2","disabled":true},{"key":"Content-Type","value":"application/json","description":"JSON Type","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"name\": \"Brandon van Niekerk\",\n\t\"email\": \"brandon@gmail.com\",\n\t\"password\": \"123456\",\n\t\"role\": \"publisher\"\n}"},"url":"{{URL}}/api/v1/auth/register","description":"Add user to database with encrypted password"},"response":[],"_postman_id":"af23c77d-4491-4cc3-b9d5-c0f355225977"},{"name":"Login User","event":[{"listen":"test","script":{"id":"2c7c1e4f-db82-46c9-921c-543e0e986624","exec":["pm.environment.set(\"TOKEN\", pm.response.json().token)"],"type":"text/javascript"}}],"id":"18c47475-2916-4e5b-a52f-e65b30d08b4b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","description":"JSON Type"}],"body":{"mode":"raw","raw":"{\n\t\"email\": \"brandon@gmail.com\",\n\t\"password\": \"123456\"\n}"},"url":"{{URL}}/api/v1/auth/login","description":"Login user and assign a jwt token"},"response":[],"_postman_id":"18c47475-2916-4e5b-a52f-e65b30d08b4b"},{"name":"Get Logged in User","id":"7d7e74bd-e8af-4c12-b2bf-7a4341ffbd62","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{TOKEN}}"}},"method":"GET","header":[{"key":"page","value":"2","disabled":true},{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVkZTRiMzc0ZGRiNGExNGNlOGE0YjI2YyIsImlhdCI6MTU3NTQ0NDYzMSwiZXhwIjoxNTc4MDM2NjMxfQ.TgKymwky_R3231QVpcM88yAl-SgbEoIEloZd9_IGiW4"},{"key":"Content-Type","value":"application/json","description":"JSON Type"}],"url":"{{URL}}/api/v1/auth/me","description":"Get the user via the token"},"response":[],"_postman_id":"7d7e74bd-e8af-4c12-b2bf-7a4341ffbd62"},{"name":"Forgot Password","id":"c52c3131-6bb6-455c-882b-62c40373eaa0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","description":"JSON Type","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"email\": \"john@gmail.com\"\n}"},"url":"{{URL}}/api/v1/auth/forgotpassword","description":"Generate password token and send email"},"response":[],"_postman_id":"c52c3131-6bb6-455c-882b-62c40373eaa0"},{"name":"Reset Password","id":"10f14ed9-b17b-4641-91af-2982d642f270","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json","description":"JSON Type","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"password\": \"1234567\"\n}"},"url":"{{URL}}/api/v1/auth/resetpassword/8d56e75a51e7dc794138b3cbfe87f3b58974d796","description":"Reset user password using token"},"response":[],"_postman_id":"10f14ed9-b17b-4641-91af-2982d642f270"},{"name":"Update User Details","id":"e21b01c3-9015-4543-8117-ff748ce594b8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{TOKEN}}"}},"method":"PUT","header":[{"key":"Content-Type","value":"application/json","description":"JSON Type","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"email\": \"john@gmail.com\",\n\t\"name\": \"John Doe\"\n}"},"url":"{{URL}}/api/v1/auth/updatedetails","description":"Update logged in user name and email"},"response":[],"_postman_id":"e21b01c3-9015-4543-8117-ff748ce594b8"},{"name":"Update Password","id":"cec9c470-9c03-44d7-96f3-52e3c5076cec","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{TOKEN}}"}},"method":"PUT","header":[{"key":"Content-Type","value":"application/json","description":"JSON Type","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"currentPassword\": \"1234567\",\n\t\"newPassword\": \"123456\"\n}"},"url":"{{URL}}/api/v1/auth/updatepassword","description":"Update logged in user password. Send in the body currentPassword & newPassword"},"response":[],"_postman_id":"cec9c470-9c03-44d7-96f3-52e3c5076cec"},{"name":"Logout User","id":"856bdf84-66d6-4b7b-a6e9-3510834a1e64","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{TOKEN}}"}},"method":"GET","header":[{"key":"page","value":"2","disabled":true},{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVkZTRiMzc0ZGRiNGExNGNlOGE0YjI2YyIsImlhdCI6MTU3NTQ0NDYzMSwiZXhwIjoxNTc4MDM2NjMxfQ.TgKymwky_R3231QVpcM88yAl-SgbEoIEloZd9_IGiW4"},{"key":"Content-Type","value":"application/json","description":"JSON Type"}],"url":"{{URL}}/api/v1/auth/logout","description":"Logout user"},"response":[],"_postman_id":"856bdf84-66d6-4b7b-a6e9-3510834a1e64"}],"id":"8962e4c2-0723-4277-bc6d-a81d59c79de9","description":"Routers for user authentication including register, login, reset password etc.","_postman_id":"8962e4c2-0723-4277-bc6d-a81d59c79de9"},{"name":"Users","item":[{"name":"Get All Users","id":"340c872e-8fba-475e-a397-207f12890435","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{TOKEN}}"}},"method":"GET","header":[],"url":"{{URL}}/api/v1/users","description":"Get all users (admin)"},"response":[],"_postman_id":"340c872e-8fba-475e-a397-207f12890435"},{"name":"Get Single User","id":"87c30c41-ecf5-4025-92eb-2dc70adbad58","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{TOKEN}}"}},"method":"GET","header":[],"url":"{{URL}}/api/v1/users/5c8a1d5b0190b214360dc039","description":"Get single user by /:id (admin)"},"response":[],"_postman_id":"87c30c41-ecf5-4025-92eb-2dc70adbad58"},{"name":"Create User","id":"76ed9334-c29f-4d98-b0b8-a995e67e3aa3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{TOKEN}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json","description":"JSON Type","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"name\": \"Brandon van Niekerk\",\n\t\"email\": \"brandon@gmail.com\",\n\t\"password\": \"123456\"\n}"},"url":"{{URL}}/api/v1/users","description":"Add user to database (admin)"},"response":[],"_postman_id":"76ed9334-c29f-4d98-b0b8-a995e67e3aa3"},{"name":"Update User","id":"7726ba53-c8a5-4493-aae3-ba56653f4334","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{TOKEN}}"}},"method":"PUT","header":[{"key":"Content-Type","value":"application/json","description":"JSON Type","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"name\": \"Ross van Niekerk\",\n\t\"email\": \"brandon@gmail.com\",\n\t\"password\": \"123456\"\n}"},"url":"{{URL}}/api/v1/users/5de9c7b9c0686b0fac4f9b08","description":"Update a suser in database (admin)"},"response":[],"_postman_id":"7726ba53-c8a5-4493-aae3-ba56653f4334"},{"name":"Delete User","id":"0ed3e3bd-9ce3-4330-802e-7509b1d0965c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{TOKEN}}"}},"method":"DELETE","header":[{"key":"Content-Type","value":"application/json","description":"JSON Type","type":"text","disabled":true}],"body":{"mode":"raw","raw":""},"url":"{{URL}}/api/v1/users/5de9c7b9c0686b0fac4f9b08","description":"Delete a user from the database (admin)"},"response":[],"_postman_id":"0ed3e3bd-9ce3-4330-802e-7509b1d0965c"}],"id":"12bd49e7-40f6-434d-bf44-3b73c03453ee","description":"CRUD functionality for users only available to admins.","_postman_id":"12bd49e7-40f6-434d-bf44-3b73c03453ee"},{"name":"Reviews","item":[{"name":"Get All Reviews","id":"ee09ddc7-bfd2-4a39-9ad8-ec88763a38a6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{URL}}/api/v1/reviews","description":"Get all reviews from database and populate with bootcamp name and description."},"response":[],"_postman_id":"ee09ddc7-bfd2-4a39-9ad8-ec88763a38a6"},{"name":"Get Reviews For Bootcamp","id":"be59b6d6-14a5-4c12-9527-8bc2623b24e7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{URL}}/api/v1/bootcamps/5d725a1b7b292f5f8ceff788/reviews","description":"Fetch the reviews for a single bootcamp."},"response":[],"_postman_id":"be59b6d6-14a5-4c12-9527-8bc2623b24e7"},{"name":"Get Single Review","id":"62885789-e4d6-4afa-be60-4b2a4f9c7ef7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{URL}}/api/v1/reviews/5d7a514b5d2c12c7449be027","description":"Fetch a review from database by id and populate bootcamp name and description"},"response":[],"_postman_id":"62885789-e4d6-4afa-be60-4b2a4f9c7ef7"},{"name":"Add Review","id":"82625d8f-b2c3-4a49-968e-0bbd526c4b1e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{TOKEN}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json","description":"JSON Type","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"title\": \"Nice bootcamp\",\n\t\"text\": \"Awesome Awesome Awesome\",\n\t\"rating\": 8\n}"},"url":"{{URL}}/api/v1/bootcamps/5d725a1b7b292f5f8ceff788/reviews","description":"Add a review of a bootcamp to the database (user, admin)"},"response":[],"_postman_id":"82625d8f-b2c3-4a49-968e-0bbd526c4b1e"},{"name":"Update Review","id":"126a9c18-6cf9-4c06-a305-0d1f5d779f23","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{TOKEN}}"}},"method":"PUT","header":[{"key":"Content-Type","value":"application/json","description":"JSON Type","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"title\": \"Amended Review\"\n}"},"url":"{{URL}}/api/v1/reviews/5dea07f5264815705879ba3e","description":"Update a review of a bootcamp in the database (OP, admin)"},"response":[],"_postman_id":"126a9c18-6cf9-4c06-a305-0d1f5d779f23"},{"name":"Delete Review","id":"8cf903aa-9fd7-42fc-923d-b2f23c4aa19f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{TOKEN}}"}},"method":"DELETE","header":[{"key":"Content-Type","value":"application/json","description":"JSON Type","type":"text","disabled":true}],"body":{"mode":"formdata","formdata":[]},"url":"{{URL}}/api/v1/reviews/5dea07d7264815705879ba3d","description":"Delete a review from the database (OP, admin)"},"response":[],"_postman_id":"8cf903aa-9fd7-42fc-923d-b2f23c4aa19f"}],"id":"7c439631-c604-4284-ba7e-e29df44f5e73","description":"Manage course reviews","_postman_id":"7c439631-c604-4284-ba7e-e29df44f5e73"}]}