{"info":{"_postman_id":"35214cf2-8f44-48ab-a568-08155ca62502","name":"SymptomPulse","description":"<html><head></head><body><h3 id=\"symptompulse-api-documentation\"><strong>SymptomPulse API Documentation</strong></h3>\n<p>The <strong>SymptomPulse API</strong> provides a comprehensive set of endpoints designed to facilitate seamless interaction between the frontend and backend of the SymptomPulse application. This API serves as the backbone of the system, enabling users to manage their health records, log symptoms, schedule medications, and receive timely notifications.</p>\n<p>Built using <strong>Node.js, Express, and Prisma</strong>, the API ensures secure and efficient data handling while maintaining a well-structured and scalable architecture. With robust authentication mechanisms and middleware-driven request handling, the system prioritizes security, performance, and user privacy.</p>\n<p>This documentation outlines the available endpoints, request and response structures, and authentication requirements, serving as a guide for developers integrating or maintaining the SymptomPulse application.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"36681432","collectionId":"35214cf2-8f44-48ab-a568-08155ca62502","publishedId":"2sAYdhJqGj","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"589AAF"},"publishDate":"2025-02-28T13:18:43.000Z"},"item":[{"name":"auth","item":[{"name":"registerUser","id":"64eb15f5-bc9f-4722-ab07-54b1a44a6e0f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"grbulegoda@gmail.com\",\r\n    \"password\": \"Grba1234\",\r\n    \"name\": \"Gayanuka Bulegoda\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/v1/auth/register","description":"<p>Allows new users to create an account by providing their email, password, and name. Ensures secure user registration with validation mechanisms.</p>\n","urlObject":{"path":["auth","register"],"host":["http://localhost:5000/api/v1"],"query":[],"variable":[]}},"response":[{"id":"23afe1b5-9df6-493d-9d74-2c0d0b1b436d","name":"example response","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"grb@gmail.com\",\r\n    \"password\": \"Grba1234\",\r\n    \"name\": \"Gayanuka Bulegoda\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/v1/auth/register"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Cross-Origin-Resource-Policy","value":"same-origin"},{"key":"Origin-Agent-Cluster","value":"?1"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"X-XSS-Protection","value":"0"},{"key":"Access-Control-Allow-Origin","value":"http://localhost:8081"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"84"},{"key":"ETag","value":"W/\"54-uKPTuqTu9yA/HUpKiuHCyKh5dSY\""},{"key":"Date","value":"Fri, 28 Feb 2025 17:01:25 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"data\": {\n        \"id\": 13,\n        \"email\": \"grbulegoda@gmail.com\",\n        \"name\": \"Gayanuka Bulegoda\"\n    }\n}"}],"_postman_id":"64eb15f5-bc9f-4722-ab07-54b1a44a6e0f"},{"name":"loginUser","id":"16857854-7dde-4556-b186-3a2202152952","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"grbulegoda@gmail.com\",\r\n    \"password\": \"Grba1234\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/v1/auth/login","description":"<p>Authenticates users by verifying their credentials and provides an access token for secure API interactions.</p>\n","urlObject":{"path":["auth","login"],"host":["http://localhost:5000/api/v1"],"query":[],"variable":[]}},"response":[{"id":"351581ef-32d1-484e-ba6a-9b64dc5d099d","name":"example response","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"grbulegoda@gmail.com\",\r\n    \"password\": \"Grba1234\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/v1/auth/login"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Cross-Origin-Resource-Policy","value":"same-origin"},{"key":"Origin-Agent-Cluster","value":"?1"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"X-XSS-Protection","value":"0"},{"key":"Access-Control-Allow-Origin","value":"http://localhost:8081"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Set-Cookie","value":"accessToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwiaWF0IjoxNzQwNzYyMTQ0LCJleHAiOjE3NDA3NjM5NDR9.yoWDdGTjdQXCd5sbLo9yZfY1QUbs8X4ycggLHy05T6k; Max-Age=900; Path=/; Expires=Fri, 28 Feb 2025 17:17:24 GMT; HttpOnly"},{"key":"Set-Cookie","value":"refreshToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwiaWF0IjoxNzQwNzYyMTQ0LCJleHAiOjE3NDEzNjY5NDR9.TASn4ylMNLSDVTl2iMvdFfpDkgHXKDQxk8rMU8K31Y8; Max-Age=604800; Path=/; Expires=Fri, 07 Mar 2025 17:02:24 GMT; HttpOnly"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"237"},{"key":"ETag","value":"W/\"ed-o47zKd0DIG7dFOEFkWokG4zMW38\""},{"key":"Date","value":"Fri, 28 Feb 2025 17:02:24 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"data\": {\n        \"accessToken\": \"the access token\",\n        \"email\": \"grbulegoda@gmail.com\",\n        \"name\": \"Gayanuka Bulegoda\"\n    }\n}"}],"_postman_id":"16857854-7dde-4556-b186-3a2202152952"},{"name":"refreshAccessToken","id":"bc8f3d07-cece-484f-9662-1d4a4a356cb1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[],"url":"http://localhost:5000/api/v1/auth/refresh","description":"<p>Issues a new access token using a valid refresh token, ensuring seamless user sessions without frequent logins.</p>\n","urlObject":{"path":["auth","refresh"],"host":["http://localhost:5000/api/v1"],"query":[],"variable":[]}},"response":[{"id":"0d2eb0e7-0cdc-4fb6-8062-c27e471fef4a","name":"example response","originalRequest":{"method":"POST","header":[],"url":"http://localhost:5000/api/v1/auth/refresh"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Cross-Origin-Resource-Policy","value":"same-origin"},{"key":"Origin-Agent-Cluster","value":"?1"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"X-XSS-Protection","value":"0"},{"key":"Access-Control-Allow-Origin","value":"http://localhost:8081"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Set-Cookie","value":"accessToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwiaWF0IjoxNzQwNzYyMjUxLCJleHAiOjE3NDA3NjQwNTF9.LpmS6USb-k9uW0aS5HN_P76gD0TxiO7oOz67wc88wJo; Max-Age=900; Path=/; Expires=Fri, 28 Feb 2025 17:19:11 GMT; HttpOnly"},{"key":"Set-Cookie","value":"refreshToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwiaWF0IjoxNzQwNzYyMjUxLCJleHAiOjE3NDEzNjcwNTF9.7WyM1SZuDfS58bYw1PcqjQWKrj1CIkUbWeZyvyuK6NU; Max-Age=604800; Path=/; Expires=Fri, 07 Mar 2025 17:04:11 GMT; HttpOnly"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"179"},{"key":"ETag","value":"W/\"b3-BmC2STvwPNfnHMjHk7D3Q2y9bjM\""},{"key":"Date","value":"Fri, 28 Feb 2025 17:04:11 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"data\": {\n        \"accessToken\": \"the access token\"\n    }\n}"}],"_postman_id":"bc8f3d07-cece-484f-9662-1d4a4a356cb1"},{"name":"logoutUser","id":"106e8a95-b81c-4ec7-b10f-25f0c881b449","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[],"url":"http://localhost:5000/api/v1/auth/logout","description":"<p>Logs the user out by invalidating their active session, ensuring secure account management and preventing unauthorized access.</p>\n","urlObject":{"path":["auth","logout"],"host":["http://localhost:5000/api/v1"],"query":[],"variable":[]}},"response":[{"id":"e5276176-cdf3-4555-99f9-4111283fdf62","name":"example response","originalRequest":{"method":"POST","header":[],"url":"http://localhost:5000/api/v1/auth/logout"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Cross-Origin-Resource-Policy","value":"same-origin"},{"key":"Origin-Agent-Cluster","value":"?1"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"X-XSS-Protection","value":"0"},{"key":"Access-Control-Allow-Origin","value":"http://localhost:8081"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Set-Cookie","value":"accessToken=; Path=/; Expires=Thu, 01 Jan 1970 00:00:00 GMT"},{"key":"Set-Cookie","value":"refreshToken=; Path=/; Expires=Thu, 01 Jan 1970 00:00:00 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"61"},{"key":"ETag","value":"W/\"3d-d7850Qlr9jfkk54QZA7aETTLFr0\""},{"key":"Date","value":"Fri, 28 Feb 2025 17:04:53 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"data\": {\n        \"message\": \"Logged out successfully\"\n    }\n}"}],"_postman_id":"106e8a95-b81c-4ec7-b10f-25f0c881b449"}],"id":"7bfaf6c1-a07d-48b9-a142-6cb9838c9add","description":"<p>The <strong>Auth</strong> endpoints handle user authentication and account management within the SymptomPulse application. This includes user registration, login, access token management, and secure logout functionality. By implementing robust authentication mechanisms, the API ensures data security and user privacy.</p>\n","_postman_id":"7bfaf6c1-a07d-48b9-a142-6cb9838c9add"},{"name":"symptom","item":[{"name":"logSymptoms","id":"36cb2a7e-00a1-4f97-87ab-2c96efdc52dc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"symptoms\": [\"headache\", \"nausea\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/v1/symptoms","description":"<p>Allows users to log their symptoms by providing relevant details, enabling accurate health tracking and monitoring.</p>\n","urlObject":{"path":["symptoms"],"host":["http://localhost:5000/api/v1"],"query":[],"variable":[]}},"response":[{"id":"acbaec6d-b3c0-4a1f-b411-ce6880aadb94","name":"example response","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"symptoms\": [\"headache\", \"nausea\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/v1/symptoms"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Cross-Origin-Resource-Policy","value":"same-origin"},{"key":"Origin-Agent-Cluster","value":"?1"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"X-XSS-Protection","value":"0"},{"key":"Access-Control-Allow-Origin","value":"http://localhost:8081"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"912"},{"key":"ETag","value":"W/\"390-t9QU76I0UZ5ELvdanL0sg7Ga0Qk\""},{"key":"Date","value":"Fri, 28 Feb 2025 17:05:49 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"data\": {\n        \"id\": 9,\n        \"userId\": 1,\n        \"symptoms\": [\n            \"headache\",\n            \"nausea\"\n        ],\n        \"entryDate\": \"2025-02-28T17:05:49.096Z\",\n        \"createdAt\": \"2025-02-28T17:05:49.096Z\",\n        \"updatedAt\": \"2025-02-28T17:05:49.096Z\",\n        \"conditions\": [\n            {\n                \"id\": 41,\n                \"symptomEntryId\": 9,\n                \"conditionName\": \"Vomiting\",\n                \"likelihood\": \"Medium\",\n                \"apiSource\": \"openFDA\",\n                \"createdAt\": \"2025-02-28T17:05:49.096Z\"\n            },\n            {\n                \"id\": 42,\n                \"symptomEntryId\": 9,\n                \"conditionName\": \"Headache\",\n                \"likelihood\": \"Medium\",\n                \"apiSource\": \"openFDA\",\n                \"createdAt\": \"2025-02-28T17:05:49.096Z\"\n            },\n            {\n                \"id\": 43,\n                \"symptomEntryId\": 9,\n                \"conditionName\": \"Respiratory failure\",\n                \"likelihood\": \"Medium\",\n                \"apiSource\": \"openFDA\",\n                \"createdAt\": \"2025-02-28T17:05:49.096Z\"\n            },\n            {\n                \"id\": 44,\n                \"symptomEntryId\": 9,\n                \"conditionName\": \"Headache\",\n                \"likelihood\": \"Medium\",\n                \"apiSource\": \"openFDA\",\n                \"createdAt\": \"2025-02-28T17:05:49.096Z\"\n            },\n            {\n                \"id\": 45,\n                \"symptomEntryId\": 9,\n                \"conditionName\": \"Nausea\",\n                \"likelihood\": \"Medium\",\n                \"apiSource\": \"openFDA\",\n                \"createdAt\": \"2025-02-28T17:05:49.096Z\"\n            }\n        ]\n    }\n}"}],"_postman_id":"36cb2a7e-00a1-4f97-87ab-2c96efdc52dc"},{"name":"getHistory","id":"ebc9678b-8361-4fab-be80-a00b95619c6f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:5000/api/v1/symptoms?page=1&limit=10","description":"<p>Retrieves a user's symptom history, providing insights into past records for better health analysis and medical reference.</p>\n","urlObject":{"path":["symptoms"],"host":["http://localhost:5000/api/v1"],"query":[{"key":"page","value":"1"},{"key":"limit","value":"10"}],"variable":[]}},"response":[{"id":"9a79fe40-6007-48d5-adc1-cb38cdcc845e","name":"example response","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://localhost:5000/api/v1/symptoms?page=1&limit=10","host":["http://localhost:5000/api/v1"],"path":["symptoms"],"query":[{"key":"page","value":"1"},{"key":"limit","value":"10"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Cross-Origin-Resource-Policy","value":"same-origin"},{"key":"Origin-Agent-Cluster","value":"?1"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"X-XSS-Protection","value":"0"},{"key":"Access-Control-Allow-Origin","value":"http://localhost:8081"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"7238"},{"key":"ETag","value":"W/\"1c46-90GH2et7pbn2YgdzQDDbTI7wYJk\""},{"key":"Date","value":"Fri, 28 Feb 2025 17:06:34 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"data\": [\n        {\n            \"id\": 9,\n            \"userId\": 1,\n            \"symptoms\": [\n                \"headache\",\n                \"nausea\"\n            ],\n            \"entryDate\": \"2025-02-28T17:05:49.096Z\",\n            \"createdAt\": \"2025-02-28T17:05:49.096Z\",\n            \"updatedAt\": \"2025-02-28T17:05:49.096Z\",\n            \"conditions\": [\n                {\n                    \"id\": 41,\n                    \"symptomEntryId\": 9,\n                    \"conditionName\": \"Vomiting\",\n                    \"likelihood\": \"Medium\",\n                    \"apiSource\": \"openFDA\",\n                    \"createdAt\": \"2025-02-28T17:05:49.096Z\"\n                },\n                {\n                    \"id\": 42,\n                    \"symptomEntryId\": 9,\n                    \"conditionName\": \"Headache\",\n                    \"likelihood\": \"Medium\",\n                    \"apiSource\": \"openFDA\",\n                    \"createdAt\": \"2025-02-28T17:05:49.096Z\"\n                },\n                {\n                    \"id\": 43,\n                    \"symptomEntryId\": 9,\n                    \"conditionName\": \"Respiratory failure\",\n                    \"likelihood\": \"Medium\",\n                    \"apiSource\": \"openFDA\",\n                    \"createdAt\": \"2025-02-28T17:05:49.096Z\"\n                },\n                {\n                    \"id\": 44,\n                    \"symptomEntryId\": 9,\n                    \"conditionName\": \"Headache\",\n                    \"likelihood\": \"Medium\",\n                    \"apiSource\": \"openFDA\",\n                    \"createdAt\": \"2025-02-28T17:05:49.096Z\"\n                },\n                {\n                    \"id\": 45,\n                    \"symptomEntryId\": 9,\n                    \"conditionName\": \"Nausea\",\n                    \"likelihood\": \"Medium\",\n                    \"apiSource\": \"openFDA\",\n                    \"createdAt\": \"2025-02-28T17:05:49.096Z\"\n                }\n            ]\n        },\n        {\n            \"id\": 8,\n            \"userId\": 1,\n            \"symptoms\": [\n                \"Cough\",\n                \"Shortness of Breath\",\n                \"neusea\"\n            ],\n            \"entryDate\": \"2025-02-28T11:32:11.186Z\",\n            \"createdAt\": \"2025-02-28T11:32:11.186Z\",\n            \"updatedAt\": \"2025-02-28T11:32:11.186Z\",\n            \"conditions\": [\n                {\n                    \"id\": 36,\n                    \"symptomEntryId\": 8,\n                    \"conditionName\": \"Cough\",\n                    \"likelihood\": \"Medium\",\n                    \"apiSource\": \"openFDA\",\n                    \"createdAt\": \"2025-02-28T11:32:11.186Z\"\n                },\n                {\n                    \"id\": 37,\n                    \"symptomEntryId\": 8,\n                    \"conditionName\": \"Tuberculosis of central nervous system\",\n                    \"likelihood\": \"Medium\",\n                    \"apiSource\": \"openFDA\",\n                    \"createdAt\": \"2025-02-28T11:32:11.186Z\"\n                },\n                {\n                    \"id\": 38,\n                    \"symptomEntryId\": 8,\n                    \"conditionName\": \"Epistaxis\",\n                    \"likelihood\": \"Medium\",\n                    \"apiSource\": \"openFDA\",\n                    \"createdAt\": \"2025-02-28T11:32:11.186Z\"\n                },\n                {\n                    \"id\": 39,\n                    \"symptomEntryId\": 8,\n                    \"conditionName\": \"Loss of consciousness\",\n                    \"likelihood\": \"Medium\",\n                    \"apiSource\": \"openFDA\",\n                    \"createdAt\": \"2025-02-28T11:32:11.186Z\"\n                },\n                {\n                    \"id\": 40,\n                    \"symptomEntryId\": 8,\n                    \"conditionName\": \"Respiratory tract infection\",\n                    \"likelihood\": \"Medium\",\n                    \"apiSource\": \"openFDA\",\n                    \"createdAt\": \"2025-02-28T11:32:11.186Z\"\n                }\n            ]\n        },\n        {\n            \"id\": 7,\n            \"userId\": 1,\n            \"symptoms\": [\n                \"Chest Pain\",\n                \"Body Ache\",\n                \"Asthma\"\n            ],\n            \"entryDate\": \"2025-02-28T09:44:21.684Z\",\n            \"createdAt\": \"2025-02-28T09:44:21.684Z\",\n            \"updatedAt\": \"2025-02-28T09:44:21.684Z\",\n            \"conditions\": [\n                {\n                    \"id\": 31,\n                    \"symptomEntryId\": 7,\n                    \"conditionName\": \"Back pain\",\n                    \"likelihood\": \"Medium\",\n                    \"apiSource\": \"openFDA\",\n                    \"createdAt\": \"2025-02-28T09:44:21.684Z\"\n                },\n                {\n                    \"id\": 32,\n                    \"symptomEntryId\": 7,\n                    \"conditionName\": \"Back pain\",\n                    \"likelihood\": \"Medium\",\n                    \"apiSource\": \"openFDA\",\n                    \"createdAt\": \"2025-02-28T09:44:21.684Z\"\n                },\n                {\n                    \"id\": 33,\n                    \"symptomEntryId\": 7,\n                    \"conditionName\": \"Fall\",\n                    \"likelihood\": \"Medium\",\n                    \"apiSource\": \"openFDA\",\n                    \"createdAt\": \"2025-02-28T09:44:21.684Z\"\n                },\n                {\n                    \"id\": 34,\n                    \"symptomEntryId\": 7,\n                    \"conditionName\": \"Diarrhoea\",\n                    \"likelihood\": \"Medium\",\n                    \"apiSource\": \"openFDA\",\n                    \"createdAt\": \"2025-02-28T09:44:21.684Z\"\n                },\n                {\n                    \"id\": 35,\n                    \"symptomEntryId\": 7,\n                    \"conditionName\": \"Chemical poisoning\",\n                    \"likelihood\": \"Medium\",\n                    \"apiSource\": \"openFDA\",\n                    \"createdAt\": \"2025-02-28T09:44:21.684Z\"\n                }\n            ]\n        },\n        {\n            \"id\": 5,\n            \"userId\": 1,\n            \"symptoms\": [\n                \"Vomitting\",\n                \"Fever\"\n            ],\n            \"entryDate\": \"2025-02-26T17:52:35.673Z\",\n            \"createdAt\": \"2025-02-26T17:52:35.673Z\",\n            \"updatedAt\": \"2025-02-26T17:52:35.673Z\",\n            \"conditions\": [\n                {\n                    \"id\": 21,\n                    \"symptomEntryId\": 5,\n                    \"conditionName\": \"Weight increased\",\n                    \"likelihood\": \"Medium\",\n                    \"apiSource\": \"openFDA\",\n                    \"createdAt\": \"2025-02-26T17:52:35.673Z\"\n                },\n                {\n                    \"id\": 22,\n                    \"symptomEntryId\": 5,\n                    \"conditionName\": \"Visual acuity reduced\",\n                    \"likelihood\": \"Medium\",\n                    \"apiSource\": \"openFDA\",\n                    \"createdAt\": \"2025-02-26T17:52:35.673Z\"\n                },\n                {\n                    \"id\": 23,\n                    \"symptomEntryId\": 5,\n                    \"conditionName\": \"Erysipelas\",\n                    \"likelihood\": \"Medium\",\n                    \"apiSource\": \"openFDA\",\n                    \"createdAt\": \"2025-02-26T17:52:35.673Z\"\n                },\n                {\n                    \"id\": 24,\n                    \"symptomEntryId\": 5,\n                    \"conditionName\": \"Cough\",\n                    \"likelihood\": \"Medium\",\n                    \"apiSource\": \"openFDA\",\n                    \"createdAt\": \"2025-02-26T17:52:35.673Z\"\n                },\n                {\n                    \"id\": 25,\n                    \"symptomEntryId\": 5,\n                    \"conditionName\": \"Typhoid fever\",\n                    \"likelihood\": \"Medium\",\n                    \"apiSource\": \"openFDA\",\n                    \"createdAt\": \"2025-02-26T17:52:35.673Z\"\n                }\n            ]\n        }\n    ]\n}"}],"_postman_id":"ebc9678b-8361-4fab-be80-a00b95619c6f"}],"id":"7b6d45a2-7161-4357-a7db-6e7c092677ff","description":"<p>The <strong>Symptom</strong> endpoints enable users to log and track their symptoms over time. These endpoints allow users to submit detailed symptom reports and retrieve their symptom history for better health monitoring and analysis. The collected data supports users in understanding trends and patterns in their health conditions.</p>\n","_postman_id":"7b6d45a2-7161-4357-a7db-6e7c092677ff"},{"name":"medication","item":[{"name":"addMedication","id":"fa3bb4da-8313-4fc2-a1be-39a1c16fcfc6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"name\": \"Benzoyl Peroxide\",\r\n  \"schedule\": \"DAILY\",\r\n  \"startDate\": \"2025-02-28T08:00:00Z\",\r\n  \"endDate\": \"2025-03-14T08:00:00Z\",\r\n  \"dosage\": \"Use on skin\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/v1/medications","description":"<p>Enables users to add new medications to their schedule, ensuring proper tracking and adherence to prescribed treatments.</p>\n","urlObject":{"path":["medications"],"host":["http://localhost:5000/api/v1"],"query":[],"variable":[]}},"response":[{"id":"e5c36d48-efea-4791-a129-954bafed1612","name":"example response","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"name\": \"Benzoyl Peroxide\",\r\n  \"schedule\": \"DAILY\",\r\n  \"startDate\": \"2025-02-28T08:00:00Z\",\r\n  \"endDate\": \"2025-03-14T08:00:00Z\",\r\n  \"dosage\": \"Use on skin\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/v1/medications"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Cross-Origin-Resource-Policy","value":"same-origin"},{"key":"Origin-Agent-Cluster","value":"?1"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"X-XSS-Protection","value":"0"},{"key":"Access-Control-Allow-Origin","value":"http://localhost:8081"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"280"},{"key":"ETag","value":"W/\"118-Yz3xl+t3pze8WkvhLa5vbE4zNi8\""},{"key":"Date","value":"Fri, 28 Feb 2025 17:12:16 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"data\": {\n        \"id\": 8,\n        \"userId\": 1,\n        \"name\": \"Benzoyl Peroxide\",\n        \"dosage\": \"Use on skin\",\n        \"schedule\": \"DAILY\",\n        \"startDate\": \"2025-02-28T08:00:00.000Z\",\n        \"endDate\": \"2025-03-14T08:00:00.000Z\",\n        \"createdAt\": \"2025-02-28T17:12:16.572Z\",\n        \"updatedAt\": \"2025-02-28T17:12:16.572Z\",\n        \"reminders\": []\n    }\n}"}],"_postman_id":"fa3bb4da-8313-4fc2-a1be-39a1c16fcfc6"},{"name":"getMedications","id":"d84d8c3a-e054-4898-86f5-3f84451aae53","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:5000/api/v1/medications","description":"<p>Retrieves a list of all medications associated with the user, providing an organized view of their ongoing and past treatments.</p>\n","urlObject":{"path":["medications"],"host":["http://localhost:5000/api/v1"],"query":[],"variable":[]}},"response":[{"id":"5082a854-813d-4fa3-8fb5-d9a806872909","name":"example response","originalRequest":{"method":"GET","header":[],"url":"http://localhost:5000/api/v1/medications"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Cross-Origin-Resource-Policy","value":"same-origin"},{"key":"Origin-Agent-Cluster","value":"?1"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"X-XSS-Protection","value":"0"},{"key":"Access-Control-Allow-Origin","value":"http://localhost:8081"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"1813"},{"key":"ETag","value":"W/\"715-wA3vJj0U51G+CyROYdbeurCXhpQ\""},{"key":"Date","value":"Fri, 28 Feb 2025 17:12:54 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"data\": [\n        {\n            \"id\": 8,\n            \"userId\": 1,\n            \"name\": \"Benzoyl Peroxide\",\n            \"dosage\": \"Use on skin\",\n            \"schedule\": \"DAILY\",\n            \"startDate\": \"2025-02-28T08:00:00.000Z\",\n            \"endDate\": \"2025-03-14T08:00:00.000Z\",\n            \"createdAt\": \"2025-02-28T17:12:16.572Z\",\n            \"updatedAt\": \"2025-02-28T17:12:16.572Z\",\n            \"reminders\": []\n        },\n        {\n            \"id\": 7,\n            \"userId\": 1,\n            \"name\": \"Hydrocortizone\",\n            \"dosage\": \"10mg\",\n            \"schedule\": \"DAILY\",\n            \"startDate\": \"2025-02-28T11:32:46.019Z\",\n            \"endDate\": \"2025-03-28T11:32:46.019Z\",\n            \"createdAt\": \"2025-02-28T11:34:01.761Z\",\n            \"updatedAt\": \"2025-02-28T11:34:01.761Z\",\n            \"reminders\": []\n        },\n        {\n            \"id\": 6,\n            \"userId\": 1,\n            \"name\": \"Peniciline\",\n            \"dosage\": \"250mg\",\n            \"schedule\": \"TWICE_DAILY\",\n            \"startDate\": \"2025-02-28T09:45:14.534Z\",\n            \"endDate\": \"2025-03-22T09:45:14.535Z\",\n            \"createdAt\": \"2025-02-28T09:45:48.695Z\",\n            \"updatedAt\": \"2025-02-28T09:45:48.695Z\",\n            \"reminders\": []\n        }\n    ]\n}"}],"_postman_id":"d84d8c3a-e054-4898-86f5-3f84451aae53"}],"id":"09635096-0539-41a9-b25e-887db6fe7a5c","description":"<p>The <strong>Medication</strong> endpoints provide functionalities for managing users' medication schedules. Users can add, retrieve, and monitor their prescribed medications, ensuring they stay on track with their treatment plans. These endpoints facilitate structured medication management, reducing the risk of missed doses.</p>\n","_postman_id":"09635096-0539-41a9-b25e-887db6fe7a5c"},{"name":"notification","item":[{"name":"getNotifications","id":"ef019100-8b1d-4df1-b8a8-d2c707ba86a0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:5000/api/v1/notifications/","description":"<p>Retrieves a list of notifications for the user, on medication schedules.</p>\n","urlObject":{"path":["notifications",""],"host":["http://localhost:5000/api/v1"],"query":[],"variable":[]}},"response":[{"id":"944a60f5-5d2b-4428-ae01-8f03b19e4edd","name":"example response","originalRequest":{"method":"GET","header":[],"url":"http://localhost:5000/api/v1/notifications/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Cross-Origin-Resource-Policy","value":"same-origin"},{"key":"Origin-Agent-Cluster","value":"?1"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"X-XSS-Protection","value":"0"},{"key":"Access-Control-Allow-Origin","value":"http://localhost:8081"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"991"},{"key":"ETag","value":"W/\"3df-b/DBELYDmRZt7BuSgZeFukTRQCQ\""},{"key":"Date","value":"Fri, 28 Feb 2025 17:14:05 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": [\n        {\n            \"id\": 8,\n            \"title\": \"Time to take Benzoyl Peroxide\",\n            \"body\": \"Dosage: Use on skin\",\n            \"scheduledAt\": \"2025-02-28T08:00:00.000Z\",\n            \"medicationEntryId\": null\n        },\n        {\n            \"id\": 7,\n            \"title\": \"Time to take Hydrocortizone\",\n            \"body\": \"Dosage: 10mg\",\n            \"scheduledAt\": \"2025-02-28T11:32:46.019Z\",\n            \"medicationEntryId\": null\n        },\n        {\n            \"id\": 6,\n            \"title\": \"Time to take Peniciline\",\n            \"body\": \"Dosage: 250mg\",\n            \"scheduledAt\": \"2025-02-28T09:45:14.534Z\",\n            \"medicationEntryId\": null\n        },\n        {\n            \"id\": 2,\n            \"title\": \"Time to take Paracetamol\",\n            \"body\": \"Dosage: 500mg\",\n            \"scheduledAt\": \"2025-02-23T08:00:00.000Z\",\n            \"medicationEntryId\": null\n        },\n        {\n            \"id\": 1,\n            \"title\": \"Time to take Paracetamol\",\n            \"body\": \"Dosage: 500mg\",\n            \"scheduledAt\": \"2025-04-16T08:00:00.000Z\",\n            \"medicationEntryId\": null\n        }\n    ]\n}"}],"_postman_id":"ef019100-8b1d-4df1-b8a8-d2c707ba86a0"}],"id":"d39730df-f4e9-4a98-9924-3c1e4a03af32","description":"<p>The <strong>Notification</strong> endpoints are responsible for managing system-generated reminders. Users receive notifications regarding their medication schedules. This ensures a proactive approach to health management by keeping users informed and engaged.</p>\n","_postman_id":"d39730df-f4e9-4a98-9924-3c1e4a03af32"},{"name":"healthCheck","id":"4ab31063-4278-4862-b052-99d08b535feb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:5000/health","description":"<p>Performs a system health check to verify the availability and proper functioning of the SymptomPulse API.</p>\n","urlObject":{"host":["http://localhost:5000/health"],"query":[],"variable":[]}},"response":[{"id":"5480b7dd-af8f-4e6b-9dd3-4b6290f48b0d","name":"example response","originalRequest":{"method":"GET","header":[],"url":"http://localhost:5000/health"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Cross-Origin-Resource-Policy","value":"same-origin"},{"key":"Origin-Agent-Cluster","value":"?1"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"X-XSS-Protection","value":"0"},{"key":"Access-Control-Allow-Origin","value":"http://localhost:8081"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"77"},{"key":"ETag","value":"W/\"4d-AZrcsOaHh2nd4o9QObGCIL8HtPU\""},{"key":"Date","value":"Fri, 28 Feb 2025 17:15:00 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"OK\",\n    \"timestamp\": \"2025-02-28T17:15:00.103Z\",\n    \"uptime\": 14783.5874056\n}"}],"_postman_id":"4ab31063-4278-4862-b052-99d08b535feb"}],"event":[{"listen":"prerequest","script":{"id":"d075729a-13d6-49d7-ad0c-0e9d2af07622","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"ab61f795-4bbd-4d40-9865-7eb82b1adc21","type":"text/javascript","packages":{},"exec":[""]}}],"variable":[{"key":"base_url","value":"http://localhost:5000/api/","type":"string"},{"key":"current_version","value":"v1","type":"string"},{"key":"health","value":"http://localhost:5000/health","type":"string"}]}