{"info":{"_postman_id":"86d33511-86be-4987-9439-17a14a448ea2","name":"Vehicle Rental System","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"description":"<html><head></head><body></body></html>","owner":"51503501","collectionId":"86d33511-86be-4987-9439-17a14a448ea2","publishedId":"2sBXqJLM9H","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2026-04-29T14:04:33.000Z"},"item":[{"name":"users","item":[{"name":"Create User","id":"bb36726b-e8f5-4b28-9e8e-b4ad27d17d4d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\":\"Mr Jon\",\r\n    \"email\": \"mrjon@example.com\",\r\n    \"password\": \"1234\",\r\n    \"phone\": \"07341009645\",\r\n    \"role\": \"customer\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/v1/auth/signup","description":"<h2 id=\"create-user\">Create User</h2>\n<p>Registers a new user account in the Vehicle Rental System. This endpoint accepts user details in the request body and creates a new account with the specified role.</p>\n<p><strong>Endpoint:</strong> <code>POST /api/v1/auth/signup</code></p>\n<h3 id=\"request-body-json\">Request Body (JSON)</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>Full name of the user</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td>string</td>\n<td>User's email address (used for login)</td>\n</tr>\n<tr>\n<td><code>password</code></td>\n<td>string</td>\n<td>Account password</td>\n</tr>\n<tr>\n<td><code>phone</code></td>\n<td>string</td>\n<td>User's contact phone number</td>\n</tr>\n<tr>\n<td><code>role</code></td>\n<td>string</td>\n<td>Role assigned to the user (e.g., <code>customer</code>)</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"success-response-201-created\">Success Response <code>201 Created</code></h3>\n<p>Returns a success message along with the newly created user's details (excluding the password).</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"message\": \"User Registered Successfully\",\n  \"data\": {\n    \"id\": 10,\n    \"name\": \"Mr Jon\",\n    \"email\": \"mrjon@example.com\",\n    \"phone\": \"07341009645\",\n    \"role\": \"customer\"\n  }\n}\n</code></pre>\n","urlObject":{"protocol":"http","port":"5000","path":["api","v1","auth","signup"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"3ab6376b-390e-49f3-ba57-2e0213baba61","name":"Create User","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\":\"Mr Jon\",\r\n    \"email\": \"mrjon@example.com\",\r\n    \"password\": \"1234\",\r\n    \"phone\": \"07341009645\",\r\n    \"role\": \"customer\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/v1/auth/signup"},"status":"Created","code":201,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"158"},{"key":"ETag","value":"W/\"9e-UDZJuQxT/qvLcmLQfQw/jcSuiKo\""},{"key":"Date","value":"Wed, 29 Apr 2026 13:57:51 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"User Registered Successfully\",\n    \"data\": {\n        \"id\": 10,\n        \"name\": \"Mr Jon\",\n        \"email\": \"mrjon@example.com\",\n        \"phone\": \"07341009645\",\n        \"role\": \"customer\"\n    }\n}"}],"_postman_id":"bb36726b-e8f5-4b28-9e8e-b4ad27d17d4d"},{"name":"Get All Users","id":"e8aea3c0-0d38-4af7-9be6-e33520a02452","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/v1/users","urlObject":{"protocol":"http","port":"5000","path":["api","v1","users"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"d6103208-a696-4284-8725-6fa2150ce01f","name":"Get All Users","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6IlNoYWQgQmluIEFiaSBBeWRpZCIsImVtYWlsIjoic2hhZEBleGFtcGxlLmNvbSIsInBob25lIjoiMDczNDEwMDk2NDciLCJyb2xlIjoiYWRtaW4iLCJpYXQiOjE3Njk3NjcxNzMsImV4cCI6MTc3MTQ5NTE3M30.eruxmYHF6vHAORmMZzfOcFiGrY3f0I3EG0y2gaJTXxI","type":"text","disabled":true}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/v1/users"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"811"},{"key":"ETag","value":"W/\"32b-6+9bwpDkOJCfed2spvemsoaAvzw\""},{"key":"Date","value":"Wed, 29 Apr 2026 14:06:14 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Users retrieved Successfully\",\n    \"data\": [\n        {\n            \"id\": 1,\n            \"name\": \"Shad Bin Abi Aydid\",\n            \"email\": \"shad@example.com\",\n            \"phone\": \"07341009647\",\n            \"role\": \"admin\"\n        },\n        {\n            \"id\": 2,\n            \"name\": \"Rifat Ara Mim\",\n            \"email\": \"rifatmim@example.com\",\n            \"phone\": \"07341009647\",\n            \"role\": \"admin\"\n        },\n        {\n            \"id\": 6,\n            \"name\": \"Admin User\",\n            \"email\": \"admin+1773134874@example.com\",\n            \"phone\": \"01711111111\",\n            \"role\": \"admin\"\n        },\n        {\n            \"id\": 7,\n            \"name\": \"Customer User1\",\n            \"email\": \"customer+1773134874@example.com\",\n            \"phone\": \"01722222222\",\n            \"role\": \"customer\"\n        },\n        {\n            \"id\": 9,\n            \"name\": \"CustomerDummy-1773134874\",\n            \"email\": \"customerdummy+1773134874@example.com\",\n            \"phone\": \"01740000000\",\n            \"role\": \"customer\"\n        },\n        {\n            \"id\": 4,\n            \"name\": \"Muttaki Lamim\",\n            \"email\": \"lamim@example.com\",\n            \"phone\": \"07341009647\",\n            \"role\": \"customer\"\n        },\n        {\n            \"id\": 10,\n            \"name\": \"Mr Jon\",\n            \"email\": \"mrjon@example.com\",\n            \"phone\": \"07341009645\",\n            \"role\": \"customer\"\n        }\n    ]\n}"}],"_postman_id":"e8aea3c0-0d38-4af7-9be6-e33520a02452"},{"name":"Update_User","id":"0718d3c1-6b72-437f-858f-878eae749f96","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6IlNoYWQgQmluIEFiaSBBeWRpZCIsImVtYWlsIjoic2hhZEBleGFtcGxlLmNvbSIsInBob25lIjoiMDczNDEwMDk2NDciLCJyb2xlIjoiYWRtaW4iLCJpYXQiOjE3Njk3NjcxNzMsImV4cCI6MTc3MTQ5NTE3M30.eruxmYHF6vHAORmMZzfOcFiGrY3f0I3EG0y2gaJTXxI","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"name\":\"Muttaki Lamim\",\r\n    \"email\": \"lamim@example.com\",\r\n    \"phone\": \"07341009647\",\r\n    \"role\": \"customer\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/v1/users/4","urlObject":{"protocol":"http","port":"5000","path":["api","v1","users","4"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"daa10ca5-5d67-4c83-baf0-bd265e8c5cf7","name":"Update_User","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6IlNoYWQgQmluIEFiaSBBeWRpZCIsImVtYWlsIjoic2hhZEBleGFtcGxlLmNvbSIsInBob25lIjoiMDczNDEwMDk2NDciLCJyb2xlIjoiYWRtaW4iLCJpYXQiOjE3Njk3NjcxNzMsImV4cCI6MTc3MTQ5NTE3M30.eruxmYHF6vHAORmMZzfOcFiGrY3f0I3EG0y2gaJTXxI","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"name\":\"Muttaki Lamim\",\r\n    \"email\": \"lamim@example.com\",\r\n    \"phone\": \"07341009647\",\r\n    \"role\": \"customer\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/v1/users/4"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"235"},{"key":"ETag","value":"W/\"eb-QoFOj/aThdRg5g1/U5WenNKMoEw\""},{"key":"Date","value":"Wed, 29 Apr 2026 13:56:54 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"User updated Successfully\",\n    \"data\": {\n        \"id\": 4,\n        \"name\": \"Muttaki Lamim\",\n        \"email\": \"lamim@example.com\",\n        \"password\": \"$2b$10$9bXrIxysy8fpl.tU19c4iuyRaEhqmlhqGULMPFKcpAUBjF9RC.HwG\",\n        \"phone\": \"07341009647\",\n        \"role\": \"customer\"\n    }\n}"}],"_postman_id":"0718d3c1-6b72-437f-858f-878eae749f96"},{"name":"Delete Users","id":"ac22e465-418d-4434-9078-ad9b674c7b5a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NCwibmFtZSI6IkxhbWltIiwiZW1haWwiOiJsYW1pbUBleGFtcGxlLmNvbSIsInBob25lIjoiMDczNDEwMDk2NDciLCJyb2xlIjoiY3VzdG9tZXIiLCJpYXQiOjE3Njk3NjYzNTIsImV4cCI6MTc3MTQ5NDM1Mn0.FAzRoTn8RohL5_hp7BkSgF3e7tlVqANmiQBrGU3hHW8","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/v1/users/4","urlObject":{"protocol":"http","port":"5000","path":["api","v1","users","4"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"ac22e465-418d-4434-9078-ad9b674c7b5a"}],"id":"14f26b1b-0c5f-478a-b262-6c6d9cf416b2","description":"<h2 id=\"users\">Users</h2>\n<p>This folder contains endpoints for <strong>user management</strong> in the Vehicle Rental System. It covers the full lifecycle of a user account — from registration to deletion.</p>\n<h3 id=\"endpoints\">Endpoints</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Method</th>\n<th>Endpoint</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>POST</code></td>\n<td><code>/api/v1/auth/signup</code></td>\n<td>Registers a new user account</td>\n</tr>\n<tr>\n<td><code>GET</code></td>\n<td><code>/api/v1/users</code></td>\n<td>Retrieves a list of all registered users</td>\n</tr>\n<tr>\n<td><code>PUT</code></td>\n<td><code>/api/v1/users/:id</code></td>\n<td>Updates the details of a specific user by ID</td>\n</tr>\n<tr>\n<td><code>DELETE</code></td>\n<td><code>/api/v1/users/:id</code></td>\n<td>Deletes a specific user by ID</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"usage-notes\">Usage Notes</h3>\n<ul>\n<li><strong>Create User</strong> (<code>POST /api/v1/auth/signup</code>): Provide user details such as name, email, and password in the request body to register a new account.</li>\n<li><strong>Get All Users</strong> (<code>GET /api/v1/users</code>): Returns all users in the system. This endpoint may require admin-level authorization.</li>\n<li><strong>Update User</strong> (<code>PUT /api/v1/users/:id</code>): Pass the target user's ID in the URL and provide the fields to update in the request body.</li>\n<li><strong>Delete Users</strong> (<code>DELETE /api/v1/users/:id</code>): Permanently removes a user from the system by their ID.</li>\n<li>Most endpoints in this folder require a valid <strong>Authorization token</strong> obtained from the Auth folder.</li>\n</ul>\n","_postman_id":"14f26b1b-0c5f-478a-b262-6c6d9cf416b2"},{"name":"Vehicles","item":[{"name":"Create Vehicles","id":"554be8ff-deb3-47b1-8260-5b5a795dcfb3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6IlNoYWQgQmluIEFiaSBBeWRpZCIsImVtYWlsIjoic2hhZEBleGFtcGxlLmNvbSIsInBob25lIjoiMDczNDEwMDk2NDciLCJyb2xlIjoiYWRtaW4iLCJpYXQiOjE3Nzc0NjkzNDMsImV4cCI6MTc3OTE5NzM0M30.Pv6ZqvCjpEa43VOtIGtNZnbJzmFimZVF1CTf5cA17Tk","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"vehicle_name\": \"Audi\",\r\n  \"type\": \"car\",\r\n  \"registration_number\": \"BCD-1234567\",\r\n  \"daily_rent_price\": 150,\r\n  \"availability_status\": \"available\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/v1/vehicles","urlObject":{"protocol":"http","port":"5000","path":["api","v1","vehicles"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"19cc6c50-6148-4c10-833b-9596a0b4793e","name":"Create Vehicles","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6IlNoYWQgQmluIEFiaSBBeWRpZCIsImVtYWlsIjoic2hhZEBleGFtcGxlLmNvbSIsInBob25lIjoiMDczNDEwMDk2NDciLCJyb2xlIjoiYWRtaW4iLCJpYXQiOjE3Nzc0NjkzNDMsImV4cCI6MTc3OTE5NzM0M30.Pv6ZqvCjpEa43VOtIGtNZnbJzmFimZVF1CTf5cA17Tk","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"vehicle_name\": \"Audi\",\r\n  \"type\": \"car\",\r\n  \"registration_number\": \"BCD-12345678\",\r\n  \"daily_rent_price\": 150,\r\n  \"availability_status\": \"available\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/v1/vehicles"},"status":"Created","code":201,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"203"},{"key":"ETag","value":"W/\"cb-+8gI4gt2q2ALXyzWMIRSjpo+CUM\""},{"key":"Date","value":"Wed, 29 Apr 2026 13:53:29 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Vehicles created Successfully\",\n    \"data\": {\n        \"id\": 6,\n        \"vehicle_name\": \"Audi\",\n        \"type\": \"car\",\n        \"registration_number\": \"BCD-12345678\",\n        \"daily_rent_price\": 150,\n        \"availability_status\": \"available\"\n    }\n}"}],"_postman_id":"554be8ff-deb3-47b1-8260-5b5a795dcfb3"},{"name":"Get All Vehicles","id":"fee1c922-615d-4939-b0e4-72c0c2f0ac7d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/v1/vehicles","urlObject":{"protocol":"http","port":"5000","path":["api","v1","vehicles"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"ea3734a6-6694-493b-9caa-d1e36c91633b","name":"Get All Vehicles","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/v1/vehicles"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"620"},{"key":"ETag","value":"W/\"26c-xm+s8Zqb6GOIr78dA9q0rDAA5DA\""},{"key":"Date","value":"Wed, 29 Apr 2026 14:07:22 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Vehicles retrieved successfully\",\n    \"data\": [\n        {\n            \"id\": 4,\n            \"vehicle_name\": \"Audi\",\n            \"type\": \"car\",\n            \"registration_number\": \"BCD-1234\",\n            \"daily_rent_price\": 120,\n            \"availability_status\": \"available\"\n        },\n        {\n            \"id\": 6,\n            \"vehicle_name\": \"Audi\",\n            \"type\": \"car\",\n            \"registration_number\": \"BCD-12345678\",\n            \"daily_rent_price\": 150,\n            \"availability_status\": \"available\"\n        },\n        {\n            \"id\": 3,\n            \"vehicle_name\": \"BMW2\",\n            \"type\": \"van\",\n            \"registration_number\": \"AC-1234\",\n            \"daily_rent_price\": 250,\n            \"availability_status\": \"available\"\n        },\n        {\n            \"id\": 1,\n            \"vehicle_name\": \"Toyota Camry 2024\",\n            \"type\": \"car\",\n            \"registration_number\": \"ABC-1234\",\n            \"daily_rent_price\": 50,\n            \"availability_status\": \"available\"\n        }\n    ]\n}"}],"_postman_id":"fee1c922-615d-4939-b0e4-72c0c2f0ac7d"},{"name":"Get Single Vehicle","id":"f9ff8fc7-746b-4d21-aa36-b04a8ef8f9d0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/v1/vehicles/4","urlObject":{"protocol":"http","port":"5000","path":["api","v1","vehicles","4"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"5e075a1d-158d-4f46-8e10-1449b59b614b","name":"Get Single Vehicle","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/v1/vehicles/4"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"200"},{"key":"ETag","value":"W/\"c8-niIUK+5E/YExQCKspMBU+Enm8h8\""},{"key":"Date","value":"Wed, 29 Apr 2026 14:07:51 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Vehicle retrieved successfully\",\n    \"data\": {\n        \"id\": 4,\n        \"vehicle_name\": \"Audi\",\n        \"type\": \"car\",\n        \"registration_number\": \"BCD-1234\",\n        \"daily_rent_price\": 120,\n        \"availability_status\": \"available\"\n    }\n}"}],"_postman_id":"f9ff8fc7-746b-4d21-aa36-b04a8ef8f9d0"},{"name":"Update Vehicle","id":"4dbf6b75-2208-40c6-b5e9-9c42816b8abe","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6IlNoYWQgQmluIEFiaSBBeWRpZCIsImVtYWlsIjoic2hhZEBleGFtcGxlLmNvbSIsInBob25lIjoiMDczNDEwMDk2NDciLCJyb2xlIjoiYWRtaW4iLCJpYXQiOjE3Njk3Njg4NDAsImV4cCI6MTc3MTQ5Njg0MH0.fMtJRIhI_IkBUgcP6AxmsdQ3EhiusvO2ObQSsyS1-yg","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"vehicle_name\": \"BMW2\",\r\n  \"type\": \"van\",\r\n  \"registration_number\": \"AC-1234\",\r\n  \"daily_rent_price\": 250,\r\n  \"availability_status\": \"available\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/v1/vehicles/3","urlObject":{"protocol":"http","port":"5000","path":["api","v1","vehicles","3"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"0630b21f-c1d1-41c3-b442-9bd5c2e82886","name":"Update Vehicle","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6IlNoYWQgQmluIEFiaSBBeWRpZCIsImVtYWlsIjoic2hhZEBleGFtcGxlLmNvbSIsInBob25lIjoiMDczNDEwMDk2NDciLCJyb2xlIjoiYWRtaW4iLCJpYXQiOjE3Njk3Njg4NDAsImV4cCI6MTc3MTQ5Njg0MH0.fMtJRIhI_IkBUgcP6AxmsdQ3EhiusvO2ObQSsyS1-yg","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"vehicle_name\": \"BMW2\",\r\n  \"type\": \"van\",\r\n  \"registration_number\": \"AC-1234\",\r\n  \"daily_rent_price\": 250,\r\n  \"availability_status\": \"available\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/v1/vehicles/3"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"197"},{"key":"ETag","value":"W/\"c5-cipO6wS2Xn0OzuUCoT8mRdOjcMg\""},{"key":"Date","value":"Wed, 29 Apr 2026 13:54:31 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Vehicle updated successfully\",\n    \"data\": {\n        \"id\": 3,\n        \"vehicle_name\": \"BMW2\",\n        \"type\": \"van\",\n        \"registration_number\": \"AC-1234\",\n        \"daily_rent_price\": 250,\n        \"availability_status\": \"available\"\n    }\n}"}],"_postman_id":"4dbf6b75-2208-40c6-b5e9-9c42816b8abe"},{"name":"Delete Vehicle","id":"849297a0-d257-4bcc-87e0-7ddcdb5981c7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6IlNoYWQgQmluIEFiaSBBeWRpZCIsImVtYWlsIjoic2hhZEBleGFtcGxlLmNvbSIsInBob25lIjoiMDczNDEwMDk2NDciLCJyb2xlIjoiYWRtaW4iLCJpYXQiOjE3Njk3Njg4NDAsImV4cCI6MTc3MTQ5Njg0MH0.fMtJRIhI_IkBUgcP6AxmsdQ3EhiusvO2ObQSsyS1-yg","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/v1/vehicles/3","urlObject":{"protocol":"http","port":"5000","path":["api","v1","vehicles","3"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"849297a0-d257-4bcc-87e0-7ddcdb5981c7"}],"id":"f0d4220e-5379-413f-8e0b-9a13c57609df","description":"<h2 id=\"vehicles\">Vehicles</h2>\n<p>This folder contains endpoints for <strong>vehicle management</strong> in the Vehicle Rental System. It provides full CRUD (Create, Read, Update, Delete) operations for managing the fleet of rental vehicles.</p>\n<h3 id=\"endpoints\">Endpoints</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Method</th>\n<th>Endpoint</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>POST</code></td>\n<td><code>/api/v1/vehicles</code></td>\n<td>Adds a new vehicle to the rental fleet</td>\n</tr>\n<tr>\n<td><code>GET</code></td>\n<td><code>/api/v1/vehicles</code></td>\n<td>Retrieves a list of all available vehicles</td>\n</tr>\n<tr>\n<td><code>GET</code></td>\n<td><code>/api/v1/vehicles/:id</code></td>\n<td>Retrieves the details of a specific vehicle by ID</td>\n</tr>\n<tr>\n<td><code>PUT</code></td>\n<td><code>/api/v1/vehicles/:id</code></td>\n<td>Updates the information of a specific vehicle by ID</td>\n</tr>\n<tr>\n<td><code>DELETE</code></td>\n<td><code>/api/v1/vehicles/:id</code></td>\n<td>Removes a specific vehicle from the fleet by ID</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"usage-notes\">Usage Notes</h3>\n<ul>\n<li><strong>Create Vehicles</strong> (<code>POST /api/v1/vehicles</code>): Provide vehicle details (e.g., make, model, year, price per day) in the request body to add a new vehicle.</li>\n<li><strong>Get All Vehicles</strong> (<code>GET /api/v1/vehicles</code>): Returns the full list of vehicles in the system. Useful for browsing available rentals.</li>\n<li><strong>Get Single Vehicle</strong> (<code>GET /api/v1/vehicles/:id</code>): Fetches detailed information about one specific vehicle using its ID.</li>\n<li><strong>Update Vehicle</strong> (<code>PUT /api/v1/vehicles/:id</code>): Pass the vehicle's ID in the URL and supply the fields to update in the request body.</li>\n<li><strong>Delete Vehicle</strong> (<code>DELETE /api/v1/vehicles/:id</code>): Permanently removes a vehicle record from the system.</li>\n<li>Write and delete operations may require admin-level authorization via a valid <strong>Authorization token</strong>.</li>\n</ul>\n","_postman_id":"f0d4220e-5379-413f-8e0b-9a13c57609df"},{"name":"Booking","item":[{"name":"Create Booking","id":"e761f72c-1062-4cc6-8c9f-069d9c9861db","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6IlNoYWQgQmluIEFiaSBBeWRpZCIsImVtYWlsIjoic2hhZEBleGFtcGxlLmNvbSIsInBob25lIjoiMDczNDEwMDk2NDciLCJyb2xlIjoiYWRtaW4iLCJpYXQiOjE3Njk4MDc2MjQsImV4cCI6MTc3MTUzNTYyNH0.D6FO3I-e0iixHeAjVNgibr5LIPfxLGTNKRHcjm9rHdY","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"customer_id\": 4,\r\n  \"vehicle_id\": 2,\r\n  \"rent_start_date\": \"2026-02-15\",\r\n  \"rent_end_date\": \"2026-02-18\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/v1/bookings","urlObject":{"protocol":"http","port":"5000","path":["api","v1","bookings"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"4b97beb1-f32f-4102-bbbe-557c0335132d","name":"Create Booking","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6IlNoYWQgQmluIEFiaSBBeWRpZCIsImVtYWlsIjoic2hhZEBleGFtcGxlLmNvbSIsInBob25lIjoiMDczNDEwMDk2NDciLCJyb2xlIjoiYWRtaW4iLCJpYXQiOjE3Njk4MDc2MjQsImV4cCI6MTc3MTUzNTYyNH0.D6FO3I-e0iixHeAjVNgibr5LIPfxLGTNKRHcjm9rHdY","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"customer_id\": 4,\r\n  \"vehicle_id\": 4,\r\n  \"rent_start_date\": \"2026-02-15\",\r\n  \"rent_end_date\": \"2026-02-18\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/v1/bookings"},"status":"Created","code":201,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"256"},{"key":"ETag","value":"W/\"100-3nJyN7iWPj8QBYkNGgdGjWxkSik\""},{"key":"Date","value":"Wed, 29 Apr 2026 13:55:04 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Booking created successfully\",\n    \"data\": {\n        \"id\": 6,\n        \"customer_id\": 4,\n        \"vehicle_id\": 4,\n        \"rent_start_date\": \"2026-02-15\",\n        \"rent_end_date\": \"2026-02-18\",\n        \"totalPrice\": 360,\n        \"status\": \"active\",\n        \"vehicle\": {\n            \"vehicle_name\": \"Audi\",\n            \"daily_rent_price\": 120\n        }\n    }\n}"}],"_postman_id":"e761f72c-1062-4cc6-8c9f-069d9c9861db"},{"name":"Get Bookings","id":"a5870b40-b961-46b9-ae82-2de6dfb14650","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/v1/bookings","urlObject":{"protocol":"http","port":"5000","path":["api","v1","bookings"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"46deefc5-16c9-4502-8775-274ad4e8a146","name":"Get Bookings","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6IlNoYWQgQmluIEFiaSBBeWRpZCIsImVtYWlsIjoic2hhZEBleGFtcGxlLmNvbSIsInBob25lIjoiMDczNDEwMDk2NDciLCJyb2xlIjoiYWRtaW4iLCJpYXQiOjE3Njk4NjA5ODcsImV4cCI6MTc3MTU4ODk4N30.UJiAgWxQJehkYvP8myv-d4wNmtiGSYx1C-sYLzJ3dZ0","type":"text","disabled":true}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/v1/bookings"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"1292"},{"key":"ETag","value":"W/\"50c-iI8hlHGicTNguj6T5bXX6+qq2mk\""},{"key":"Date","value":"Wed, 29 Apr 2026 13:36:08 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Bookings retrieved successfully\",\n    \"data\": [\n        {\n            \"id\": 1,\n            \"customer_id\": 2,\n            \"vehicle_id\": 4,\n            \"rent_start_date\": \"2024-01-15T00:00:00.000Z\",\n            \"rent_end_date\": \"2024-01-20T00:00:00.000Z\",\n            \"total_price\": \"600.00\",\n            \"status\": \"active\",\n            \"customer\": {\n                \"name\": \"Rifat Ara Mim\",\n                \"email\": \"rifatmim@example.com\"\n            },\n            \"vehicle\": {\n                \"vehicle_name\": \"Audi\",\n                \"registration_number\": \"BCD-1234\"\n            }\n        },\n        {\n            \"id\": 2,\n            \"customer_id\": 1,\n            \"vehicle_id\": 1,\n            \"rent_start_date\": \"2026-02-15T00:00:00.000Z\",\n            \"rent_end_date\": \"2026-02-20T00:00:00.000Z\",\n            \"total_price\": \"250.00\",\n            \"status\": \"active\",\n            \"customer\": {\n                \"name\": \"Shad Bin Abi Aydid\",\n                \"email\": \"shad@example.com\"\n            },\n            \"vehicle\": {\n                \"vehicle_name\": \"Toyota Camry 2024\",\n                \"registration_number\": \"ABC-1234\"\n            }\n        },\n        {\n            \"id\": 3,\n            \"customer_id\": 4,\n            \"vehicle_id\": 4,\n            \"rent_start_date\": \"2026-02-15T00:00:00.000Z\",\n            \"rent_end_date\": \"2026-02-18T00:00:00.000Z\",\n            \"total_price\": \"360.00\",\n            \"status\": \"cancelled\",\n            \"customer\": {\n                \"name\": \"Lamim\",\n                \"email\": \"lamim@example.com\"\n            },\n            \"vehicle\": {\n                \"vehicle_name\": \"Audi\",\n                \"registration_number\": \"BCD-1234\"\n            }\n        },\n        {\n            \"id\": 4,\n            \"customer_id\": 4,\n            \"vehicle_id\": 1,\n            \"rent_start_date\": \"2026-02-15T00:00:00.000Z\",\n            \"rent_end_date\": \"2026-02-18T00:00:00.000Z\",\n            \"total_price\": \"150.00\",\n            \"status\": \"cancelled\",\n            \"customer\": {\n                \"name\": \"Lamim\",\n                \"email\": \"lamim@example.com\"\n            },\n            \"vehicle\": {\n                \"vehicle_name\": \"Toyota Camry 2024\",\n                \"registration_number\": \"ABC-1234\"\n            }\n        }\n    ]\n}"}],"_postman_id":"a5870b40-b961-46b9-ae82-2de6dfb14650"},{"name":"Update Booking","id":"aa95312f-448d-4c2a-970f-5acfc60f078f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NCwibmFtZSI6IkxhbWltIiwiZW1haWwiOiJsYW1pbUBleGFtcGxlLmNvbSIsInBob25lIjoiMDczNDEwMDk2NDciLCJyb2xlIjoiY3VzdG9tZXIiLCJpYXQiOjE3Njk4NTQ4NDMsImV4cCI6MTc3MTU4Mjg0M30.saESC8HoXVwTDw07M_uoi6sQR_dw8at2tt5I_pbNrrQ","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"status\": \"returned\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/v1/bookings/4","urlObject":{"protocol":"http","port":"5000","path":["api","v1","bookings","4"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"6f1ecaff-9cdd-472f-a430-379571e549c8","name":"Update Booking","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NCwibmFtZSI6IkxhbWltIiwiZW1haWwiOiJsYW1pbUBleGFtcGxlLmNvbSIsInBob25lIjoiMDczNDEwMDk2NDciLCJyb2xlIjoiY3VzdG9tZXIiLCJpYXQiOjE3Njk4NTQ4NDMsImV4cCI6MTc3MTU4Mjg0M30.saESC8HoXVwTDw07M_uoi6sQR_dw8at2tt5I_pbNrrQ","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"status\": \"returned\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/v1/bookings/4"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"305"},{"key":"ETag","value":"W/\"131-TU7zugZdxPzUFHZuNf9gFt4wLfE\""},{"key":"Date","value":"Wed, 29 Apr 2026 13:55:33 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Booking marked as returned. Vehicle is now available\",\n    \"data\": {\n        \"id\": 4,\n        \"customer_id\": 4,\n        \"vehicle_id\": 1,\n        \"rent_start_date\": \"2026-02-15T00:00:00.000Z\",\n        \"rent_end_date\": \"2026-02-18T00:00:00.000Z\",\n        \"total_price\": \"150.00\",\n        \"status\": \"returned\",\n        \"vehicle\": {\n            \"availability_status\": \"available\"\n        }\n    }\n}"}],"_postman_id":"aa95312f-448d-4c2a-970f-5acfc60f078f"}],"id":"94e8d0aa-6960-40a0-a0cd-c1a59932cc3f","description":"<h2 id=\"booking\">Booking</h2>\n<p>This folder contains endpoints for <strong>booking management</strong> in the Vehicle Rental System. It allows users to create, retrieve, and update vehicle rental bookings.</p>\n<h3 id=\"endpoints\">Endpoints</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Method</th>\n<th>Endpoint</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>POST</code></td>\n<td><code>/api/v1/bookings</code></td>\n<td>Creates a new vehicle rental booking</td>\n</tr>\n<tr>\n<td><code>GET</code></td>\n<td><code>/api/v1/bookings</code></td>\n<td>Retrieves a list of all bookings</td>\n</tr>\n<tr>\n<td><code>PUT</code></td>\n<td><code>/api/v1/bookings/:id</code></td>\n<td>Updates the details of an existing booking by ID</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"usage-notes\">Usage Notes</h3>\n<ul>\n<li><strong>Create Booking</strong> (<code>POST /api/v1/bookings</code>): Provide booking details such as the vehicle ID, user ID, start date, and end date in the request body to reserve a vehicle.</li>\n<li><strong>Get Bookings</strong> (<code>GET /api/v1/bookings</code>): Returns all bookings in the system. Depending on the user's role, this may return only their own bookings or all bookings (admin).</li>\n<li><strong>Update Booking</strong> (<code>PUT /api/v1/bookings/:id</code>): Pass the booking ID in the URL and supply the fields to modify (e.g., dates, status) in the request body.</li>\n<li>All endpoints in this folder require a valid <strong>Authorization token</strong> obtained from the Auth folder.</li>\n</ul>\n","_postman_id":"94e8d0aa-6960-40a0-a0cd-c1a59932cc3f"},{"name":"Auth","item":[{"name":"Login","id":"6d1b4275-9d46-498d-a382-8bbac5f52074","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"email\": \"shad@example.com\",\r\n  \"password\": \"123456\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/v1/auth/signin","urlObject":{"protocol":"http","port":"5000","path":["api","v1","auth","signin"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"6d1b4275-9d46-498d-a382-8bbac5f52074"}],"id":"faf8543a-970c-4302-8998-130f3de26955","description":"<h2 id=\"auth\">Auth</h2>\n<p>This folder contains endpoints related to <strong>authentication</strong> in the Vehicle Rental System. It handles user sign-in and session management.</p>\n<h3 id=\"endpoints\">Endpoints</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Method</th>\n<th>Endpoint</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>POST</code></td>\n<td><code>/api/v1/auth/signin</code></td>\n<td>Authenticates a user and returns an access token</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"usage-notes\">Usage Notes</h3>\n<ul>\n<li>Send a <code>POST</code> request to <code>/api/v1/auth/signin</code> with valid credentials (e.g., email and password) in the request body.</li>\n<li>On success, the response will include a <strong>JWT token</strong> or session token that must be included in the <code>Authorization</code> header for protected routes.</li>\n<li>Store the returned token in an environment variable (e.g., <code>{{token}}</code>) to reuse it across other requests in this collection.</li>\n</ul>\n","_postman_id":"faf8543a-970c-4302-8998-130f3de26955"}]}