{"info":{"_postman_id":"9bee699d-3e1c-4bdf-80c2-38352124eb8a","name":"UrbanMove API","description":"<html><head></head><body><p>API collection for UrbanMove Corporate Shuttle Platform</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"50839381","collectionId":"9bee699d-3e1c-4bdf-80c2-38352124eb8a","publishedId":"2sBXqKoLCy","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2026-05-02T12:31:36.000Z"},"item":[{"name":"Auth","item":[{"name":"Login (Admin)","id":"e0b4f59f-5e09-4895-be33-416fef184a34","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"email\": \"admin@urbanmove.com\",\n    \"password\": \"Admin1234\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/auth/login","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"9bee699d-3e1c-4bdf-80c2-38352124eb8a","id":"9bee699d-3e1c-4bdf-80c2-38352124eb8a","name":"UrbanMove API","type":"collection"}},"urlObject":{"path":["auth","login"],"host":["http://localhost:5000/api"],"query":[],"variable":[]}},"response":[],"_postman_id":"e0b4f59f-5e09-4895-be33-416fef184a34"},{"name":"Login (Employee)","id":"c260a55c-daed-4470-ab77-3ca86979b8da","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"email\": \"demo@urbanmove.com\",\n    \"password\": \"Demo1234\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/auth/login","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"9bee699d-3e1c-4bdf-80c2-38352124eb8a","id":"9bee699d-3e1c-4bdf-80c2-38352124eb8a","name":"UrbanMove API","type":"collection"}},"urlObject":{"path":["auth","login"],"host":["http://localhost:5000/api"],"query":[],"variable":[]}},"response":[],"_postman_id":"c260a55c-daed-4470-ab77-3ca86979b8da"}],"id":"51f1ad30-53c2-4874-a6ca-2f151502dc7e","description":"<p>StartFragment# 🚀 UrbanMove API Documentation<br />Welcome to the UrbanMove API documentation. This guide provides everything you need to test and integrate with the corporate shuttle platform backend.<br />## 📌 Base URLAll API requests should be made to:`<a href=\"http://localhost:5000/api%5C%60\">http://localhost:5000/api\\`</a><br />---<br />## 🛠️ Quick Start (Postman)To make testing easier, I have provided a pre-configured Postman Collection.<br />1.  Locate the file <strong>`UrbanMove.postman_collection.json`</strong> in the project root.2.  Open Postman and click <strong>Import</strong>.3.  Drag and drop the file.4.  The collection includes <strong>Automatic Token Handling</strong>—just login, and other routes will work automatically!<br />---<br />## 🔐 AuthenticationThe API uses <strong>JWT (JSON Web Tokens)</strong> for security.<br />### Demo CredentialsUse these accounts to test different roles without needing a database setup:<br />| Role | Email | Password || :--- | :--- | :--- || <strong>Admin</strong> | `<a href=\"mailto:admin@urbanmove.com\">admin@urbanmove.com</a>` | `Admin1234` || <strong>Driver</strong> | `<a href=\"mailto:driver@urbanmove.com\">driver@urbanmove.com</a>` | `Driver1234` || <strong>Employee</strong> | `<a href=\"mailto:demo@urbanmove.com\">demo@urbanmove.com</a>` | `Demo1234` |<br />### How to AuthenticateInclude the token in the request header:`Authorization: Bearer `<br />---<br />## 📡 Key Endpoints<br />### 1. Authentication*   <strong>`POST /auth/login`</strong>: Authenticate a user and receive a token.*   <strong>`POST /auth/logout`</strong>: Terminate the current session.<br />### 2. User Profile*   <strong>`GET /users/profile`</strong>: Get current user details (Protected).*   <strong>`PUT /users/profile`</strong>: Update user information.<br />### 3. Rides*   <strong>`GET /rides`</strong>: List all rides (Returns dummy data if DB is empty).*   <strong>`POST /rides`</strong>: Book a new shuttle ride.*   <strong>`PUT /rides/:id/cancel`</strong>: Cancel a pending ride.<br />### 4. Admin Panel*   <strong>`GET /admin/stats`</strong>: Get system-wide statistics (Users, Rides, Vehicles).*   <strong>`GET /admin/users`</strong>: List and manage all registered users.<br />### 5. Vehicles &amp; Notifications*   <strong>`GET /vehicles`</strong>: List available shuttle vehicles.*   <strong>`GET /notifications`</strong>: Get real-time alerts and updates.<br />---<br />## 💡 Smart Fallback DataTo ensure a great presentation, the API is equipped with <strong>Smart Fallbacks</strong>. If your MongoDB database is empty, the following routes will automatically return professional <strong>dummy data</strong>:*   `GET /api/admin/stats`*   `GET /api/rides`*   `GET /api/notifications`*   `GET /api/vehicles`<br />---<br />## 🚦 Health CheckTo verify if the server is running, visit:`<a href=\"http://localhost:5000/api/health%5C%60\">http://localhost:5000/api/health\\`</a><br />EndFragment</p>\n","_postman_id":"51f1ad30-53c2-4874-a6ca-2f151502dc7e","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"9bee699d-3e1c-4bdf-80c2-38352124eb8a","id":"9bee699d-3e1c-4bdf-80c2-38352124eb8a","name":"UrbanMove API","type":"collection"}}},{"name":"Users","item":[{"name":"Get Profile","id":"2adc66d8-4e6a-4b9e-8945-a20e44f5c92a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:5000/api/users/profile","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"9bee699d-3e1c-4bdf-80c2-38352124eb8a","id":"9bee699d-3e1c-4bdf-80c2-38352124eb8a","name":"UrbanMove API","type":"collection"}},"urlObject":{"path":["users","profile"],"host":["http://localhost:5000/api"],"query":[],"variable":[]}},"response":[],"_postman_id":"2adc66d8-4e6a-4b9e-8945-a20e44f5c92a"}],"id":"696f5f19-e2f4-4cf5-a2e6-2e985f14df00","_postman_id":"696f5f19-e2f4-4cf5-a2e6-2e985f14df00","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"9bee699d-3e1c-4bdf-80c2-38352124eb8a","id":"9bee699d-3e1c-4bdf-80c2-38352124eb8a","name":"UrbanMove API","type":"collection"}}},{"name":"Rides","item":[{"name":"Get My Rides","id":"cf2b17f4-b8be-4d63-a111-0fc50e70504b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:5000/api/rides","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"9bee699d-3e1c-4bdf-80c2-38352124eb8a","id":"9bee699d-3e1c-4bdf-80c2-38352124eb8a","name":"UrbanMove API","type":"collection"}},"urlObject":{"path":["rides"],"host":["http://localhost:5000/api"],"query":[],"variable":[]}},"response":[],"_postman_id":"cf2b17f4-b8be-4d63-a111-0fc50e70504b"},{"name":"Book a Ride","id":"3ce9bdc2-4bc9-4e37-9441-5e75cdcc0d15","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"pickup\": \"Tech Park Block A\",\n    \"destination\": \"Metro Station\",\n    \"scheduledTime\": \"2024-05-10T09:00:00Z\",\n    \"passengers\": 1\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/rides","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"9bee699d-3e1c-4bdf-80c2-38352124eb8a","id":"9bee699d-3e1c-4bdf-80c2-38352124eb8a","name":"UrbanMove API","type":"collection"}},"urlObject":{"path":["rides"],"host":["http://localhost:5000/api"],"query":[],"variable":[]}},"response":[],"_postman_id":"3ce9bdc2-4bc9-4e37-9441-5e75cdcc0d15"}],"id":"75f5b0de-545a-4ae0-9b2d-d4627e7f724f","_postman_id":"75f5b0de-545a-4ae0-9b2d-d4627e7f724f","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"9bee699d-3e1c-4bdf-80c2-38352124eb8a","id":"9bee699d-3e1c-4bdf-80c2-38352124eb8a","name":"UrbanMove API","type":"collection"}}},{"name":"Admin","item":[{"name":"System Stats","id":"c11e2d35-4266-4781-845b-6216c2ca3cf3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:5000/api/admin/stats","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"9bee699d-3e1c-4bdf-80c2-38352124eb8a","id":"9bee699d-3e1c-4bdf-80c2-38352124eb8a","name":"UrbanMove API","type":"collection"}},"urlObject":{"path":["admin","stats"],"host":["http://localhost:5000/api"],"query":[],"variable":[]}},"response":[],"_postman_id":"c11e2d35-4266-4781-845b-6216c2ca3cf3"},{"name":"Get All Users","id":"c47c5ed9-c846-4df4-b3ec-2dd360b3e658","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:5000/api/admin/users","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"9bee699d-3e1c-4bdf-80c2-38352124eb8a","id":"9bee699d-3e1c-4bdf-80c2-38352124eb8a","name":"UrbanMove API","type":"collection"}},"urlObject":{"path":["admin","users"],"host":["http://localhost:5000/api"],"query":[],"variable":[]}},"response":[],"_postman_id":"c47c5ed9-c846-4df4-b3ec-2dd360b3e658"}],"id":"f60dd7ee-9590-4321-b407-b929a7dc3178","_postman_id":"f60dd7ee-9590-4321-b407-b929a7dc3178","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"9bee699d-3e1c-4bdf-80c2-38352124eb8a","id":"9bee699d-3e1c-4bdf-80c2-38352124eb8a","name":"UrbanMove API","type":"collection"}}},{"name":"Vehicles","item":[{"name":"List Vehicles","id":"3928ed5b-b06b-4b83-bc76-9cefd7cc04fa","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:5000/api/vehicles","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"9bee699d-3e1c-4bdf-80c2-38352124eb8a","id":"9bee699d-3e1c-4bdf-80c2-38352124eb8a","name":"UrbanMove API","type":"collection"}},"urlObject":{"path":["vehicles"],"host":["http://localhost:5000/api"],"query":[],"variable":[]}},"response":[],"_postman_id":"3928ed5b-b06b-4b83-bc76-9cefd7cc04fa"}],"id":"b566ec84-4e60-42be-afd4-0d33554e00d7","_postman_id":"b566ec84-4e60-42be-afd4-0d33554e00d7","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"9bee699d-3e1c-4bdf-80c2-38352124eb8a","id":"9bee699d-3e1c-4bdf-80c2-38352124eb8a","name":"UrbanMove API","type":"collection"}}},{"name":"Notifications","item":[{"name":"Get Notifications","id":"d2cc57d5-026d-4cf7-9783-b2722a4470e7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:5000/api/notifications","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"9bee699d-3e1c-4bdf-80c2-38352124eb8a","id":"9bee699d-3e1c-4bdf-80c2-38352124eb8a","name":"UrbanMove API","type":"collection"}},"urlObject":{"path":["notifications"],"host":["http://localhost:5000/api"],"query":[],"variable":[]}},"response":[],"_postman_id":"d2cc57d5-026d-4cf7-9783-b2722a4470e7"}],"id":"2ecd0de0-49fb-4a55-b0d1-2d4e6e9eeb12","_postman_id":"2ecd0de0-49fb-4a55-b0d1-2d4e6e9eeb12","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"9bee699d-3e1c-4bdf-80c2-38352124eb8a","id":"9bee699d-3e1c-4bdf-80c2-38352124eb8a","name":"UrbanMove API","type":"collection"}}},{"name":"Health Check","id":"b1cb95ac-6692-4546-9de7-44f388eae988","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:5000/api/health","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"9bee699d-3e1c-4bdf-80c2-38352124eb8a","id":"9bee699d-3e1c-4bdf-80c2-38352124eb8a","name":"UrbanMove API","type":"collection"}},"urlObject":{"path":["health"],"host":["http://localhost:5000/api"],"query":[],"variable":[]}},"response":[],"_postman_id":"b1cb95ac-6692-4546-9de7-44f388eae988"}],"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]}},"event":[{"listen":"prerequest","script":{"type":"text/javascript","exec":[""],"id":"0f0308da-3e70-457e-980f-e00975b155da"}},{"listen":"test","script":{"type":"text/javascript","exec":["const response = pm.response.json();","if (response.data && response.data.token) {","    pm.collectionVariables.set(\"token\", response.data.token);","}"],"id":"445d7804-02a8-47fe-bc59-23d207a9fe88"}}],"variable":[{"key":"baseUrl","value":"http://localhost:5000/api","type":"string"},{"key":"token","value":"","type":"string"}]}