{"info":{"_postman_id":"e29cdae2-d5d7-43fe-a34f-8aac38bc1f3a","name":"EXPENSE TRACKER","description":"<html><head></head><body><h2 id=\"expense-tracker-api\">Expense Tracker API</h2>\n<p>This collection covers the complete API workflow for the <strong>Expense Tracker</strong> application. It is organized into three functional groups:</p>\n<h3 id=\"auth\">AUTH</h3>\n<p>Handles user identity and access. Includes endpoints for:</p>\n<ul>\n<li><p><strong>SIGNUP</strong> – Register a new user account.</p>\n</li>\n<li><p><strong>LOGIN</strong> – Authenticate an existing user and retrieve a JWT for use in subsequent requests.</p>\n</li>\n</ul>\n<h3 id=\"expenses\">EXPENSES</h3>\n<p>Manages the core expense data for an authenticated user. Includes endpoints for:</p>\n<ul>\n<li><p><strong>ADD EXPENSES</strong> – Create and record a new expense entry.</p>\n</li>\n<li><p><strong>FETCH ALL EXPENSES</strong> – Retrieve the full list of expenses associated with the user.</p>\n</li>\n<li><p><strong>DELETE EXPENSE</strong> – Remove a specific expense record by its identifier.</p>\n</li>\n</ul>\n<h3 id=\"product\">PRODUCT</h3>\n<p>Provides supporting product data used within the application. Includes:</p>\n<ul>\n<li><strong>GET PRODUCTS</strong> – Fetch the list of available products.</li>\n</ul>\n<hr>\n<p>Authentication is JWT-based. Use the <strong>LOGIN</strong> endpoint to obtain a token, then include it in the <code>Authorization</code> header for all protected requests. A collection-level variable <code>json_web_token_094c</code> is available to store and reuse the token across requests.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"55362925","collectionId":"e29cdae2-d5d7-43fe-a34f-8aac38bc1f3a","publishedId":"2sBYAvvqRJ","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2026-09-04T03:52:06.000Z"},"item":[{"name":"AUTH","item":[{"name":"SIGNUP","id":"f9bedf25-8b59-4c3c-a029-f1e2f2378f37","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\":\"Raj\",\r\n    \"email\":\"raj@gmail.com\",\r\n    \"password\":\"789654\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/auth/signup","description":"<p>Registers a new user account in the Expense Tracker application. Sends a <code>POST</code> request to <code>/auth/signup</code> with a JSON body containing the user's <code>name</code>, <code>email</code>, and <code>password</code>. On success, the account is created and the user can proceed to login. No authentication is required for this endpoint.</p>\n","urlObject":{"protocol":"http","port":"8080","path":["auth","signup"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"4626f482-f058-4647-bbe5-84e02482b09b","name":"SIGNUP","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\":\"Raj\",\r\n    \"email\":\"raj@gmail.com\",\r\n    \"password\":\"789654\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/auth/signup"},"status":"Created","code":201,"_postman_previewlanguage":"Text","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"50"},{"key":"ETag","value":"W/\"32-KXAZNfdHrXsP9lyV+5ZS9AFzSLw\""},{"key":"Date","value":"Fri, 04 Sep 2026 03:04:48 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"SignUp Successfully !\",\n    \"success\": true\n}"}],"_postman_id":"f9bedf25-8b59-4c3c-a029-f1e2f2378f37"},{"name":"LOGIN","id":"ba13adf2-8ed9-4d47-ad63-ac3635149660","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n     \"email\":\"raj@gmail.com\",\r\n    \"password\":\"789654\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/auth/login","description":"<p>Authenticates an existing user and returns a JWT token. Sends a <code>POST</code> request to <code>/auth/login</code> with a JSON body containing the user's <code>email</code> and <code>password</code>. The returned JWT should be stored and passed as the <code>Authorization</code> header value (using the <code>{{json_web_token_094c}}</code> variable) for all protected endpoints. No authentication is required for this endpoint.</p>\n","urlObject":{"protocol":"http","port":"8080","path":["auth","login"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"e58d113f-9f8e-4e3a-8e3e-7159afce1da9","name":"LOGIN","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n     \"email\":\"raj@gmail.com\",\r\n    \"password\":\"789654\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/auth/login"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"326"},{"key":"ETag","value":"W/\"146-8AMN5S0uzTtnrMsyDNWRltgQT9s\""},{"key":"Date","value":"Fri, 04 Sep 2026 03:05:04 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Login Successfully !\",\n    \"success\": true,\n    \"jwtToken\": \"{{json_web_token}}\",\n    \"email\": \"abc@gmail.com\",\n    \"name\": \"alam1\"\n}"}],"_postman_id":"ba13adf2-8ed9-4d47-ad63-ac3635149660"}],"id":"5eb05cf6-a19d-41f9-90f5-9e9992d26858","description":"<h2 id=\"auth\">Auth</h2>\n<p>This folder handles user identity and access management for the Expense Tracker application.</p>\n<ul>\n<li><p><strong>SIGNUP</strong> – Register a new user account by providing the required credentials.</p>\n</li>\n<li><p><strong>LOGIN</strong> – Authenticate an existing user and retrieve a JWT token. Use this token in the <code>Authorization</code> header for all protected endpoints across the API.</p>\n</li>\n</ul>\n","_postman_id":"5eb05cf6-a19d-41f9-90f5-9e9992d26858"},{"name":"EXPENSES","item":[{"name":"ADD EXPENSES","id":"9fb98b1a-ba58-4622-9c5c-e9256fe30075","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{json_web_token_094c}}","type":"text"}],"body":{"mode":"raw","raw":"\r\n{\r\n    \"amount\":\"5000\",\r\n    \"text\":\"Salary\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/expenses","description":"<p>Creates and records a new expense entry for the authenticated user. Sends a <code>POST</code> request to <code>/expenses</code> with a JSON body containing the <code>amount</code> and a <code>text</code> description of the expense. Requires a valid JWT passed in the <code>Authorization</code> header via the <code>{{json_web_token_094c}}</code> variable.</p>\n","urlObject":{"protocol":"http","port":"8080","path":["expenses"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"c154b85d-bca2-431d-b2e7-6d80183a455d","name":"ADD EXPENSES","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"{{json_web_token}}","type":"text"}],"body":{"mode":"raw","raw":"\r\n{\r\n    \"amount\":\"5000\",\r\n    \"text\":\"Bottle\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/expenses"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"378"},{"key":"ETag","value":"W/\"17a-/LpTTImDNbhQETNJUeJRvBWgCTE\""},{"key":"Date","value":"Fri, 04 Sep 2026 03:34:59 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Expense Added Successfully !\",\n    \"success\": true,\n    \"data\": [\n        {\n            \"text\": \"Salary\",\n            \"amount\": 5000,\n            \"createdAt\": \"2026-09-04T03:03:42.643Z\",\n            \"_id\": \"6a9a35a380430275496cd86c\"\n        },\n        {\n            \"text\": \"Salary\",\n            \"amount\": 5000,\n            \"createdAt\": \"2026-09-04T03:03:42.643Z\",\n            \"_id\": \"6a9a35a680430275496cd86e\"\n        },\n        {\n            \"text\": \"Bottle\",\n            \"amount\": 5000,\n            \"createdAt\": \"2026-09-04T03:03:42.643Z\",\n            \"_id\": \"6a9a3c6380430275496cd873\"\n        }\n    ]\n}"}],"_postman_id":"9fb98b1a-ba58-4622-9c5c-e9256fe30075"},{"name":"FETCH ALL EXPENSES","id":"3e286aed-a15c-4252-a4e0-114e2f9b41f5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"","description":"<p>Retrieves the complete list of expense records associated with the authenticated user. Sends a <code>GET</code> request to <code>/expenses</code> with no request body. Requires a valid JWT passed in the <code>Authorization</code> header via the <code>{{json_web_token_094c}}</code> variable.</p>\n","urlObject":{"query":[],"variable":[]}},"response":[{"id":"14d7b389-92f9-4056-9570-a4a6ca3f5d84","name":"FETCH ALL EXPENSES","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"{{json_web_token}}","type":"text"}],"body":{"mode":"raw","raw":"\r\n{\r\n    \"amount\":\"5000\",\r\n    \"text\":\"Salary\"\r\n}"},"url":"http://localhost:8080/expenses"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"381"},{"key":"ETag","value":"W/\"17d-2kQdlevaKn8gLpJgkEMl7G+cWr0\""},{"key":"Date","value":"Fri, 04 Sep 2026 03:35:12 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Expenses Fetched Successfully !\",\n    \"success\": true,\n    \"data\": [\n        {\n            \"text\": \"Salary\",\n            \"amount\": 5000,\n            \"createdAt\": \"2026-09-04T03:03:42.643Z\",\n            \"_id\": \"6a9a35a380430275496cd86c\"\n        },\n        {\n            \"text\": \"Salary\",\n            \"amount\": 5000,\n            \"createdAt\": \"2026-09-04T03:03:42.643Z\",\n            \"_id\": \"6a9a35a680430275496cd86e\"\n        },\n        {\n            \"text\": \"Bottle\",\n            \"amount\": 5000,\n            \"createdAt\": \"2026-09-04T03:03:42.643Z\",\n            \"_id\": \"6a9a3c6380430275496cd873\"\n        }\n    ]\n}"}],"_postman_id":"3e286aed-a15c-4252-a4e0-114e2f9b41f5"},{"name":"DELETE EXPENSE","id":"685205e8-bbd2-4da2-8471-b0bd3b06e9ef","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"{{json_web_token_094c}}","type":"text"}],"body":{"mode":"raw","raw":"\r\n{\r\n    \"amount\":\"5000\",\r\n    \"text\":\"Salary\"\r\n}"},"url":"http://localhost:8080/expenses/6a7fe81bb2c751086cbc9b2e","description":"<p>Permanently removes a specific expense record by its unique identifier. Sends a <code>DELETE</code> request to <code>/expenses/:id</code>, where the expense ID is included in the URL path (e.g., <code>6a7fe81bb2c751086cbc9b2e</code>). Requires a valid JWT passed in the <code>Authorization</code> header via the <code>{{json_web_token_094c}}</code> variable.</p>\n","urlObject":{"protocol":"http","port":"8080","path":["expenses","6a7fe81bb2c751086cbc9b2e"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"f97cc161-3411-4ecc-b30c-4754cc6121e0","name":"DELETE EXPENSE","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"{{json_web_token}}","type":"text"}],"body":{"mode":"raw","raw":"\r\n{\r\n    \"amount\":\"5000\",\r\n    \"text\":\"Salary\"\r\n}"},"url":"http://localhost:8080/expenses/6a9a35a680430275496cd86e"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"275"},{"key":"ETag","value":"W/\"113-UulY6L/kos/sTqd3Zp3H8Rb0+rY\""},{"key":"Date","value":"Fri, 04 Sep 2026 03:35:49 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Expense Deleted Successfully!\",\n    \"success\": true,\n    \"data\": [\n        {\n            \"text\": \"Salary\",\n            \"amount\": 5000,\n            \"createdAt\": \"2026-09-04T03:03:42.643Z\",\n            \"_id\": \"6a9a35a380430275496cd86c\"\n        },\n        {\n            \"text\": \"Bottle\",\n            \"amount\": 5000,\n            \"createdAt\": \"2026-09-04T03:03:42.643Z\",\n            \"_id\": \"6a9a3c6380430275496cd873\"\n        }\n    ]\n}"}],"_postman_id":"685205e8-bbd2-4da2-8471-b0bd3b06e9ef"}],"id":"6d801e1f-eab3-4a11-8f53-c8ab860cd83c","description":"<p>Manages the core expense data for authenticated users.</p>\n<p>This folder contains the endpoints for creating, retrieving, and deleting expense records:</p>\n<ul>\n<li><p><strong>ADD EXPENSES</strong> – Creates and records a new expense entry for the authenticated user.</p>\n</li>\n<li><p><strong>FETCH ALL EXPENSES</strong> – Retrieves the complete list of expense records associated with the authenticated user.</p>\n</li>\n<li><p><strong>DELETE EXPENSE</strong> – Removes a specific expense record from the system using its unique identifier.</p>\n</li>\n</ul>\n<p>All endpoints in this folder require a valid JWT in the <code>Authorization</code> header.</p>\n","_postman_id":"6d801e1f-eab3-4a11-8f53-c8ab860cd83c"},{"name":"PRODUCT","item":[{"name":"GET PRODUCTS","id":"9e1a1453-cae7-4c54-9ae8-ed1a9a1d7e87","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"","description":"<p>Fetches the list of available products used within the Expense Tracker application. Sends a <code>GET</code> request to <code>/products</code> with no request body or query parameters. This endpoint provides supporting product data that can be referenced when categorizing or recording expenses.</p>\n","urlObject":{"query":[],"variable":[]}},"response":[{"id":"dd0c9eda-c219-4179-a5ce-6453d3d9044e","name":"GET PRODUCTS","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"{{json_web_token}}","type":"text"}],"url":"http://localhost:8080/products"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"66"},{"key":"ETag","value":"W/\"42-RptUmczXGU9lxa3M8KYzQgOunNc\""},{"key":"Date","value":"Fri, 04 Sep 2026 03:36:06 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"name\": \"T.V\",\n        \"price\": \"50000\"\n    },\n    {\n        \"name\": \"Fridge\",\n        \"price\": \"20000\"\n    }\n]"}],"_postman_id":"9e1a1453-cae7-4c54-9ae8-ed1a9a1d7e87"}],"id":"97f22d18-1584-42bc-9649-37f06da921f7","description":"<p>Provides supporting product data used within the Expense Tracker application.</p>\n<p>This folder contains:</p>\n<ul>\n<li><strong>GET PRODUCTS</strong> – Fetches the list of available products that can be referenced when creating or categorizing expense entries.</li>\n</ul>\n","_postman_id":"97f22d18-1584-42bc-9649-37f06da921f7"}],"variable":[{"id":"5f8e9a1b-044a-4776-bd8c-00ccd962ab90","key":"json_web_token_094c"}]}