{"info":{"_postman_id":"f3c37532-9308-49fc-bb43-7d2c19f5f978","name":"MoneyMentor-Finance Tracking & Analytics","description":"<html><head></head><body><p>A comprehensive personal finance management platform that enables users to track income and expenses, analyze spending patterns, monitor savings goals, and gain AI-powered financial insights through an intuitive dashboard.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"43514147","collectionId":"f3c37532-9308-49fc-bb43-7d2c19f5f978","publishedId":"2sBXcHhdsu","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2026-02-27T10:19:11.000Z"},"item":[{"name":"Income-Expence Tracker","item":[{"name":"Create Transaction","id":"45cad56b-1a23-4aa6-aa84-5ce60e75b548","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"type\": \"income\",\r\n  \"amount\": 15000,\r\n  \"category\": \"Salary\",\r\n  \"description\": \"Monthly salary\",\r\n  \"date\": \"2026-02-01\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:5085/api/transactions","urlObject":{"protocol":"http","port":"5085","path":["api","transactions"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"1cb63af0-f4b8-4084-8d25-878ca2ec80cc","name":"201 Success","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"type\": \"income\",\r\n  \"amount\": 15000,\r\n  \"category\": \"Salary\",\r\n  \"description\": \"Monthly salary\",\r\n  \"date\": \"2026-02-01\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/transactions"},"status":"Created","code":201,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"341"},{"key":"ETag","value":"W/\"155-OUHWP3nFhAiWYHHaEIxEXlX3f/I\""},{"key":"Date","value":"Tue, 24 Feb 2026 05:27:27 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Transaction created successfully\",\n    \"data\": {\n        \"userId\": \"699cfd55faff45670c985aba\",\n        \"type\": \"income\",\n        \"amount\": 15000,\n        \"category\": \"Salary\",\n        \"description\": \"Monthly salary\",\n        \"date\": \"2026-02-01T00:00:00.000Z\",\n        \"_id\": \"699d36bfc3958660ddc39f7f\",\n        \"createdAt\": \"2026-02-24T05:27:27.189Z\",\n        \"updatedAt\": \"2026-02-24T05:27:27.189Z\",\n        \"__v\": 0\n    }\n}"},{"id":"ae143e1f-04a2-42b1-a971-1b14d5dd252d","name":"400 Invalid Amount","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"type\": \"income\",\r\n  \"amount\": -500,\r\n  \"category\": \"Salary\",\r\n  \"date\": \"2026-02-01\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/transactions"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"122"},{"key":"ETag","value":"W/\"7a-OzES11vSbZyAt3AWczKsegcRi1k\""},{"key":"Date","value":"Tue, 24 Feb 2026 05:20:34 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"validation failed\",\n    \"errors\": [\n        {\n            \"field\": \"amount\",\n            \"message\": \"Amount must be a positive number\"\n        }\n    ]\n}"},{"id":"378b4c7d-4a2c-422e-b342-2bcced0e0be1","name":"400 Invalid Date (Future Month)","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"type\": \"expense\",\r\n    \"amount\": 500,\r\n    \"category\": \"Food\",\r\n    \"description\": \"March groceries\",\r\n    \"date\": \"2026-03-01\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:5085/api/transactions"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"139"},{"key":"ETag","value":"W/\"8b-FqINWn9h26E2Ke7T+GiXDdHl/AU\""},{"key":"Date","value":"Fri, 27 Feb 2026 09:41:34 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"validation failed\",\n    \"errors\": [\n        {\n            \"field\": \"date\",\n            \"message\": \"Transaction date cannot be beyond the current month\"\n        }\n    ]\n}"},{"id":"00505fc6-66fb-46bf-86c2-c84edcf1b67f","name":"401 Unauthorized","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"type\": \"income\",\r\n  \"amount\": 15000,\r\n  \"category\": \"Salary\",\r\n  \"date\": \"2026-02-01\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/transactions"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"63"},{"key":"ETag","value":"W/\"3f-TeIfaERlGGGdR7v0qsUeYoXNDrQ\""},{"key":"Date","value":"Tue, 24 Feb 2026 05:23:19 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"Not authorized, no token provided\"\n}"}],"_postman_id":"45cad56b-1a23-4aa6-aa84-5ce60e75b548"},{"name":"Get All Transactions","id":"9e8715a7-5551-4d76-a884-0e8e5b3834c8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"http://localhost:5085/api/transactions","urlObject":{"protocol":"http","port":"5085","path":["api","transactions"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"3abae5a4-74a0-4211-9616-214e38f37b8a","name":"200 Success","originalRequest":{"method":"GET","header":[],"url":"{{base_url}}/api/transactions"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"1779"},{"key":"ETag","value":"W/\"6f3-Cwua81wNBcYC8fmBWNVJ/IHgvLM\""},{"key":"Date","value":"Tue, 24 Feb 2026 05:34:02 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Transactions retrieved successfully\",\n    \"data\": [\n        {\n            \"_id\": \"699d37d3c3958660ddc39f8b\",\n            \"userId\": \"699cfd55faff45670c985aba\",\n            \"type\": \"expense\",\n            \"amount\": 2000,\n            \"category\": \"Utilities\",\n            \"description\": \"Electricity bill\",\n            \"date\": \"2026-02-20T00:00:00.000Z\",\n            \"createdAt\": \"2026-02-24T05:32:03.203Z\",\n            \"updatedAt\": \"2026-02-24T05:32:03.203Z\",\n            \"__v\": 0\n        },\n        {\n            \"_id\": \"699d37c5c3958660ddc39f88\",\n            \"userId\": \"699cfd55faff45670c985aba\",\n            \"type\": \"income\",\n            \"amount\": 5000,\n            \"category\": \"Freelance\",\n            \"description\": \"Web design project\",\n            \"date\": \"2026-02-15T00:00:00.000Z\",\n            \"createdAt\": \"2026-02-24T05:31:49.056Z\",\n            \"updatedAt\": \"2026-02-24T05:31:49.056Z\",\n            \"__v\": 0\n        },\n        {\n            \"_id\": \"699d37b5c3958660ddc39f85\",\n            \"userId\": \"699cfd55faff45670c985aba\",\n            \"type\": \"expense\",\n            \"amount\": 1500,\n            \"category\": \"Transport\",\n            \"description\": \"Bus pass\",\n            \"date\": \"2026-02-10T00:00:00.000Z\",\n            \"createdAt\": \"2026-02-24T05:31:33.958Z\",\n            \"updatedAt\": \"2026-02-24T05:31:33.958Z\",\n            \"__v\": 0\n        },\n        {\n            \"_id\": \"699d37a5c3958660ddc39f82\",\n            \"userId\": \"699cfd55faff45670c985aba\",\n            \"type\": \"expense\",\n            \"amount\": 3000,\n            \"category\": \"Food\",\n            \"description\": \"Grocery shopping\",\n            \"date\": \"2026-02-05T00:00:00.000Z\",\n            \"createdAt\": \"2026-02-24T05:31:17.450Z\",\n            \"updatedAt\": \"2026-02-24T05:31:17.450Z\",\n            \"__v\": 0\n        },\n        {\n            \"_id\": \"699d3498c3958660ddc39f7b\",\n            \"userId\": \"699cfd55faff45670c985aba\",\n            \"type\": \"income\",\n            \"amount\": 15000,\n            \"category\": \"Salary\",\n            \"description\": \"Monthly salary\",\n            \"date\": \"2026-02-01T00:00:00.000Z\",\n            \"createdAt\": \"2026-02-24T05:18:16.952Z\",\n            \"updatedAt\": \"2026-02-24T05:18:16.952Z\",\n            \"__v\": 0\n        },\n        {\n            \"_id\": \"699d36bfc3958660ddc39f7f\",\n            \"userId\": \"699cfd55faff45670c985aba\",\n            \"type\": \"income\",\n            \"amount\": 15000,\n            \"category\": \"Salary\",\n            \"description\": \"Monthly salary\",\n            \"date\": \"2026-02-01T00:00:00.000Z\",\n            \"createdAt\": \"2026-02-24T05:27:27.189Z\",\n            \"updatedAt\": \"2026-02-24T05:27:27.189Z\",\n            \"__v\": 0\n        }\n    ],\n    \"pagination\": {\n        \"total\": 6,\n        \"page\": 1,\n        \"limit\": 10,\n        \"totalPages\": 1\n    }\n}"},{"id":"a7bc04d9-998f-497b-8900-8575ee3614d5","name":"400 Invalid Page","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/transactions?page=-1","host":["{{base_url}}"],"path":["api","transactions"],"query":[{"key":"page","value":"-1"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"119"},{"key":"ETag","value":"W/\"77-H8tTk8tSor0Z5p6xBmkkC/4afeY\""},{"key":"Date","value":"Wed, 25 Feb 2026 01:00:26 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"validation failed\",\n    \"errors\": [\n        {\n            \"field\": \"page\",\n            \"message\": \"Page must be a positive integer\"\n        }\n    ]\n}"},{"id":"fb2b21d7-5a82-4e29-a174-4dc5c666fd04","name":"401 Unauthorized","originalRequest":{"method":"GET","header":[],"url":"{{base_url}}/api/transactions"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"63"},{"key":"ETag","value":"W/\"3f-TeIfaERlGGGdR7v0qsUeYoXNDrQ\""},{"key":"Date","value":"Tue, 24 Feb 2026 05:41:42 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"Not authorized, no token provided\"\n}"}],"_postman_id":"9e8715a7-5551-4d76-a884-0e8e5b3834c8"},{"name":"Filter by type","id":"e68ab697-d6d5-4f92-9f0b-ba4e8c267716","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"http://localhost:5085/api/transactions?type=expense","urlObject":{"protocol":"http","port":"5085","path":["api","transactions"],"host":["localhost"],"query":[{"key":"type","value":"expense"}],"variable":[]}},"response":[{"id":"a5fa3287-8557-4a87-b929-267d5a7c3f4b","name":"200 Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/transactions?type=expense","host":["{{base_url}}"],"path":["api","transactions"],"query":[{"key":"type","value":"expense"}]}},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"954"},{"key":"ETag","value":"W/\"3ba-iMIFpHM6p2yoqu266gbZlHRwmLs\""},{"key":"Date","value":"Tue, 24 Feb 2026 05:46:12 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Transactions retrieved successfully\",\n    \"data\": [\n        {\n            \"_id\": \"699d37d3c3958660ddc39f8b\",\n            \"userId\": \"699cfd55faff45670c985aba\",\n            \"type\": \"expense\",\n            \"amount\": 2000,\n            \"category\": \"Utilities\",\n            \"description\": \"Electricity bill\",\n            \"date\": \"2026-02-20T00:00:00.000Z\",\n            \"createdAt\": \"2026-02-24T05:32:03.203Z\",\n            \"updatedAt\": \"2026-02-24T05:32:03.203Z\",\n            \"__v\": 0\n        },\n        {\n            \"_id\": \"699d37b5c3958660ddc39f85\",\n            \"userId\": \"699cfd55faff45670c985aba\",\n            \"type\": \"expense\",\n            \"amount\": 1500,\n            \"category\": \"Transport\",\n            \"description\": \"Bus pass\",\n            \"date\": \"2026-02-10T00:00:00.000Z\",\n            \"createdAt\": \"2026-02-24T05:31:33.958Z\",\n            \"updatedAt\": \"2026-02-24T05:31:33.958Z\",\n            \"__v\": 0\n        },\n        {\n            \"_id\": \"699d37a5c3958660ddc39f82\",\n            \"userId\": \"699cfd55faff45670c985aba\",\n            \"type\": \"expense\",\n            \"amount\": 3000,\n            \"category\": \"Food\",\n            \"description\": \"Grocery shopping\",\n            \"date\": \"2026-02-05T00:00:00.000Z\",\n            \"createdAt\": \"2026-02-24T05:31:17.450Z\",\n            \"updatedAt\": \"2026-02-24T05:31:17.450Z\",\n            \"__v\": 0\n        }\n    ],\n    \"pagination\": {\n        \"total\": 3,\n        \"page\": 1,\n        \"limit\": 10,\n        \"totalPages\": 1\n    }\n}"},{"id":"66135b35-3e16-4ff5-9c15-72f48d3c61cc","name":"400 Invalid Type","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/transactions?type=invalid","host":["{{base_url}}"],"path":["api","transactions"],"query":[{"key":"type","value":"invalid"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"122"},{"key":"ETag","value":"W/\"7a-qlzBGd5HidYEK3EUD43FdDz4oEY\""},{"key":"Date","value":"Wed, 25 Feb 2026 00:56:44 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"validation failed\",\n    \"errors\": [\n        {\n            \"field\": \"type\",\n            \"message\": \"Type must be 'income' or 'expense'\"\n        }\n    ]\n}"},{"id":"09287b07-31c1-413b-a223-9a235b9b83a9","name":"401 Unauthorized","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/transactions?type=expense","host":["{{base_url}}"],"path":["api","transactions"],"query":[{"key":"type","value":"expense"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"63"},{"key":"ETag","value":"W/\"3f-TeIfaERlGGGdR7v0qsUeYoXNDrQ\""},{"key":"Date","value":"Wed, 25 Feb 2026 01:15:44 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"Not authorized, no token provided\"\n}"}],"_postman_id":"e68ab697-d6d5-4f92-9f0b-ba4e8c267716"},{"name":"Filter by month","id":"c08666c8-f699-4bd3-bf71-7310e9a6a40c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"http://localhost:5085/api/transactions?month=2026-01","urlObject":{"protocol":"http","port":"5085","path":["api","transactions"],"host":["localhost"],"query":[{"key":"month","value":"2026-01"}],"variable":[]}},"response":[{"id":"f6067b58-36f7-4154-b541-df8bc5071c6a","name":"200 Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/transactions?month=2026-01","host":["{{base_url}}"],"path":["api","transactions"],"query":[{"key":"month","value":"2026-01"}]}},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"675"},{"key":"ETag","value":"W/\"2a3-NWTzfIyn6nwkeiYZjGkLRwVIan8\""},{"key":"Date","value":"Tue, 24 Feb 2026 06:19:37 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Transactions retrieved successfully\",\n    \"data\": [\n        {\n            \"_id\": \"699d42a324b841ff46a82ec9\",\n            \"userId\": \"699cfd55faff45670c985aba\",\n            \"type\": \"expense\",\n            \"amount\": 2500,\n            \"category\": \"Rent\",\n            \"description\": \"January rent\",\n            \"date\": \"2026-01-05T00:00:00.000Z\",\n            \"createdAt\": \"2026-02-24T06:18:11.332Z\",\n            \"updatedAt\": \"2026-02-24T06:18:11.332Z\",\n            \"__v\": 0\n        },\n        {\n            \"_id\": \"699d42b024b841ff46a82ecc\",\n            \"userId\": \"699cfd55faff45670c985aba\",\n            \"type\": \"income\",\n            \"amount\": 12000,\n            \"category\": \"Salary\",\n            \"description\": \"January salary\",\n            \"date\": \"2026-01-01T00:00:00.000Z\",\n            \"createdAt\": \"2026-02-24T06:18:24.571Z\",\n            \"updatedAt\": \"2026-02-24T06:18:24.571Z\",\n            \"__v\": 0\n        }\n    ],\n    \"pagination\": {\n        \"total\": 2,\n        \"page\": 1,\n        \"limit\": 10,\n        \"totalPages\": 1\n    }\n}"},{"id":"cfa66ce2-ed91-4a32-b813-c85275e90b07","name":"400 Invalid Month","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/transactions?month=2026-13","host":["{{base_url}}"],"path":["api","transactions"],"query":[{"key":"month","value":"2026-13"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"120"},{"key":"ETag","value":"W/\"78-1pRB4sb37izBRaNIxZoT6Q7cXsw\""},{"key":"Date","value":"Wed, 25 Feb 2026 08:10:42 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"validation failed\",\n    \"errors\": [\n        {\n            \"field\": \"month\",\n            \"message\": \"Month must be between 01 and 12\"\n        }\n    ]\n}"},{"id":"d9ab0f61-618a-405c-bd06-62b9409596d1","name":"400 Invalid Month Format","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/transactions?month=2026-002","host":["{{base_url}}"],"path":["api","transactions"],"query":[{"key":"month","value":"2026-002"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"120"},{"key":"ETag","value":"W/\"78-Zuim4nw74Bs0AX2pv8wjqcBD/lU\""},{"key":"Date","value":"Wed, 25 Feb 2026 08:11:46 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"validation failed\",\n    \"errors\": [\n        {\n            \"field\": \"month\",\n            \"message\": \"Month must be in YYYY-MM format\"\n        }\n    ]\n}"},{"id":"9a6788c4-39dc-42d6-923c-cdc90fcd4387","name":"401 Unauthorized","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/transactions?month=2026-01","host":["{{base_url}}"],"path":["api","transactions"],"query":[{"key":"month","value":"2026-01"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"63"},{"key":"ETag","value":"W/\"3f-TeIfaERlGGGdR7v0qsUeYoXNDrQ\""},{"key":"Date","value":"Wed, 25 Feb 2026 02:13:18 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"Not authorized, no token provided\"\n}"}],"_postman_id":"c08666c8-f699-4bd3-bf71-7310e9a6a40c"},{"name":"Filter by year","id":"a913f4bb-5c20-4c45-9875-43407de1a60b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"http://localhost:5085/api/transactions?year=2025","urlObject":{"protocol":"http","port":"5085","path":["api","transactions"],"host":["localhost"],"query":[{"key":"year","value":"2025"}],"variable":[]}},"response":[{"id":"eb7c3645-e56e-40aa-ae60-a857cae21bc7","name":"200 Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/transactions?year=2025","host":["{{base_url}}"],"path":["api","transactions"],"query":[{"key":"year","value":"2025"}]}},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"414"},{"key":"ETag","value":"W/\"19e-RGg0Km2xTJ56Uix3K3NanDWv71I\""},{"key":"Date","value":"Tue, 24 Feb 2026 06:26:25 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Transactions retrieved successfully\",\n    \"data\": [\n        {\n            \"_id\": \"699d447a24b841ff46a82ee1\",\n            \"userId\": \"699cfd55faff45670c985aba\",\n            \"type\": \"income\",\n            \"amount\": 20000,\n            \"category\": \"Education\",\n            \"description\": \"Online Course- JAVA\",\n            \"date\": \"2025-07-01T00:00:00.000Z\",\n            \"createdAt\": \"2026-02-24T06:26:02.916Z\",\n            \"updatedAt\": \"2026-02-24T06:26:02.916Z\",\n            \"__v\": 0\n        }\n    ],\n    \"pagination\": {\n        \"total\": 1,\n        \"page\": 1,\n        \"limit\": 10,\n        \"totalPages\": 1\n    }\n}"},{"id":"5f636b08-9dd4-406a-975b-a8efb9b446b8","name":"400 Invalid Year Fromat","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/transactions?year=20251","host":["{{base_url}}"],"path":["api","transactions"],"query":[{"key":"year","value":"20251"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"115"},{"key":"ETag","value":"W/\"73-V4EHhdPECfreCnbEkDinRUBmaNs\""},{"key":"Date","value":"Wed, 25 Feb 2026 01:16:43 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"validation failed\",\n    \"errors\": [\n        {\n            \"field\": \"year\",\n            \"message\": \"Year must be in YYYY format\"\n        }\n    ]\n}"},{"id":"562157bc-4d04-4042-9451-5266af006109","name":"400 Invalid Year","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/transactions?year=3025","host":["{{base_url}}"],"path":["api","transactions"],"query":[{"key":"year","value":"3025"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"122"},{"key":"ETag","value":"W/\"7a-O5Q6wznJM9bmB8YrUGE3gals0Yg\""},{"key":"Date","value":"Wed, 25 Feb 2026 08:12:41 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"validation failed\",\n    \"errors\": [\n        {\n            \"field\": \"year\",\n            \"message\": \"Year must be between 1900 and 2100\"\n        }\n    ]\n}"},{"id":"1479a9ec-d24d-4b50-9bd4-26e6449ea5f5","name":"401 Unauthorized","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/transactions?year=2025","host":["{{base_url}}"],"path":["api","transactions"],"query":[{"key":"year","value":"2025"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"63"},{"key":"ETag","value":"W/\"3f-TeIfaERlGGGdR7v0qsUeYoXNDrQ\""},{"key":"Date","value":"Wed, 25 Feb 2026 01:17:43 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"Not authorized, no token provided\"\n}"}],"_postman_id":"a913f4bb-5c20-4c45-9875-43407de1a60b"},{"name":"Filter by exact date","id":"94b7eb40-81fe-4cd4-aec8-5248a0f04b5c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"http://localhost:5085/api/transactions?date=2026-03-10","urlObject":{"protocol":"http","port":"5085","path":["api","transactions"],"host":["localhost"],"query":[{"key":"date","value":"2026-03-10"}],"variable":[]}},"response":[{"id":"1f413154-a88b-4121-9a7f-5e33862f77cb","name":"200 Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/transactions?date=2026-03-10","host":["{{base_url}}"],"path":["api","transactions"],"query":[{"key":"date","value":"2026-03-10"}]}},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"404"},{"key":"ETag","value":"W/\"194-0/O/JqNX2CH7fUudE08jSBTM6xE\""},{"key":"Date","value":"Tue, 24 Feb 2026 06:28:46 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Transactions retrieved successfully\",\n    \"data\": [\n        {\n            \"_id\": \"699d42be24b841ff46a82ecf\",\n            \"userId\": \"699cfd55faff45670c985aba\",\n            \"type\": \"expense\",\n            \"amount\": 800,\n            \"category\": \"Food\",\n            \"description\": \"March groceries\",\n            \"date\": \"2026-03-10T00:00:00.000Z\",\n            \"createdAt\": \"2026-02-24T06:18:38.770Z\",\n            \"updatedAt\": \"2026-02-24T06:18:38.770Z\",\n            \"__v\": 0\n        }\n    ],\n    \"pagination\": {\n        \"total\": 1,\n        \"page\": 1,\n        \"limit\": 10,\n        \"totalPages\": 1\n    }\n}"},{"id":"0b7dbbb2-992e-4412-8892-8048fab2f283","name":"400 Invalid Date Value","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/transactions?date=2026-03-40","host":["{{base_url}}"],"path":["api","transactions"],"query":[{"key":"date","value":"2026-03-40"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"126"},{"key":"ETag","value":"W/\"7e-HpqIw/QYrKjVrx4mgmKmmUv45J4\""},{"key":"Date","value":"Wed, 25 Feb 2026 02:09:03 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"validation failed\",\n    \"errors\": [\n        {\n            \"field\": \"date\",\n            \"message\": \"Date must be a valid date (YYYY-MM-DD)\"\n        }\n    ]\n}"},{"id":"5334d6b0-36bc-4e96-96e5-9db7b7d3211f","name":"400 Invalid Data","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/transactions?date=2026-02-29","host":["{{base_url}}"],"path":["api","transactions"],"query":[{"key":"date","value":"2026-02-29"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"148"},{"key":"ETag","value":"W/\"94-EoUU5sluEWKLNPPF3DDRf2LJ0UY\""},{"key":"Date","value":"Wed, 25 Feb 2026 08:15:24 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"validation failed\",\n    \"errors\": [\n        {\n            \"field\": \"date\",\n            \"message\": \"Date does not exist in the calendar (e.g. Feb 30 is invalid)\"\n        }\n    ]\n}"},{"id":"966ad243-943e-4f79-b286-4f353ad80d2e","name":"400 Invalid Date Format","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/transactions?date=2026-02-001","host":["{{base_url}}"],"path":["api","transactions"],"query":[{"key":"date","value":"2026-02-001"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"216"},{"key":"ETag","value":"W/\"d8-dYBvh+qlFmYJfgxEsSbfBfM3i9Q\""},{"key":"Date","value":"Wed, 25 Feb 2026 08:16:04 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"validation failed\",\n    \"errors\": [\n        {\n            \"field\": \"date\",\n            \"message\": \"Date must be a valid date (YYYY-MM-DD)\"\n        },\n        {\n            \"field\": \"date\",\n            \"message\": \"Date does not exist in the calendar (e.g. Feb 30 is invalid)\"\n        }\n    ]\n}"},{"id":"c096d059-d1b6-49a6-b30b-358c20c489e1","name":"401 Unauthorized","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/transactions?date=2026-03-10","host":["{{base_url}}"],"path":["api","transactions"],"query":[{"key":"date","value":"2026-03-10"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"63"},{"key":"ETag","value":"W/\"3f-TeIfaERlGGGdR7v0qsUeYoXNDrQ\""},{"key":"Date","value":"Wed, 25 Feb 2026 02:12:12 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"Not authorized, no token provided\"\n}"}],"_postman_id":"94b7eb40-81fe-4cd4-aec8-5248a0f04b5c"},{"name":"Filter by type + month","id":"f702f76b-9323-4ecf-b3a1-88385fc69886","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"http://localhost:5085/api/transactions?type=expense&month=2026-02","urlObject":{"protocol":"http","port":"5085","path":["api","transactions"],"host":["localhost"],"query":[{"key":"type","value":"expense"},{"key":"month","value":"2026-02"}],"variable":[]}},"response":[{"id":"eb4a3be9-60a3-4ddf-8b24-c9c4a2d273bd","name":"200 Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/transactions?type=expense&month=2026-02","host":["{{base_url}}"],"path":["api","transactions"],"query":[{"key":"type","value":"expense"},{"key":"month","value":"2026-02"}]}},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"954"},{"key":"ETag","value":"W/\"3ba-iMIFpHM6p2yoqu266gbZlHRwmLs\""},{"key":"Date","value":"Tue, 24 Feb 2026 06:34:57 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Transactions retrieved successfully\",\n    \"data\": [\n        {\n            \"_id\": \"699d37d3c3958660ddc39f8b\",\n            \"userId\": \"699cfd55faff45670c985aba\",\n            \"type\": \"expense\",\n            \"amount\": 2000,\n            \"category\": \"Utilities\",\n            \"description\": \"Electricity bill\",\n            \"date\": \"2026-02-20T00:00:00.000Z\",\n            \"createdAt\": \"2026-02-24T05:32:03.203Z\",\n            \"updatedAt\": \"2026-02-24T05:32:03.203Z\",\n            \"__v\": 0\n        },\n        {\n            \"_id\": \"699d37b5c3958660ddc39f85\",\n            \"userId\": \"699cfd55faff45670c985aba\",\n            \"type\": \"expense\",\n            \"amount\": 1500,\n            \"category\": \"Transport\",\n            \"description\": \"Bus pass\",\n            \"date\": \"2026-02-10T00:00:00.000Z\",\n            \"createdAt\": \"2026-02-24T05:31:33.958Z\",\n            \"updatedAt\": \"2026-02-24T05:31:33.958Z\",\n            \"__v\": 0\n        },\n        {\n            \"_id\": \"699d37a5c3958660ddc39f82\",\n            \"userId\": \"699cfd55faff45670c985aba\",\n            \"type\": \"expense\",\n            \"amount\": 3000,\n            \"category\": \"Food\",\n            \"description\": \"Grocery shopping\",\n            \"date\": \"2026-02-05T00:00:00.000Z\",\n            \"createdAt\": \"2026-02-24T05:31:17.450Z\",\n            \"updatedAt\": \"2026-02-24T05:31:17.450Z\",\n            \"__v\": 0\n        }\n    ],\n    \"pagination\": {\n        \"total\": 3,\n        \"page\": 1,\n        \"limit\": 10,\n        \"totalPages\": 1\n    }\n}"},{"id":"0217e92d-df79-4528-a70c-8e5f3cd89b75","name":"401 Unauthorized","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/transactions?type=expense&month=2026-02","host":["{{base_url}}"],"path":["api","transactions"],"query":[{"key":"type","value":"expense"},{"key":"month","value":"2026-02"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"63"},{"key":"ETag","value":"W/\"3f-TeIfaERlGGGdR7v0qsUeYoXNDrQ\""},{"key":"Date","value":"Wed, 25 Feb 2026 01:19:04 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"Not authorized, no token provided\"\n}"}],"_postman_id":"f702f76b-9323-4ecf-b3a1-88385fc69886"},{"name":"Get Transaction by ID","id":"39537ef7-18ea-468f-a383-0075f7034dbd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"http://localhost:5085/api/transactions/699d3498c3958660ddc39f7b","urlObject":{"protocol":"http","port":"5085","path":["api","transactions","699d3498c3958660ddc39f7b"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"6f53b17c-5b03-485f-8866-642fe9b079f1","name":"200 Success","originalRequest":{"method":"GET","header":[],"url":"{{base_url}}/api/transactions/699d3498c3958660ddc39f7b"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"343"},{"key":"ETag","value":"W/\"157-sECm0macLPXcIKX2SrErZ9hH6a0\""},{"key":"Date","value":"Wed, 25 Feb 2026 01:10:05 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Transaction retrieved successfully\",\n    \"data\": {\n        \"_id\": \"699d3498c3958660ddc39f7b\",\n        \"userId\": \"699cfd55faff45670c985aba\",\n        \"type\": \"income\",\n        \"amount\": 15000,\n        \"category\": \"Salary\",\n        \"description\": \"Monthly salary\",\n        \"date\": \"2026-02-01T00:00:00.000Z\",\n        \"createdAt\": \"2026-02-24T05:18:16.952Z\",\n        \"updatedAt\": \"2026-02-24T05:18:16.952Z\",\n        \"__v\": 0\n    }\n}"},{"id":"c5c523f5-5d2a-49bd-8601-d350e67254a8","name":"401 Unauthorized","originalRequest":{"method":"GET","header":[],"url":"{{base_url}}/api/transactions/699d3498c3958660ddc39f7b"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"63"},{"key":"ETag","value":"W/\"3f-TeIfaERlGGGdR7v0qsUeYoXNDrQ\""},{"key":"Date","value":"Wed, 25 Feb 2026 01:12:51 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"Not authorized, no token provided\"\n}"},{"id":"c9771ca1-2dfd-4bad-8f35-a5459700a256","name":"404 Not Found","originalRequest":{"method":"GET","header":[],"url":"{{base_url}}/api/transactions/699d3498c3958660ddc39f00"},"status":"Not Found","code":404,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"51"},{"key":"ETag","value":"W/\"33-ZdzCv2IPLABKMQLUVIj1EOFqdLo\""},{"key":"Date","value":"Wed, 25 Feb 2026 01:11:32 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"Transaction not found\"\n}"}],"_postman_id":"39537ef7-18ea-468f-a383-0075f7034dbd"},{"name":"Update Transaction","id":"99f4e1f6-ff67-45ea-b13a-72e61240ca5c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n  \"amount\": 20000,\r\n  \"description\": \"Updated monthly salary\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:5085/api/transactions/699d3498c3958660ddc39f7b","urlObject":{"protocol":"http","port":"5085","path":["api","transactions","699d3498c3958660ddc39f7b"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"673cb1f3-8e56-4335-b482-2204bbe7a44f","name":"200 Success","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n  \"amount\": 20000,\r\n  \"description\": \"Updated monthly salary\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/transactions/699d3498c3958660ddc39f7b"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"349"},{"key":"ETag","value":"W/\"15d-Q5ClwSuvDMNDrE9z4T4t0jvkjo0\""},{"key":"Date","value":"Wed, 25 Feb 2026 08:19:47 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Transaction updated successfully\",\n    \"data\": {\n        \"_id\": \"699d3498c3958660ddc39f7b\",\n        \"userId\": \"699cfd55faff45670c985aba\",\n        \"type\": \"income\",\n        \"amount\": 20000,\n        \"category\": \"Salary\",\n        \"description\": \"Updated monthly salary\",\n        \"date\": \"2026-02-01T00:00:00.000Z\",\n        \"createdAt\": \"2026-02-24T05:18:16.952Z\",\n        \"updatedAt\": \"2026-02-25T08:19:47.173Z\",\n        \"__v\": 0\n    }\n}"},{"id":"b9f1bf0f-a520-4dd8-aa70-aeb3a720359f","name":"400 Validation Error","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n  \"amount\": -500\r\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/transactions/699d3498c3958660ddc39f7b"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"122"},{"key":"ETag","value":"W/\"7a-OzES11vSbZyAt3AWczKsegcRi1k\""},{"key":"Date","value":"Wed, 25 Feb 2026 08:21:05 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"validation failed\",\n    \"errors\": [\n        {\n            \"field\": \"amount\",\n            \"message\": \"Amount must be a positive number\"\n        }\n    ]\n}"},{"id":"38c56ce0-fb2a-450a-b1b2-29e98102c6e3","name":"401 Unauthorized","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n  \"amount\": 20000,\r\n  \"description\": \"Updated monthly salary\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/transactions/699d3498c3958660ddc39f7b"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"63"},{"key":"ETag","value":"W/\"3f-TeIfaERlGGGdR7v0qsUeYoXNDrQ\""},{"key":"Date","value":"Wed, 25 Feb 2026 08:23:24 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"Not authorized, no token provided\"\n}"},{"id":"4ba3f9f6-8263-4b03-8c2b-eec85ccb77b5","name":"404 Not Found","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n  \"amount\": 20000,\r\n  \"description\": \"Updated monthly salary\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/transactions/699d3498c3958660ddc39f00"},"status":"Not Found","code":404,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"51"},{"key":"ETag","value":"W/\"33-ZdzCv2IPLABKMQLUVIj1EOFqdLo\""},{"key":"Date","value":"Wed, 25 Feb 2026 08:22:23 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"Transaction not found\"\n}"}],"_postman_id":"99f4e1f6-ff67-45ea-b13a-72e61240ca5c"},{"name":"Delete Transaction","id":"8ce216d9-e3ba-4b44-9402-cfbf515549b0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"DELETE","header":[],"url":"http://localhost:5085/api/transactions/699d37d3c3958660ddc39f8b","urlObject":{"protocol":"http","port":"5085","path":["api","transactions","699d37d3c3958660ddc39f8b"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"d76f800d-6879-429b-80f3-71a825a936ed","name":"200 Success","originalRequest":{"method":"DELETE","header":[],"url":"{{base_url}}/api/transactions/699d37d3c3958660ddc39f8b"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"61"},{"key":"ETag","value":"W/\"3d-jOtpOaHP9FbxZeYtqJGrcfMHR/o\""},{"key":"Date","value":"Wed, 25 Feb 2026 08:28:44 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Transaction deleted successfully\"\n}"},{"id":"bd45622a-fc3d-49b9-89b8-f7dfd4872176","name":"401 Unauthorized","originalRequest":{"method":"DELETE","header":[],"url":"{{base_url}}/api/transactions/699d37d3c3958660ddc39f8b"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"63"},{"key":"ETag","value":"W/\"3f-TeIfaERlGGGdR7v0qsUeYoXNDrQ\""},{"key":"Date","value":"Wed, 25 Feb 2026 08:29:26 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"Not authorized, no token provided\"\n}"},{"id":"7b795c53-d8cc-41b7-bbe4-56ea688a6597","name":"404 Not Found","originalRequest":{"method":"DELETE","header":[],"url":"{{base_url}}/api/transactions/699d37d3c3958660ddc39f8b"},"status":"Not Found","code":404,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"51"},{"key":"ETag","value":"W/\"33-ZdzCv2IPLABKMQLUVIj1EOFqdLo\""},{"key":"Date","value":"Wed, 25 Feb 2026 08:30:40 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"Transaction not found\"\n}"}],"_postman_id":"8ce216d9-e3ba-4b44-9402-cfbf515549b0"}],"id":"b6d63018-9040-4ac6-a2ec-a32fdc339830","description":"<p>A full-featured transaction management module that allows users to create, read, update, and delete financial transactions, with powerful filtering options by type, month, year, and exact date.</p>\n","_postman_id":"b6d63018-9040-4ac6-a2ec-a32fdc339830"},{"name":"Dashboard","item":[{"name":"Get Dashboard Summary","id":"bcd1e99c-39b9-4456-9941-e432bcaa1a47","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"http://localhost:5085/api/dashboard/summary","urlObject":{"protocol":"http","port":"5085","path":["api","dashboard","summary"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"105c0cd0-ba2b-4ba1-beaa-fe0a86defd2a","name":"200 Success","originalRequest":{"method":"GET","header":[],"url":"{{base_url}}/api/dashboard/summary"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"226"},{"key":"ETag","value":"W/\"e2-Epod64mYH6LPhGcFDY3w/wLc3do\""},{"key":"Date","value":"Thu, 26 Feb 2026 07:22:47 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Dashboard summary retrieved successfully\",\n    \"data\": {\n        \"period\": \"2026-02\",\n        \"totalIncome\": 40000,\n        \"totalExpense\": 4500,\n        \"netSavings\": 35500,\n        \"savingsRate\": 88.75,\n        \"financialHealthScore\": 100,\n        \"spendingWarning\": null\n    }\n}"},{"id":"2e1265b8-c705-4ab4-bcd1-fedd899458c6","name":"400 Invalid Month","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/dashboard/summary?month=2026-00","host":["{{base_url}}"],"path":["api","dashboard","summary"],"query":[{"key":"month","value":"2026-00"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"120"},{"key":"ETag","value":"W/\"78-1pRB4sb37izBRaNIxZoT6Q7cXsw\""},{"key":"Date","value":"Thu, 26 Feb 2026 07:28:49 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"validation failed\",\n    \"errors\": [\n        {\n            \"field\": \"month\",\n            \"message\": \"Month must be between 01 and 12\"\n        }\n    ]\n}"},{"id":"c73317e3-a116-4c76-8a1e-d081993ab7cd","name":"401 Unauthorized","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/dashboard/summary?month=2026-01","host":["{{base_url}}"],"path":["api","dashboard","summary"],"query":[{"key":"month","value":"2026-01"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"63"},{"key":"ETag","value":"W/\"3f-TeIfaERlGGGdR7v0qsUeYoXNDrQ\""},{"key":"Date","value":"Thu, 26 Feb 2026 07:29:47 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"Not authorized, no token provided\"\n}"}],"_postman_id":"bcd1e99c-39b9-4456-9941-e432bcaa1a47"},{"name":"Get Category Breakdown","id":"ac160954-80d7-4bd3-a840-f76a58b92c7c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"http://localhost:5085/api/dashboard/category-breakdown?month=2026-02&type=income","urlObject":{"protocol":"http","port":"5085","path":["api","dashboard","category-breakdown"],"host":["localhost"],"query":[{"key":"month","value":"2026-02"},{"key":"type","value":"income"}],"variable":[]}},"response":[{"id":"f8cb3c5e-fa4a-462c-87df-e2f7063a2bd9","name":"200 Income Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/dashboard/category-breakdown?month=2026-02&type=income","host":["{{base_url}}"],"path":["api","dashboard","category-breakdown"],"query":[{"key":"month","value":"2026-02"},{"key":"type","value":"income"}]}},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"258"},{"key":"ETag","value":"W/\"102-pX49VzWj+govMRzU4SOK2seELYM\""},{"key":"Date","value":"Thu, 26 Feb 2026 07:50:28 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Category breakdown retrieved successfully\",\n    \"data\": {\n        \"period\": \"2026-02\",\n        \"type\": \"income\",\n        \"breakdown\": [\n            {\n                \"total\": 35000,\n                \"count\": 2,\n                \"category\": \"Salary\",\n                \"percentage\": 87.5\n            },\n            {\n                \"total\": 5000,\n                \"count\": 1,\n                \"category\": \"Freelance\",\n                \"percentage\": 12.5\n            }\n        ]\n    }\n}"},{"id":"a4369dad-c26a-432a-becb-0cb2224884d4","name":"200 Expense Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/dashboard/category-breakdown?month=2026-02&type=expense","host":["{{base_url}}"],"path":["api","dashboard","category-breakdown"],"query":[{"key":"month","value":"2026-02"},{"key":"type","value":"expense"}]}},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"258"},{"key":"ETag","value":"W/\"102-HhY58Uh17YfGuUcufdGGvX3e0iw\""},{"key":"Date","value":"Thu, 26 Feb 2026 07:51:35 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Category breakdown retrieved successfully\",\n    \"data\": {\n        \"period\": \"2026-02\",\n        \"type\": \"expense\",\n        \"breakdown\": [\n            {\n                \"total\": 3000,\n                \"count\": 1,\n                \"category\": \"Food\",\n                \"percentage\": 66.67\n            },\n            {\n                \"total\": 1500,\n                \"count\": 1,\n                \"category\": \"Transport\",\n                \"percentage\": 33.33\n            }\n        ]\n    }\n}"},{"id":"2fd4eb29-db21-464a-8b64-c3d01fd845fd","name":"400 Invalid Type","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/dashboard/category-breakdown?month=2026-02&type=salary","host":["{{base_url}}"],"path":["api","dashboard","category-breakdown"],"query":[{"key":"month","value":"2026-02"},{"key":"type","value":"salary"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"122"},{"key":"ETag","value":"W/\"7a-qlzBGd5HidYEK3EUD43FdDz4oEY\""},{"key":"Date","value":"Thu, 26 Feb 2026 07:52:13 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"validation failed\",\n    \"errors\": [\n        {\n            \"field\": \"type\",\n            \"message\": \"Type must be 'income' or 'expense'\"\n        }\n    ]\n}"},{"id":"00abc0a0-aac1-4982-8d9b-0bce7b4fdcf6","name":"401 Unauthorized","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/dashboard/category-breakdown?month=2026-02&type=expense","host":["{{base_url}}"],"path":["api","dashboard","category-breakdown"],"query":[{"key":"month","value":"2026-02"},{"key":"type","value":"expense"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"63"},{"key":"ETag","value":"W/\"3f-TeIfaERlGGGdR7v0qsUeYoXNDrQ\""},{"key":"Date","value":"Thu, 26 Feb 2026 07:52:56 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"Not authorized, no token provided\"\n}"}],"_postman_id":"ac160954-80d7-4bd3-a840-f76a58b92c7c"},{"name":"Get Monthly Trends","id":"a2d98356-06d3-44f5-bde9-969617f83d0e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"http://localhost:5085/api/dashboard/trends","urlObject":{"protocol":"http","port":"5085","path":["api","dashboard","trends"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"e186ef6b-10b2-4626-9114-f5e402b95e76","name":"200 Success","originalRequest":{"method":"GET","header":[],"url":"{{base_url}}/api/dashboard/trends"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"269"},{"key":"ETag","value":"W/\"10d-pptXqlsG4EjM9YQGSSzeCoFI8DM\""},{"key":"Date","value":"Thu, 26 Feb 2026 07:59:14 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Monthly trends retrieved successfully\",\n    \"data\": [\n        {\n            \"month\": \"2026-01\",\n            \"income\": 12000,\n            \"expense\": 2500,\n            \"savings\": 9500\n        },\n        {\n            \"month\": \"2026-02\",\n            \"income\": 40000,\n            \"expense\": 4500,\n            \"savings\": 35500\n        },\n        {\n            \"month\": \"2026-03\",\n            \"income\": 3000,\n            \"expense\": 800,\n            \"savings\": 2200\n        }\n    ]\n}"},{"id":"08b06efd-f872-40eb-b5a6-cb3be02abf67","name":"401 Unauthorized","originalRequest":{"method":"GET","header":[],"url":"{{base_url}}/api/dashboard/trends"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"63"},{"key":"ETag","value":"W/\"3f-TeIfaERlGGGdR7v0qsUeYoXNDrQ\""},{"key":"Date","value":"Thu, 26 Feb 2026 07:59:52 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"Not authorized, no token provided\"\n}"}],"_postman_id":"a2d98356-06d3-44f5-bde9-969617f83d0e"},{"name":"Get Financial Insight","id":"c9079c40-aaf0-47e8-8d99-b3d5062a2341","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"http://localhost:5085/api/dashboard/insight","urlObject":{"protocol":"http","port":"5085","path":["api","dashboard","insight"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"19415d5f-7765-44bb-9045-aeb0b629338d","name":"200 Success","originalRequest":{"method":"GET","header":[],"url":"{{base_url}}/api/dashboard/insight"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"551"},{"key":"ETag","value":"W/\"227-ZZlJvm3D8CJiCZFRUMIg//duzPU\""},{"key":"Date","value":"Thu, 26 Feb 2026 08:36:55 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Financial insight retrieved successfully\",\n    \"data\": {\n        \"period\": \"2026-02\",\n        \"summary\": {\n            \"period\": \"2026-02\",\n            \"totalIncome\": 40000,\n            \"totalExpense\": 4500,\n            \"netSavings\": 35500,\n            \"savingsRate\": 88.75,\n            \"financialHealthScore\": 100,\n            \"spendingWarning\": null\n        },\n        \"insight\": \"Wow, your financial health is absolutely stellar with an incredible savings rate! You're building an amazing foundation for your future. Keep up the fantastic work, and start dreaming about what big goals you want to achieve or how you can make your money work even harder for you!\"\n    }\n}"},{"id":"f35c07ca-1713-4b62-acc2-b2fff7e88a17","name":"401 Unauthorized","originalRequest":{"method":"GET","header":[],"url":"{{base_url}}/api/dashboard/insight"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"63"},{"key":"ETag","value":"W/\"3f-TeIfaERlGGGdR7v0qsUeYoXNDrQ\""},{"key":"Date","value":"Thu, 26 Feb 2026 08:39:58 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"Not authorized, no token provided\"\n}"},{"id":"f163d611-24be-4926-a633-9fc02ae489a9","name":"500 Internal Server Error","originalRequest":{"method":"GET","header":[],"url":"{{base_url}}/api/dashboard/insight"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"1940"},{"key":"ETag","value":"W/\"794-u2We4NDA4l3TNdrJ60+bNpnLjXs\""},{"key":"Date","value":"Thu, 26 Feb 2026 08:08:07 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"[GoogleGenerativeAI Error]: Error fetching from https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent: [429 Too Many Requests] You exceeded your current quota, please check your plan and billing details. For more information on this error, head to: https://ai.google.dev/gemini-api/docs/rate-limits. To monitor your current usage, head to: https://ai.dev/rate-limit. \\n* Quota exceeded for metric: generativelanguage.googleapis.com/generate_content_free_tier_input_token_count, limit: 0, model: gemini-2.0-flash\\n* Quota exceeded for metric: generativelanguage.googleapis.com/generate_content_free_tier_requests, limit: 0, model: gemini-2.0-flash\\n* Quota exceeded for metric: generativelanguage.googleapis.com/generate_content_free_tier_requests, limit: 0, model: gemini-2.0-flash\\nPlease retry in 52.762901521s. [{\\\"@type\\\":\\\"type.googleapis.com/google.rpc.Help\\\",\\\"links\\\":[{\\\"description\\\":\\\"Learn more about Gemini API quotas\\\",\\\"url\\\":\\\"https://ai.google.dev/gemini-api/docs/rate-limits\\\"}]},{\\\"@type\\\":\\\"type.googleapis.com/google.rpc.QuotaFailure\\\",\\\"violations\\\":[{\\\"quotaMetric\\\":\\\"generativelanguage.googleapis.com/generate_content_free_tier_input_token_count\\\",\\\"quotaId\\\":\\\"GenerateContentInputTokensPerModelPerMinute-FreeTier\\\",\\\"quotaDimensions\\\":{\\\"location\\\":\\\"global\\\",\\\"model\\\":\\\"gemini-2.0-flash\\\"}},{\\\"quotaMetric\\\":\\\"generativelanguage.googleapis.com/generate_content_free_tier_requests\\\",\\\"quotaId\\\":\\\"GenerateRequestsPerMinutePerProjectPerModel-FreeTier\\\",\\\"quotaDimensions\\\":{\\\"location\\\":\\\"global\\\",\\\"model\\\":\\\"gemini-2.0-flash\\\"}},{\\\"quotaMetric\\\":\\\"generativelanguage.googleapis.com/generate_content_free_tier_requests\\\",\\\"quotaId\\\":\\\"GenerateRequestsPerDayPerProjectPerModel-FreeTier\\\",\\\"quotaDimensions\\\":{\\\"location\\\":\\\"global\\\",\\\"model\\\":\\\"gemini-2.0-flash\\\"}}]},{\\\"@type\\\":\\\"type.googleapis.com/google.rpc.RetryInfo\\\",\\\"retryDelay\\\":\\\"52s\\\"}]\"\n}"}],"_postman_id":"c9079c40-aaf0-47e8-8d99-b3d5062a2341"},{"name":"Create a Savings Goal","id":"a5c0d2ea-d972-471c-9f42-71a44e94fd14","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"monthlyGoal\": 10000,\r\n  \"month\": \"2026-02\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:5085/api/dashboard/savings-goal","urlObject":{"protocol":"http","port":"5085","path":["api","dashboard","savings-goal"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"744fc334-3e20-4f2f-8193-680fac67c69a","name":"201 Success","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"monthlyGoal\": 10000,\r\n  \"month\": \"2026-02\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/dashboard/savings-goal"},"status":"Created","code":201,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"264"},{"key":"ETag","value":"W/\"108-NdC/y/ztCUKWMAY7LP3+4l3UUVw\""},{"key":"Date","value":"Thu, 26 Feb 2026 10:53:28 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Savings goal created successfully\",\n    \"data\": {\n        \"userId\": \"699cfd55faff45670c985aba\",\n        \"monthlyGoal\": 10000,\n        \"month\": \"2026-02\",\n        \"_id\": \"69a026270be44863c0d5f5f1\",\n        \"createdAt\": \"2026-02-26T10:53:27.744Z\",\n        \"updatedAt\": \"2026-02-26T10:53:27.744Z\",\n        \"__v\": 0\n    }\n}"},{"id":"b0d4fa40-90bf-4258-8c9e-8a4f612e78d1","name":"400 Invalid Monthly Goal","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"monthlyGoal\": 0,\r\n  \"month\": \"2026-01\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/dashboard/savings-goal"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"132"},{"key":"ETag","value":"W/\"84-E5F8jaX/7j/0RF4qqjcoGbYUqyo\""},{"key":"Date","value":"Thu, 26 Feb 2026 10:55:21 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"validation failed\",\n    \"errors\": [\n        {\n            \"field\": \"monthlyGoal\",\n            \"message\": \"Goal amount must be a positive number\"\n        }\n    ]\n}"},{"id":"35e9f506-88e0-46e3-84b2-e5d97a5cdf61","name":"400 Invalid Month","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"monthlyGoal\": 200,\r\n  \"month\": \"2026-14\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/dashboard/savings-goal"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"120"},{"key":"ETag","value":"W/\"78-1pRB4sb37izBRaNIxZoT6Q7cXsw\""},{"key":"Date","value":"Thu, 26 Feb 2026 10:56:33 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"validation failed\",\n    \"errors\": [\n        {\n            \"field\": \"month\",\n            \"message\": \"Month must be between 01 and 12\"\n        }\n    ]\n}"},{"id":"bb9a79b0-be63-42d3-a29a-2e7d269bce3f","name":"401 Unauthorized","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"monthlyGoal\": 200,\r\n  \"month\": \"2026-11\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/dashboard/savings-goal"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"63"},{"key":"ETag","value":"W/\"3f-TeIfaERlGGGdR7v0qsUeYoXNDrQ\""},{"key":"Date","value":"Thu, 26 Feb 2026 10:57:21 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"Not authorized, no token provided\"\n}"}],"_postman_id":"a5c0d2ea-d972-471c-9f42-71a44e94fd14"},{"name":"Get the Savings Goal","id":"992c3bd2-6093-469f-b6eb-30ad2de52c1a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"http://localhost:5085/api/dashboard/savings-goal?month=2026-02","urlObject":{"protocol":"http","port":"5085","path":["api","dashboard","savings-goal"],"host":["localhost"],"query":[{"key":"month","value":"2026-02"}],"variable":[]}},"response":[{"id":"1f744276-2c17-4d2e-8648-a7ab6709779c","name":"200 Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/dashboard/savings-goal?month=2026-02","host":["{{base_url}}"],"path":["api","dashboard","savings-goal"],"query":[{"key":"month","value":"2026-02"}]}},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"266"},{"key":"ETag","value":"W/\"10a-ifLcC8Rq+58hqvyEQBEnBqONfxk\""},{"key":"Date","value":"Thu, 26 Feb 2026 10:58:54 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Savings goal retrieved successfully\",\n    \"data\": {\n        \"_id\": \"69a026270be44863c0d5f5f1\",\n        \"userId\": \"699cfd55faff45670c985aba\",\n        \"monthlyGoal\": 10000,\n        \"month\": \"2026-02\",\n        \"createdAt\": \"2026-02-26T10:53:27.744Z\",\n        \"updatedAt\": \"2026-02-26T10:53:27.744Z\",\n        \"__v\": 0\n    }\n}"},{"id":"025e8bac-646d-4fba-aecd-7445be260312","name":"400 Invalid Month","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/dashboard/savings-goal?month=2026-00","host":["{{base_url}}"],"path":["api","dashboard","savings-goal"],"query":[{"key":"month","value":"2026-00"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"120"},{"key":"ETag","value":"W/\"78-1pRB4sb37izBRaNIxZoT6Q7cXsw\""},{"key":"Date","value":"Thu, 26 Feb 2026 10:59:53 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"validation failed\",\n    \"errors\": [\n        {\n            \"field\": \"month\",\n            \"message\": \"Month must be between 01 and 12\"\n        }\n    ]\n}"},{"id":"c1667694-d417-45b5-88ee-35652602b216","name":"401 Unauthorized","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/dashboard/savings-goal?month=2026-02","host":["{{base_url}}"],"path":["api","dashboard","savings-goal"],"query":[{"key":"month","value":"2026-02"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"63"},{"key":"ETag","value":"W/\"3f-TeIfaERlGGGdR7v0qsUeYoXNDrQ\""},{"key":"Date","value":"Thu, 26 Feb 2026 11:00:26 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"Not authorized, no token provided\"\n}"}],"_postman_id":"992c3bd2-6093-469f-b6eb-30ad2de52c1a"},{"name":"Update the Savings Goal","id":"fd4075cd-8b67-45cf-b7f9-c43bcd0ced32","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n  \"monthlyGoal\": 15000,\r\n  \"month\": \"2026-02\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:5085/api/dashboard/savings-goal","urlObject":{"protocol":"http","port":"5085","path":["api","dashboard","savings-goal"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"9555f6c3-9bd9-400a-949a-1b2c9117b392","name":"200 Success","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n  \"monthlyGoal\": 15000,\r\n  \"month\": \"2026-02\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/dashboard/savings-goal"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"264"},{"key":"ETag","value":"W/\"108-GjtFLP7h70ZHp1N7vK32pqMLtaA\""},{"key":"Date","value":"Thu, 26 Feb 2026 16:30:25 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Savings goal updated successfully\",\n    \"data\": {\n        \"_id\": \"69a026270be44863c0d5f5f1\",\n        \"userId\": \"699cfd55faff45670c985aba\",\n        \"monthlyGoal\": 15000,\n        \"month\": \"2026-02\",\n        \"createdAt\": \"2026-02-26T10:53:27.744Z\",\n        \"updatedAt\": \"2026-02-26T16:30:24.917Z\",\n        \"__v\": 0\n    }\n}"},{"id":"097005ef-e862-442f-ae40-470776baa972","name":"400 Invalid Month","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n  \"monthlyGoal\": 15000,\r\n  \"month\": \"2026-00\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/dashboard/savings-goal"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"120"},{"key":"ETag","value":"W/\"78-1pRB4sb37izBRaNIxZoT6Q7cXsw\""},{"key":"Date","value":"Thu, 26 Feb 2026 16:31:41 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"validation failed\",\n    \"errors\": [\n        {\n            \"field\": \"month\",\n            \"message\": \"Month must be between 01 and 12\"\n        }\n    ]\n}"},{"id":"b04322d7-da86-4d66-983c-ad25778347a0","name":"400 Invalid Month Format","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n  \"monthlyGoal\": 15000,\r\n  \"month\": \"2026-2\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/dashboard/savings-goal"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"120"},{"key":"ETag","value":"W/\"78-Zuim4nw74Bs0AX2pv8wjqcBD/lU\""},{"key":"Date","value":"Thu, 26 Feb 2026 16:32:09 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"validation failed\",\n    \"errors\": [\n        {\n            \"field\": \"month\",\n            \"message\": \"Month must be in YYYY-MM format\"\n        }\n    ]\n}"},{"id":"58c760b6-b19b-419a-bcd8-a1dc144ef809","name":"400 Invalid Goal Amount","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n  \"monthlyGoal\": 0,\r\n  \"month\": \"2026-02\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/dashboard/savings-goal"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"132"},{"key":"ETag","value":"W/\"84-E5F8jaX/7j/0RF4qqjcoGbYUqyo\""},{"key":"Date","value":"Thu, 26 Feb 2026 16:32:56 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"validation failed\",\n    \"errors\": [\n        {\n            \"field\": \"monthlyGoal\",\n            \"message\": \"Goal amount must be a positive number\"\n        }\n    ]\n}"},{"id":"428e4bac-a680-49a3-83f5-223974969300","name":"401 Unauthorized","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n  \"monthlyGoal\": 15000,\r\n  \"month\": \"2026-02\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/dashboard/savings-goal"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"63"},{"key":"ETag","value":"W/\"3f-TeIfaERlGGGdR7v0qsUeYoXNDrQ\""},{"key":"Date","value":"Thu, 26 Feb 2026 16:35:40 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"Not authorized, no token provided\"\n}"}],"_postman_id":"fd4075cd-8b67-45cf-b7f9-c43bcd0ced32"},{"name":"Check Savings Goal Progress","id":"757382de-7dd9-47ea-bc45-83841d5686cc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"http://localhost:5085/api/dashboard/savings-goal-progress?month=2026-02","urlObject":{"protocol":"http","port":"5085","path":["api","dashboard","savings-goal-progress"],"host":["localhost"],"query":[{"key":"month","value":"2026-02"}],"variable":[]}},"response":[{"id":"20fa1aaa-6f99-4fa7-b36b-47355dd7e05f","name":"200 Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/dashboard/savings-goal-progress?month=2026-02","host":["{{base_url}}"],"path":["api","dashboard","savings-goal-progress"],"query":[{"key":"month","value":"2026-02"}]}},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"251"},{"key":"ETag","value":"W/\"fb-oZ1lChoHVcmWtdXQHnQib8gUHOo\""},{"key":"Date","value":"Thu, 26 Feb 2026 16:31:01 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Savings goal progress retrieved successfully\",\n    \"data\": {\n        \"month\": \"2026-02\",\n        \"goal\": 15000,\n        \"saved\": 35500,\n        \"percentage\": 100,\n        \"remaining\": 0,\n        \"achieved\": true,\n        \"warning\": \"Congratulations! You have achieved your savings goal this month!\"\n    }\n}"},{"id":"8b783e43-08a7-4c85-b5d8-a8ee0653f8e6","name":"400 Invalid Month Format","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/dashboard/savings-goal-progress?month=2026-1","host":["{{base_url}}"],"path":["api","dashboard","savings-goal-progress"],"query":[{"key":"month","value":"2026-1"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"120"},{"key":"ETag","value":"W/\"78-Zuim4nw74Bs0AX2pv8wjqcBD/lU\""},{"key":"Date","value":"Thu, 26 Feb 2026 16:36:26 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"validation failed\",\n    \"errors\": [\n        {\n            \"field\": \"month\",\n            \"message\": \"Month must be in YYYY-MM format\"\n        }\n    ]\n}"},{"id":"990ee43d-d03c-406a-a537-9787e50ef2a2","name":"400 Invalid Month","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/dashboard/savings-goal-progress?month=2026-00","host":["{{base_url}}"],"path":["api","dashboard","savings-goal-progress"],"query":[{"key":"month","value":"2026-00"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"120"},{"key":"ETag","value":"W/\"78-1pRB4sb37izBRaNIxZoT6Q7cXsw\""},{"key":"Date","value":"Thu, 26 Feb 2026 16:37:35 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"validation failed\",\n    \"errors\": [\n        {\n            \"field\": \"month\",\n            \"message\": \"Month must be between 01 and 12\"\n        }\n    ]\n}"},{"id":"6fd29a5b-5333-455c-bb12-f1d40df40959","name":"401 Unauthorized","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/dashboard/savings-goal-progress?month=2026-02","host":["{{base_url}}"],"path":["api","dashboard","savings-goal-progress"],"query":[{"key":"month","value":"2026-02"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"63"},{"key":"ETag","value":"W/\"3f-TeIfaERlGGGdR7v0qsUeYoXNDrQ\""},{"key":"Date","value":"Thu, 26 Feb 2026 16:40:02 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"Not authorized, no token provided\"\n}"},{"id":"c84e03b1-e651-4513-93c1-ee48dfa74a6d","name":"404 Saving Goal Not Found","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/dashboard/savings-goal-progress?month=2026-03","host":["{{base_url}}"],"path":["api","dashboard","savings-goal-progress"],"query":[{"key":"month","value":"2026-03"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"64"},{"key":"ETag","value":"W/\"40-v1Gcnfg3i+0xDOlknfDB5a8QBgo\""},{"key":"Date","value":"Thu, 26 Feb 2026 16:38:02 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"No savings goal set for this month\"\n}"}],"_postman_id":"757382de-7dd9-47ea-bc45-83841d5686cc"},{"name":"Get Recent Transactions","id":"7f14e04a-0a12-49b4-bb27-3afcad3b5339","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"http://localhost:5085/api/dashboard/recent-transactions","urlObject":{"protocol":"http","port":"5085","path":["api","dashboard","recent-transactions"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"60d187ba-d38d-4a0c-812c-f7690b8cb491","name":"200 Success","originalRequest":{"method":"GET","header":[],"url":"{{base_url}}/api/dashboard/recent-transactions"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"1447"},{"key":"ETag","value":"W/\"5a7-hhhnIVXlyMYSrZdasUlboE5A+AY\""},{"key":"Date","value":"Thu, 26 Feb 2026 16:27:20 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Recent transactions retrieved successfully\",\n    \"data\": [\n        {\n            \"_id\": \"699d42ca24b841ff46a82ed2\",\n            \"userId\": \"699cfd55faff45670c985aba\",\n            \"type\": \"income\",\n            \"amount\": 3000,\n            \"category\": \"Freelance\",\n            \"description\": \"March project\",\n            \"date\": \"2026-03-20T00:00:00.000Z\",\n            \"createdAt\": \"2026-02-24T06:18:50.800Z\",\n            \"updatedAt\": \"2026-02-24T06:18:50.800Z\",\n            \"__v\": 0\n        },\n        {\n            \"_id\": \"699d42be24b841ff46a82ecf\",\n            \"userId\": \"699cfd55faff45670c985aba\",\n            \"type\": \"expense\",\n            \"amount\": 800,\n            \"category\": \"Food\",\n            \"description\": \"March groceries\",\n            \"date\": \"2026-03-10T00:00:00.000Z\",\n            \"createdAt\": \"2026-02-24T06:18:38.770Z\",\n            \"updatedAt\": \"2026-02-24T06:18:38.770Z\",\n            \"__v\": 0\n        },\n        {\n            \"_id\": \"699d37c5c3958660ddc39f88\",\n            \"userId\": \"699cfd55faff45670c985aba\",\n            \"type\": \"income\",\n            \"amount\": 5000,\n            \"category\": \"Freelance\",\n            \"description\": \"Web design project\",\n            \"date\": \"2026-02-15T00:00:00.000Z\",\n            \"createdAt\": \"2026-02-24T05:31:49.056Z\",\n            \"updatedAt\": \"2026-02-24T05:31:49.056Z\",\n            \"__v\": 0\n        },\n        {\n            \"_id\": \"699d37b5c3958660ddc39f85\",\n            \"userId\": \"699cfd55faff45670c985aba\",\n            \"type\": \"expense\",\n            \"amount\": 1500,\n            \"category\": \"Transport\",\n            \"description\": \"Bus pass\",\n            \"date\": \"2026-02-10T00:00:00.000Z\",\n            \"createdAt\": \"2026-02-24T05:31:33.958Z\",\n            \"updatedAt\": \"2026-02-24T05:31:33.958Z\",\n            \"__v\": 0\n        },\n        {\n            \"_id\": \"699d37a5c3958660ddc39f82\",\n            \"userId\": \"699cfd55faff45670c985aba\",\n            \"type\": \"expense\",\n            \"amount\": 3000,\n            \"category\": \"Food\",\n            \"description\": \"Grocery shopping\",\n            \"date\": \"2026-02-05T00:00:00.000Z\",\n            \"createdAt\": \"2026-02-24T05:31:17.450Z\",\n            \"updatedAt\": \"2026-02-24T05:31:17.450Z\",\n            \"__v\": 0\n        }\n    ]\n}"},{"id":"52f36f3b-614c-424d-9265-db016d57d94f","name":"401 Unauthorized","originalRequest":{"method":"GET","header":[],"url":"{{base_url}}/api/dashboard/recent-transactions"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"63"},{"key":"ETag","value":"W/\"3f-TeIfaERlGGGdR7v0qsUeYoXNDrQ\""},{"key":"Date","value":"Thu, 26 Feb 2026 16:27:55 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"Not authorized, no token provided\"\n}"}],"_postman_id":"7f14e04a-0a12-49b4-bb27-3afcad3b5339"},{"name":"Convert Currency","id":"d8986e94-267c-4127-8b85-1dee474759e7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"http://localhost:5085/api/dashboard/convert?amount=10000&from=LKR&to=USD","urlObject":{"protocol":"http","port":"5085","path":["api","dashboard","convert"],"host":["localhost"],"query":[{"key":"amount","value":"10000"},{"key":"from","value":"LKR"},{"key":"to","value":"USD"}],"variable":[]}},"response":[{"id":"82c156ea-21f3-4e21-a71e-a5734c8c61e4","name":"200 Success LKR to USD","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/dashboard/convert?amount=10000&from=LKR&to=USD","host":["{{base_url}}"],"path":["api","dashboard","convert"],"query":[{"key":"amount","value":"10000"},{"key":"from","value":"LKR"},{"key":"to","value":"USD"}]}},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"168"},{"key":"ETag","value":"W/\"a8-fO8L7EtU8FQFJvjuBlfU/lPqNag\""},{"key":"Date","value":"Thu, 26 Feb 2026 18:01:23 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Currency converted successfully\",\n    \"data\": {\n        \"amount\": 10000,\n        \"from\": \"LKR\",\n        \"to\": \"USD\",\n        \"convertedAmount\": 32.47,\n        \"rate\": 0.003247,\n        \"date\": \"2026-02-26\"\n    }\n}"},{"id":"12174aef-bf5e-47d5-9956-93acc9e1d8dc","name":"200 Success LKR to EUR","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/dashboard/convert?amount=10000&from=LKR&to=EUR","host":["{{base_url}}"],"path":["api","dashboard","convert"],"query":[{"key":"amount","value":"10000"},{"key":"from","value":"LKR"},{"key":"to","value":"EUR"}]}},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"168"},{"key":"ETag","value":"W/\"a8-xIr2X501W1MFGxNe9EDQC1Ywfn4\""},{"key":"Date","value":"Thu, 26 Feb 2026 18:04:50 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Currency converted successfully\",\n    \"data\": {\n        \"amount\": 10000,\n        \"from\": \"LKR\",\n        \"to\": \"EUR\",\n        \"convertedAmount\": 27.47,\n        \"rate\": 0.002747,\n        \"date\": \"2026-02-26\"\n    }\n}"},{"id":"c1723a6a-cb69-41c1-874b-bdd7350c6569","name":"200 Success Default USD","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/dashboard/convert?amount=10000","host":["{{base_url}}"],"path":["api","dashboard","convert"],"query":[{"key":"amount","value":"10000"},{"key":"from","value":"LKR","disabled":true},{"key":"to","value":"EUR","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"168"},{"key":"ETag","value":"W/\"a8-fO8L7EtU8FQFJvjuBlfU/lPqNag\""},{"key":"Date","value":"Thu, 26 Feb 2026 18:06:00 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Currency converted successfully\",\n    \"data\": {\n        \"amount\": 10000,\n        \"from\": \"LKR\",\n        \"to\": \"USD\",\n        \"convertedAmount\": 32.47,\n        \"rate\": 0.003247,\n        \"date\": \"2026-02-26\"\n    }\n}"},{"id":"c72c659e-78df-4f72-aa0b-0f636ef90af4","name":"400 Missing Amount","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/dashboard/convert?from=LKR&to=EUR","host":["{{base_url}}"],"path":["api","dashboard","convert"],"query":[{"key":"from","value":"LKR"},{"key":"to","value":"EUR"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"172"},{"key":"ETag","value":"W/\"ac-xlUJUK5uULDKeh90JVE02cqzFwc\""},{"key":"Date","value":"Thu, 26 Feb 2026 18:07:24 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"validation failed\",\n    \"errors\": [\n        {\n            \"field\": \"amount\",\n            \"message\": \"Amount is required\"\n        },\n        {\n            \"field\": \"amount\",\n            \"message\": \"Amount must be a positive number\"\n        }\n    ]\n}"},{"id":"5b092a26-f63d-4964-a069-edf042610e59","name":"401 Unauthorized","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/dashboard/convert?amount=10000&from=LKR&to=USD","host":["{{base_url}}"],"path":["api","dashboard","convert"],"query":[{"key":"amount","value":"10000"},{"key":"from","value":"LKR"},{"key":"to","value":"USD"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"63"},{"key":"ETag","value":"W/\"3f-TeIfaERlGGGdR7v0qsUeYoXNDrQ\""},{"key":"Date","value":"Thu, 26 Feb 2026 18:10:01 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"Not authorized, no token provided\"\n}"},{"id":"b08880b5-91ad-484c-a08a-d15b1657eee4","name":"500 Invalid Currency Code","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/dashboard/convert?amount=10000&from=LKR&to=XYZ","host":["{{base_url}}"],"path":["api","dashboard","convert"],"query":[{"key":"amount","value":"10000"},{"key":"from","value":"LKR"},{"key":"to","value":"XYZ"}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"61"},{"key":"ETag","value":"W/\"3d-TnK+etk43175T4gLZdhs8nob5eg\""},{"key":"Date","value":"Thu, 26 Feb 2026 18:09:02 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"Currency 'XYZ' is not supported\"\n}"}],"_postman_id":"d8986e94-267c-4127-8b85-1dee474759e7"}],"id":"1caa2d06-714d-4a6a-90d6-2b809d97192b","description":"<p>A rich analytics hub that delivers financial summaries, category breakdowns, monthly trends, AI-driven insights, savings goal management, recent transaction views, and real-time currency conversion.</p>\n","_postman_id":"1caa2d06-714d-4a6a-90d6-2b809d97192b"},{"name":"Auth","item":[{"name":"Register","id":"7c6cd271-55ed-4361-8908-993b4b976c2a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"username\": \"mytestuser2\",\r\n  \"email\": \"mytest2@gmail.com\",\r\n  \"password\": \"Test12345\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/auth/register","urlObject":{"path":["api","auth","register"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"7c6cd271-55ed-4361-8908-993b4b976c2a"},{"name":"Login","id":"c13a40d9-bd35-491f-be39-86a8eb3d38b5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"email\": \"mytest2@gmail.com\",\r\n  \"password\": \"Test12345\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/auth/login","urlObject":{"path":["api","auth","login"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"c13a40d9-bd35-491f-be39-86a8eb3d38b5"}],"id":"877f2e5b-14e8-4d54-b159-4d8ecd0afd97","description":"<p>Handles user authentication by providing secure registration and login endpoints to manage access to the MoneyMentor platform.</p>\n","_postman_id":"877f2e5b-14e8-4d54-b159-4d8ecd0afd97"}]}