{"info":{"_postman_id":"798b558c-b97d-4b20-b039-60834de0d2ec","name":"DineGrid","description":"<html><head></head><body><h1 id=\"dinegrid-api\">DineGrid API</h1>\n<p>DineGrid is a restaurant management REST API that provides endpoints for managing <strong>menu items</strong> and <strong>table bookings</strong>. The API is hosted locally at <code>http://localhost:5000/api</code> and follows standard RESTful conventions.</p>\n<h2 id=\"base-url\">Base URL</h2>\n<p><code>http://localhost:5000/api</code></p>\n<h2 id=\"collection-structure\">Collection Structure</h2>\n<ul>\n<li><strong>Booking</strong> — CRUD operations for managing restaurant table bookings.</li>\n<li><strong>Menu</strong> — CRUD operations for managing menu items, including filtering by category.</li>\n</ul>\n<h2 id=\"conventions\">Conventions</h2>\n<ul>\n<li>All requests use JSON for request and response bodies.</li>\n<li>Resource IDs are passed as path parameters (e.g., <code>/api/bookings/:id</code>).</li>\n<li>Standard HTTP methods are used: <code>GET</code>, <code>POST</code>, <code>PUT</code>, <code>DELETE</code>.</li>\n<li>Standard HTTP status codes indicate success or failure.</li>\n</ul>\n<h2 id=\"getting-started\">Getting Started</h2>\n<ol>\n<li>Ensure the DineGrid server is running locally on port <code>5000</code>.</li>\n<li>Use the <strong>Booking</strong> folder to manage reservations.</li>\n<li>Use the <strong>Menu</strong> folder to manage the restaurant's menu.</li>\n</ol>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"DineGrid API","slug":"dinegrid-api"}],"owner":"50839333","collectionId":"798b558c-b97d-4b20-b039-60834de0d2ec","publishedId":"2sBXqKnzaE","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2026-05-01T17:34:51.000Z"},"item":[{"name":"Booking","item":[{"name":"Create a New Booking","id":"70bad31f-5753-4bd3-b388-f73027d2cf19","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"name\": \"Ansh Patel\",\r\n  \"email\": \"ansh@example.com\",\r\n  \"phone\": \"+91 9876543210\",\r\n  \"date\": \"2026-05-15\",\r\n  \"time\": \"19:30\",\r\n  \"guests\": 4,\r\n  \"specialRequests\": \"Window table preferred, please.\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/bookings","description":"<h1 id=\"create-a-new-booking\">Create a New Booking</h1>\n<p>Creates a new booking record in the system.</p>\n<h2 id=\"method\">Method</h2>\n<p><code>POST</code></p>\n<h2 id=\"endpoint\">Endpoint</h2>\n<p><code>/api/bookings</code></p>\n<h2 id=\"request-body-json\">Request Body (JSON)</h2>\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>customerName</code></td>\n<td>string</td>\n<td>Name of the customer.</td>\n</tr>\n<tr>\n<td><code>date</code></td>\n<td>string</td>\n<td>Booking date (ISO format).</td>\n</tr>\n<tr>\n<td><code>time</code></td>\n<td>string</td>\n<td>Booking time slot.</td>\n</tr>\n<tr>\n<td><code>guests</code></td>\n<td>number</td>\n<td>Number of guests.</td>\n</tr>\n<tr>\n<td><code>tableNumber</code></td>\n<td>number</td>\n<td>Assigned table number.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"responses\">Responses</h2>\n<ul>\n<li><strong>201 Created</strong> — Booking successfully created; returns the created booking object.</li>\n<li><strong>400 Bad Request</strong> — Invalid or missing fields in the request body.</li>\n</ul>\n","urlObject":{"protocol":"http","port":"5000","path":["api","bookings"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"b113aa09-7347-412a-a157-f543dc6285ae","name":"Success - Booking Created","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"name\": \"Ansh Patel\",\r\n  \"email\": \"ansh@example.com\",\r\n  \"phone\": \"+91 9876543210\",\r\n  \"date\": \"2026-05-15\",\r\n  \"time\": \"19:30\",\r\n  \"guests\": 4,\r\n  \"specialRequests\": \"Window table preferred, please.\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/api/bookings"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"message\": \"Booking created successfully\",\n  \"booking\": {\n    \"_id\": \"69f4d9c044157ad5578da819\",\n    \"customerName\": \"John Doe\",\n    \"date\": \"2026-05-10\",\n    \"time\": \"19:30\",\n    \"guests\": 4,\n    \"tableNumber\": 7,\n    \"createdAt\": \"2026-05-01T17:24:00.000Z\"\n  }\n}"},{"id":"d0174108-939d-4edf-827d-13d765b79f63","name":"Bad Request - Missing Fields","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"name\": \"Ansh Patel\",\r\n  \"email\": \"ansh@example.com\",\r\n  \"phone\": \"+91 9876543210\",\r\n  \"date\": \"2026-05-15\",\r\n  \"time\": \"19:30\",\r\n  \"guests\": 4,\r\n  \"specialRequests\": \"Window table preferred, please.\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/api/bookings"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"success\": false,\n  \"error\": \"Missing required fields: customerName, date\"\n}"}],"_postman_id":"70bad31f-5753-4bd3-b388-f73027d2cf19"},{"name":"All Bookings","id":"1eeb3616-5fdd-4f7c-9ae9-2cefade83d1a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:5000/api/bookings","description":"<h1 id=\"get-all-bookings\">Get All Bookings</h1>\n<p>Retrieves a list of all bookings currently stored in the system.</p>\n<h2 id=\"method\">Method</h2>\n<p><code>GET</code></p>\n<h2 id=\"endpoint\">Endpoint</h2>\n<p><code>/api/bookings</code></p>\n<h2 id=\"responses\">Responses</h2>\n<ul>\n<li><strong>200 OK</strong> — Returns an array of booking objects.</li>\n<li><strong>500 Internal Server Error</strong> — Server-side error while fetching bookings.</li>\n</ul>\n","urlObject":{"protocol":"http","port":"5000","path":["api","bookings"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"79f75b88-22b9-47a7-bc25-adb17e3897d9","name":"Success - List of Bookings","originalRequest":{"method":"GET","header":[],"url":"{{baseUrl}}/api/bookings"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"count\": 2,\n  \"bookings\": [\n    {\n      \"_id\": \"69f4d9c044157ad5578da819\",\n      \"customerName\": \"John Doe\",\n      \"date\": \"2026-05-10\",\n      \"time\": \"19:30\",\n      \"guests\": 4,\n      \"tableNumber\": 7\n    },\n    {\n      \"_id\": \"69f4d9c044157ad5578da820\",\n      \"customerName\": \"Jane Smith\",\n      \"date\": \"2026-05-11\",\n      \"time\": \"20:00\",\n      \"guests\": 2,\n      \"tableNumber\": 3\n    }\n  ]\n}"}],"_postman_id":"1eeb3616-5fdd-4f7c-9ae9-2cefade83d1a"},{"name":"Single Booking","id":"1ffa621c-c907-4297-bc69-ba6df09a55d3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:5000/api/bookings/69f4d9c044157ad5578da819","description":"<h1 id=\"get-a-single-booking\">Get a Single Booking</h1>\n<p>Retrieves the details of a specific booking using its unique ID.</p>\n<h2 id=\"method\">Method</h2>\n<p><code>GET</code></p>\n<h2 id=\"endpoint\">Endpoint</h2>\n<p><code>/api/bookings/:id</code></p>\n<h2 id=\"path-parameters\">Path Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>string</td>\n<td>Unique identifier of the booking.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"responses\">Responses</h2>\n<ul>\n<li><strong>200 OK</strong> — Returns the booking object.</li>\n<li><strong>404 Not Found</strong> — Booking with the given ID does not exist.</li>\n</ul>\n","urlObject":{"protocol":"http","port":"5000","path":["api","bookings","69f4d9c044157ad5578da819"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"9f0705aa-2404-4140-a6b3-66b05fecfdef","name":"Success - Booking Found","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/api/bookings/:id","host":["{{baseUrl}}"],"path":["api","bookings",":id"],"variable":[{"key":"id","value":"69f4d9c044157ad5578da819","enabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"booking\": {\n    \"_id\": \"69f4d9c044157ad5578da819\",\n    \"customerName\": \"John Doe\",\n    \"date\": \"2026-05-10\",\n    \"time\": \"19:30\",\n    \"guests\": 4,\n    \"tableNumber\": 7\n  }\n}"},{"id":"bf84191b-38a9-499f-a420-219bcaa7cce1","name":"Not Found","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/api/bookings/:id","host":["{{baseUrl}}"],"path":["api","bookings",":id"],"variable":[{"key":"id","value":"69f4d9c044157ad5578da999","enabled":true}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"success\": false,\n  \"error\": \"Booking not found\"\n}"}],"_postman_id":"1ffa621c-c907-4297-bc69-ba6df09a55d3"},{"name":"Update Booking Details","id":"2ec2d778-7b53-40e7-8d28-d6391541b4d3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n  \"guests\": 6,\r\n  \"status\": \"confirmed\",\r\n  \"tableNumber\": 5\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/bookings/69f4d9c044157ad5578da819","description":"<h1 id=\"update-booking-details\">Update Booking Details</h1>\n<p>Updates the details of an existing booking identified by its ID.</p>\n<h2 id=\"method\">Method</h2>\n<p><code>PUT</code></p>\n<h2 id=\"endpoint\">Endpoint</h2>\n<p><code>/api/bookings/:id</code></p>\n<h2 id=\"path-parameters\">Path Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>string</td>\n<td>Unique identifier of the booking to update.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"request-body-json\">Request Body (JSON)</h2>\n<p>Include any of the following fields to update:</p>\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>customerName</code></td>\n<td>string</td>\n<td>Updated customer name.</td>\n</tr>\n<tr>\n<td><code>date</code></td>\n<td>string</td>\n<td>Updated booking date.</td>\n</tr>\n<tr>\n<td><code>time</code></td>\n<td>string</td>\n<td>Updated booking time.</td>\n</tr>\n<tr>\n<td><code>guests</code></td>\n<td>number</td>\n<td>Updated number of guests.</td>\n</tr>\n<tr>\n<td><code>tableNumber</code></td>\n<td>number</td>\n<td>Updated table number.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"responses\">Responses</h2>\n<ul>\n<li><strong>200 OK</strong> — Returns the updated booking object.</li>\n<li><strong>404 Not Found</strong> — Booking not found.</li>\n<li><strong>400 Bad Request</strong> — Invalid input.</li>\n</ul>\n","urlObject":{"protocol":"http","port":"5000","path":["api","bookings","69f4d9c044157ad5578da819"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"05a5cad7-65d2-434a-84d7-1a3e960f1eda","name":"Success - Booking Updated","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n  \"guests\": 6,\r\n  \"status\": \"confirmed\",\r\n  \"tableNumber\": 5\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":{"raw":"{{baseUrl}}/api/bookings/:id","host":["{{baseUrl}}"],"path":["api","bookings",":id"],"variable":[{"key":"id","value":"69f4d9c044157ad5578da819","enabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"message\": \"Booking updated successfully\",\n  \"booking\": {\n    \"_id\": \"69f4d9c044157ad5578da819\",\n    \"customerName\": \"John Doe\",\n    \"date\": \"2026-05-12\",\n    \"time\": \"20:00\",\n    \"guests\": 6,\n    \"tableNumber\": 9\n  }\n}"},{"id":"865a02d6-ac28-4f36-ac3c-21530823703d","name":"Not Found","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n  \"guests\": 6,\r\n  \"status\": \"confirmed\",\r\n  \"tableNumber\": 5\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":{"raw":"{{baseUrl}}/api/bookings/:id","host":["{{baseUrl}}"],"path":["api","bookings",":id"],"variable":[{"key":"id","value":"69f4d9c044157ad5578da999","enabled":true}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"success\": false,\n  \"error\": \"Booking not found\"\n}"}],"_postman_id":"2ec2d778-7b53-40e7-8d28-d6391541b4d3"},{"name":"Delete Booking","id":"04fcb063-a804-479c-853b-674c0ba7e318","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\r\n  \"guests\": 6,\r\n  \"status\": \"confirmed\",\r\n  \"tableNumber\": 5\r\n}\r\n"},"url":"http://localhost:5000/api/bookings/69f4d7e044157ad5578da817","description":"<h1 id=\"delete-a-booking\">Delete a Booking</h1>\n<p>Deletes a booking from the system using its unique ID.</p>\n<h2 id=\"method\">Method</h2>\n<p><code>DELETE</code></p>\n<h2 id=\"endpoint\">Endpoint</h2>\n<p><code>/api/bookings/:id</code></p>\n<h2 id=\"path-parameters\">Path Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>string</td>\n<td>Unique identifier of the booking to delete.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"responses\">Responses</h2>\n<ul>\n<li><strong>200 OK</strong> — Booking deleted successfully.</li>\n<li><strong>404 Not Found</strong> — Booking with the given ID does not exist.</li>\n</ul>\n","urlObject":{"protocol":"http","port":"5000","path":["api","bookings","69f4d7e044157ad5578da817"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"d32c309a-d626-4324-a650-c5e543d05db7","name":"Success - Booking Deleted","originalRequest":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\r\n  \"guests\": 6,\r\n  \"status\": \"confirmed\",\r\n  \"tableNumber\": 5\r\n}\r\n"},"url":{"raw":"{{baseUrl}}/api/bookings/:id","host":["{{baseUrl}}"],"path":["api","bookings",":id"],"variable":[{"key":"id","value":"69f4d9c044157ad5578da819","enabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"message\": \"Booking deleted successfully\"\n}"},{"id":"ea1a5b06-8e39-49aa-a809-33e5a44e583c","name":"Not Found","originalRequest":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\r\n  \"guests\": 6,\r\n  \"status\": \"confirmed\",\r\n  \"tableNumber\": 5\r\n}\r\n"},"url":{"raw":"{{baseUrl}}/api/bookings/:id","host":["{{baseUrl}}"],"path":["api","bookings",":id"],"variable":[{"key":"id","value":"69f4d9c044157ad5578da999","enabled":true}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"success\": false,\n  \"error\": \"Booking not found\"\n}"}],"_postman_id":"04fcb063-a804-479c-853b-674c0ba7e318"}],"id":"8f6ed23a-d017-4699-a637-43e8b976dcf4","description":"<p>This folder contains all CRUD operations for managing bookings through a local REST API running at <code>http://localhost:5000/api/bookings</code>. It covers the full lifecycle of a booking — creating a new booking (POST), retrieving all bookings or a single booking by ID (GET), updating booking details (PUT), and deleting a booking (DELETE). All requests follow standard RESTful conventions, with resource-specific operations using the <code>:id</code> path parameter to target individual records.</p>\n","_postman_id":"8f6ed23a-d017-4699-a637-43e8b976dcf4"},{"name":"Menu","item":[{"name":"Add a New Menu Item","id":"3f7243ec-c611-4f95-9d02-f15c83cbe840","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"name\": \"Paneer Tikka\",\r\n  \"description\": \"Grilled cottage cheese cubes marinated in rich Indian spices\",\r\n  \"price\": 320,\r\n  \"category\": \"starters\",\r\n  \"isVeg\": true,\r\n  \"isAvailable\": true\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/menu","description":"<h1 id=\"add-a-new-menu-item\">Add a New Menu Item</h1>\n<p>Adds a new menu item to the restaurant's menu.</p>\n<h2 id=\"method\">Method</h2>\n<p><code>POST</code></p>\n<h2 id=\"endpoint\">Endpoint</h2>\n<p><code>/api/menu</code></p>\n<h2 id=\"request-body-json\">Request Body (JSON)</h2>\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>Name of the menu item.</td>\n</tr>\n<tr>\n<td><code>category</code></td>\n<td>string</td>\n<td>Category (e.g., <code>starters</code>, <code>mains</code>, <code>desserts</code>).</td>\n</tr>\n<tr>\n<td><code>price</code></td>\n<td>number</td>\n<td>Price of the item.</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>string</td>\n<td>Description of the dish.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"responses\">Responses</h2>\n<ul>\n<li><strong>201 Created</strong> — Menu item successfully added.</li>\n<li><strong>400 Bad Request</strong> — Invalid or missing fields.</li>\n</ul>\n","urlObject":{"protocol":"http","port":"5000","path":["api","menu"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"0a583ff4-167b-4611-989c-f259fed3b09a","name":"Success - Menu Item Added","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"name\": \"Paneer Tikka\",\r\n  \"description\": \"Grilled cottage cheese cubes marinated in rich Indian spices\",\r\n  \"price\": 320,\r\n  \"category\": \"starters\",\r\n  \"isVeg\": true,\r\n  \"isAvailable\": true\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/api/menu"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"message\": \"Menu item added successfully\",\n  \"item\": {\n    \"_id\": \"69f4dabd44157ad5578da81c\",\n    \"name\": \"Paneer Tikka\",\n    \"category\": \"starters\",\n    \"price\": 250,\n    \"description\": \"Grilled paneer cubes marinated in spiced yogurt.\"\n  }\n}"},{"id":"c104c843-08cd-4fcc-83af-f09ded6f1f58","name":"Bad Request","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"name\": \"Paneer Tikka\",\r\n  \"description\": \"Grilled cottage cheese cubes marinated in rich Indian spices\",\r\n  \"price\": 320,\r\n  \"category\": \"starters\",\r\n  \"isVeg\": true,\r\n  \"isAvailable\": true\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/api/menu"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"success\": false,\n  \"error\": \"Missing required fields: name, price\"\n}"}],"_postman_id":"3f7243ec-c611-4f95-9d02-f15c83cbe840"},{"name":"All Menu Items","id":"93d3612f-2e12-4651-b42b-ea014ee64c6f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"name\": \"Paneer Tikka\",\r\n  \"description\": \"Grilled cottage cheese cubes marinated in rich Indian spices\",\r\n  \"price\": 320,\r\n  \"category\": \"starters\",\r\n  \"isVeg\": true,\r\n  \"isAvailable\": true\r\n}\r\n"},"url":"http://localhost:5000/api/menu","description":"<h1 id=\"get-all-menu-items\">Get All Menu Items</h1>\n<p>Retrieves all menu items currently available in the system.</p>\n<h2 id=\"method\">Method</h2>\n<p><code>GET</code></p>\n<h2 id=\"endpoint\">Endpoint</h2>\n<p><code>/api/menu</code></p>\n<h2 id=\"responses\">Responses</h2>\n<ul>\n<li><strong>200 OK</strong> — Returns an array of menu item objects.</li>\n<li><strong>500 Internal Server Error</strong> — Server-side error while fetching items.</li>\n</ul>\n","urlObject":{"protocol":"http","port":"5000","path":["api","menu"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"a0fb5610-177e-4fe3-873a-49dcdbc2b9e3","name":"Success - All Items","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"{\r\n  \"name\": \"Paneer Tikka\",\r\n  \"description\": \"Grilled cottage cheese cubes marinated in rich Indian spices\",\r\n  \"price\": 320,\r\n  \"category\": \"starters\",\r\n  \"isVeg\": true,\r\n  \"isAvailable\": true\r\n}\r\n"},"url":"{{baseUrl}}/api/menu"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"count\": 3,\n  \"items\": [\n    {\n      \"_id\": \"69f4dabd44157ad5578da81c\",\n      \"name\": \"Paneer Tikka\",\n      \"category\": \"starters\",\n      \"price\": 250,\n      \"description\": \"Grilled paneer cubes marinated in spiced yogurt.\"\n    },\n    {\n      \"_id\": \"69f4dabd44157ad5578da81d\",\n      \"name\": \"Butter Chicken\",\n      \"category\": \"mains\",\n      \"price\": 420,\n      \"description\": \"Creamy tomato-based chicken curry.\"\n    },\n    {\n      \"_id\": \"69f4dabd44157ad5578da81e\",\n      \"name\": \"Gulab Jamun\",\n      \"category\": \"desserts\",\n      \"price\": 120,\n      \"description\": \"Soft milk dumplings soaked in sugar syrup.\"\n    }\n  ]\n}"}],"_postman_id":"93d3612f-2e12-4651-b42b-ea014ee64c6f"},{"name":"Menu Items by Category","id":"003ff074-0d2e-4324-bd3b-78672f95ed3c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"name\": \"Paneer Tikka\",\r\n  \"description\": \"Grilled cottage cheese cubes marinated in rich Indian spices\",\r\n  \"price\": 320,\r\n  \"category\": \"starters\",\r\n  \"isVeg\": true,\r\n  \"isAvailable\": true\r\n}\r\n"},"url":"http://localhost:5000/api/menu?category=starters","description":"<h1 id=\"get-menu-items-by-category\">Get Menu Items by Category</h1>\n<p>Retrieves menu items filtered by a specific category (e.g., starters, mains, desserts).</p>\n<h2 id=\"method\">Method</h2>\n<p><code>GET</code></p>\n<h2 id=\"endpoint\">Endpoint</h2>\n<p><code>/api/menu?category=&lt;value&gt;</code></p>\n<h2 id=\"query-parameters\">Query Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>category</code></td>\n<td>string</td>\n<td>Category name to filter menu items by.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"responses\">Responses</h2>\n<ul>\n<li><strong>200 OK</strong> — Returns an array of matching menu items.</li>\n<li><strong>404 Not Found</strong> — No items found in the given category.</li>\n</ul>\n","urlObject":{"protocol":"http","port":"5000","path":["api","menu"],"host":["localhost"],"query":[{"key":"category","value":"starters"}],"variable":[]}},"response":[{"id":"ba5aa0df-df0f-4ac6-9da9-98445a2e84df","name":"Success - Filtered by Category","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"{\r\n  \"name\": \"Paneer Tikka\",\r\n  \"description\": \"Grilled cottage cheese cubes marinated in rich Indian spices\",\r\n  \"price\": 320,\r\n  \"category\": \"starters\",\r\n  \"isVeg\": true,\r\n  \"isAvailable\": true\r\n}\r\n"},"url":{"raw":"{{baseUrl}}/api/menu?category=starters","host":["{{baseUrl}}"],"path":["api","menu"],"query":[{"key":"category","value":"starters","type":"text"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"category\": \"starters\",\n  \"count\": 2,\n  \"items\": [\n    {\n      \"_id\": \"69f4dabd44157ad5578da81c\",\n      \"name\": \"Paneer Tikka\",\n      \"category\": \"starters\",\n      \"price\": 250,\n      \"description\": \"Grilled paneer cubes marinated in spiced yogurt.\"\n    },\n    {\n      \"_id\": \"69f4dabd44157ad5578da81f\",\n      \"name\": \"Veg Spring Rolls\",\n      \"category\": \"starters\",\n      \"price\": 180,\n      \"description\": \"Crispy rolls stuffed with spiced vegetables.\"\n    }\n  ]\n}"},{"id":"627ce132-2fda-4050-ba77-923d7291a7a9","name":"No Items Found","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"{\r\n  \"name\": \"Paneer Tikka\",\r\n  \"description\": \"Grilled cottage cheese cubes marinated in rich Indian spices\",\r\n  \"price\": 320,\r\n  \"category\": \"starters\",\r\n  \"isVeg\": true,\r\n  \"isAvailable\": true\r\n}\r\n"},"url":{"raw":"{{baseUrl}}/api/menu?category=beverages","host":["{{baseUrl}}"],"path":["api","menu"],"query":[{"key":"category","value":"beverages","type":"text"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"success\": false,\n  \"error\": \"No items found in category: beverages\"\n}"}],"_postman_id":"003ff074-0d2e-4324-bd3b-78672f95ed3c"},{"name":"Single Menu Item","id":"f432c489-1606-4b22-bd9a-63087cb02f20","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:5000/api/menu/69f4dabd44157ad5578da81c","description":"<h1 id=\"get-a-single-menu-item\">Get a Single Menu Item</h1>\n<p>Retrieves the details of a specific menu item using its unique ID.</p>\n<h2 id=\"method\">Method</h2>\n<p><code>GET</code></p>\n<h2 id=\"endpoint\">Endpoint</h2>\n<p><code>/api/menu/:id</code></p>\n<h2 id=\"path-parameters\">Path Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>string</td>\n<td>Unique identifier of the menu item.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"responses\">Responses</h2>\n<ul>\n<li><strong>200 OK</strong> — Returns the menu item object.</li>\n<li><strong>404 Not Found</strong> — Item not found.</li>\n</ul>\n","urlObject":{"protocol":"http","port":"5000","path":["api","menu","69f4dabd44157ad5578da81c"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"0100c728-b2ce-4b7d-b2dd-d4f6c7fd9a87","name":"Success - Item Found","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/api/menu/:id","host":["{{baseUrl}}"],"path":["api","menu",":id"],"variable":[{"key":"id","value":"69f4dabd44157ad5578da81c","enabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"item\": {\n    \"_id\": \"69f4dabd44157ad5578da81c\",\n    \"name\": \"Paneer Tikka\",\n    \"category\": \"starters\",\n    \"price\": 250,\n    \"description\": \"Grilled paneer cubes marinated in spiced yogurt.\"\n  }\n}"},{"id":"3e8e156e-0d3e-40cc-b81c-c9b04a12afd5","name":"Not Found","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/api/menu/:id","host":["{{baseUrl}}"],"path":["api","menu",":id"],"variable":[{"key":"id","value":"69f4dabd44157ad5578da999","enabled":true}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"success\": false,\n  \"error\": \"Menu item not found\"\n}"}],"_postman_id":"f432c489-1606-4b22-bd9a-63087cb02f20"},{"name":"Update Menu Item","id":"15a9da3e-bbe3-46dc-bee2-be916fcc745a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n  \"price\": 350,\r\n  \"isAvailable\": false\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/menu/69f4dabd44157ad5578da81c","description":"<h1 id=\"update-a-menu-item\">Update a Menu Item</h1>\n<p>Updates an existing menu item identified by its ID.</p>\n<h2 id=\"method\">Method</h2>\n<p><code>PUT</code></p>\n<h2 id=\"endpoint\">Endpoint</h2>\n<p><code>/api/menu/:id</code></p>\n<h2 id=\"path-parameters\">Path Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>string</td>\n<td>Unique identifier of the menu item to update.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"request-body-json\">Request Body (JSON)</h2>\n<p>Include any of the following fields to update:</p>\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>Updated item name.</td>\n</tr>\n<tr>\n<td><code>category</code></td>\n<td>string</td>\n<td>Updated category.</td>\n</tr>\n<tr>\n<td><code>price</code></td>\n<td>number</td>\n<td>Updated price.</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>string</td>\n<td>Updated description.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"responses\">Responses</h2>\n<ul>\n<li><strong>200 OK</strong> — Returns the updated menu item.</li>\n<li><strong>404 Not Found</strong> — Item not found.</li>\n<li><strong>400 Bad Request</strong> — Invalid input.</li>\n</ul>\n","urlObject":{"protocol":"http","port":"5000","path":["api","menu","69f4dabd44157ad5578da81c"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"1d38c731-80f5-48ef-af2a-fdaa3865c7d2","name":"Success - Item Updated","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n  \"price\": 350,\r\n  \"isAvailable\": false\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":{"raw":"{{baseUrl}}/api/menu/:id","host":["{{baseUrl}}"],"path":["api","menu",":id"],"variable":[{"key":"id","value":"69f4dabd44157ad5578da81c","enabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"message\": \"Menu item updated successfully\",\n  \"item\": {\n    \"_id\": \"69f4dabd44157ad5578da81c\",\n    \"name\": \"Paneer Tikka Masala\",\n    \"category\": \"mains\",\n    \"price\": 320,\n    \"description\": \"Grilled paneer in a rich spiced gravy.\"\n  }\n}"},{"id":"93f03ee9-c5ae-4113-af8d-6c37bf6b69f9","name":"Not Found","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n  \"price\": 350,\r\n  \"isAvailable\": false\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":{"raw":"{{baseUrl}}/api/menu/:id","host":["{{baseUrl}}"],"path":["api","menu",":id"],"variable":[{"key":"id","value":"69f4dabd44157ad5578da999","enabled":true}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"success\": false,\n  \"error\": \"Menu item not found\"\n}"}],"_postman_id":"15a9da3e-bbe3-46dc-bee2-be916fcc745a"},{"name":"New Request","id":"356c5a87-47ee-4bd4-8bad-3c057c8a3a82","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n  \"success\": true,\r\n  \"message\": \"Menu item deleted successfully\"\r\n}\r\n"},"url":"http://localhost:5000/api/menu/69f4dabd44157ad5578da81c","description":"<h1 id=\"update-a-menu-item-alternate\">Update a Menu Item (Alternate)</h1>\n<p>An alternate PUT request for updating a menu item by its ID. Functions identically to <strong>Update Menu Item</strong>.</p>\n<h2 id=\"method\">Method</h2>\n<p><code>PUT</code></p>\n<h2 id=\"endpoint\">Endpoint</h2>\n<p><code>/api/menu/:id</code></p>\n<h2 id=\"path-parameters\">Path Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>string</td>\n<td>Unique identifier of the menu item to update.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"request-body-json\">Request Body (JSON)</h2>\n<p>Include any fields that need to be updated (e.g., <code>name</code>, <code>category</code>, <code>price</code>, <code>description</code>).</p>\n<h2 id=\"responses\">Responses</h2>\n<ul>\n<li><strong>200 OK</strong> — Returns the updated menu item.</li>\n<li><strong>404 Not Found</strong> — Item not found.</li>\n<li><strong>400 Bad Request</strong> — Invalid input.</li>\n</ul>\n","urlObject":{"protocol":"http","port":"5000","path":["api","menu","69f4dabd44157ad5578da81c"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"bcbf3d4c-02f4-40c5-9c87-a567c6873f8b","name":"Success - Item Updated","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n  \"success\": true,\r\n  \"message\": \"Menu item deleted successfully\"\r\n}\r\n"},"url":{"raw":"{{baseUrl}}/api/menu/:id","host":["{{baseUrl}}"],"path":["api","menu",":id"],"variable":[{"key":"id","value":"69f4dabd44157ad5578da81c","enabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"message\": \"Menu item updated successfully\",\n  \"item\": {\n    \"_id\": \"69f4dabd44157ad5578da81c\",\n    \"name\": \"Paneer Tikka\",\n    \"category\": \"starters\",\n    \"price\": 270,\n    \"description\": \"Grilled paneer cubes marinated in spiced yogurt.\"\n  }\n}"}],"_postman_id":"356c5a87-47ee-4bd4-8bad-3c057c8a3a82"}],"id":"2ef421ec-94a4-4b99-9933-1377b369a713","description":"<h1 id=\"menu\">Menu</h1>\n<p>This folder contains all CRUD operations for managing menu items through the local REST API at <code>http://localhost:5000/api/menu</code>.</p>\n<h2 id=\"endpoints\">Endpoints</h2>\n<ul>\n<li><strong>POST</strong> <code>/api/menu</code> — Add a new menu item.</li>\n<li><strong>GET</strong> <code>/api/menu</code> — Retrieve all menu items.</li>\n<li><strong>GET</strong> <code>/api/menu?category=&lt;value&gt;</code> — Filter menu items by category.</li>\n<li><strong>GET</strong> <code>/api/menu/:id</code> — Retrieve a single menu item by ID.</li>\n<li><strong>PUT</strong> <code>/api/menu/:id</code> — Update an existing menu item.</li>\n</ul>\n<p>All requests follow standard RESTful conventions and use JSON payloads.</p>\n","_postman_id":"2ef421ec-94a4-4b99-9933-1377b369a713"}]}