{"info":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","description":"<html><head></head><body><p>This is the REST APIs for the FamTrust web application, a revolutionary product that aims to help families manage and track their finances.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"14404907","collectionId":"4f40f4d3-d63e-4459-87d1-e114fde1785c","publishedId":"2sA3s3HWhp","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2024-08-10T19:39:18.000Z"},"item":[{"name":"API Root & Status","item":[{"name":"Get API Status","event":[{"listen":"test","script":{"id":"585d3505-3d50-4248-9ec3-1b452f574b65","exec":["const responseData = pm.response.json();","","pm.test(\"Status code is 200\", () => {","    pm.response.to.have.status(200);","});","","pm.test(\"Response time to be below 500ms\", () => {","    pm.expect(pm.response.responseTime).to.be.below(500);","});","","pm.test(\"Response content type is application/json\", () => {","    pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");","});","","pm.test(\"Response must be an object\", () => {","    pm.expect(responseData).to.be.an('object');","});","","pm.test(\"Status Response has all required fields\", () => {","    pm.expect(responseData).to.have.all.keys('message', 'status_code', 'success', 'api');","});","","pm.test(\"Correct Data in 'api' section of response\", () => {","    const apiStatusData = responseData.api;","    pm.expect(responseData.api).to.have.all.keys('status', 'version');","    pm.expect(apiStatusData.status).equal('OK');","    pm.expect(apiStatusData.version).equal(pm.collectionVariables.get('apiVersion'));","});",""],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"83a088a4-b027-4c3c-a1e2-cb8376798d39","exec":[],"type":"text/javascript"}}],"id":"1b69be6b-9556-4dca-9758-663956b2b962","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[],"url":"https://core.famtrust.biz/api/v1/status","description":"<p>Returns 'OK' if the API is up and running.</p>\n","urlObject":{"path":["status"],"host":["https://core.famtrust.biz/api/v1"],"query":[],"variable":[]}},"response":[{"id":"15040a1e-1c3b-40f1-bb0b-ea3b3347360d","name":"Get API Status","originalRequest":{"method":"GET","header":[],"url":"https://core.famtrust.biz/api/v1/status"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 20 Jul 2024 12:42:08 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.10.12"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, Cookie"},{"key":"Allow","value":"OPTIONS, GET"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"117"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"API status retrieved successfully\",\n    \"status_code\": 200,\n    \"success\": true,\n    \"api\": {\n        \"status\": \"OK\",\n        \"version\": \"v1\"\n    }\n}"}],"_postman_id":"1b69be6b-9556-4dca-9758-663956b2b962"},{"name":"List Endpoints","event":[{"listen":"test","script":{"id":"8e70e980-b02c-40de-b123-e5a9d1600721","exec":[""],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"949e63da-286d-4e16-9b7a-1374766e0406","exec":[""],"type":"text/javascript","packages":{}}}],"id":"faa10cba-3f90-4fd4-bfae-d73b01e983e1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[],"url":"https://core.famtrust.biz/api/v1/","description":"<p>Lists all the endpoints reachable for this API</p>\n","urlObject":{"path":[""],"host":["https://core.famtrust.biz/api/v1"],"query":[],"variable":[]}},"response":[{"id":"3fff3489-0868-441a-a2f9-a215c587fc94","name":"List Endpoints","originalRequest":{"method":"GET","header":[],"url":"https://core.famtrust.biz/api/v1/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 11 Aug 2024 12:58:19 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Report-To","value":"{\"group\":\"heroku-nel\",\"max_age\":3600,\"endpoints\":[{\"url\":\"https://nel.heroku.com/reports?ts=1723381099&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=wydiLmMRNnDdeTIEDx1NNyOPAHblNtzlbkM4yBM2U%2FE%3D\"}]}"},{"key":"Reporting-Endpoints","value":"heroku-nel=https://nel.heroku.com/reports?ts=1723381099&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=wydiLmMRNnDdeTIEDx1NNyOPAHblNtzlbkM4yBM2U%2FE%3D"},{"key":"Nel","value":"{\"report_to\":\"heroku-nel\",\"max_age\":3600,\"success_fraction\":0.005,\"failure_fraction\":0.05,\"response_headers\":[\"Via\"]}"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Vary","value":"Cookie, origin"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Via","value":"1.1 vegur"},{"key":"CF-Cache-Status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"8b18657d1eb579be-LHR"},{"key":"Content-Encoding","value":"br"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"API Endpoints retrieved successfully\",\n    \"status_code\": 200,\n    \"success\": true,\n    \"endpoints\": {\n        \"sub_accounts\": \"https://core.famtrust.biz/api/v1/sub-accounts\",\n        \"family_accounts\": \"https://core.famtrust.biz/api/v1/family-accounts\",\n        \"accounts\": \"https://core.famtrust.biz/api/v1/accounts\",\n        \"fund_requests\": \"https://core.famtrust.biz/api/v1/fund-requests\",\n        \"transactions\": \"https://core.famtrust.biz/api/v1/transactions\",\n        \"family_groups\": \"https://core.famtrust.biz/api/v1/family-groups\",\n        \"family_memberships\": \"https://core.famtrust.biz/api/v1/family-memberships\",\n        \"api_status\": \"https://core.famtrust.biz/api/v1/status/\",\n        \"users\": \"https://auth.famtrust.biz/api/v1/users\",\n        \"profile\": \"https://auth.famtrust.biz/api/v1/profile\"\n    }\n}"}],"_postman_id":"faa10cba-3f90-4fd4-bfae-d73b01e983e1"}],"id":"5d93a8ae-9981-4437-bfe9-35f4e39d2b65","description":"<p>API status and the list of endpoints</p>\n","_postman_id":"5d93a8ae-9981-4437-bfe9-35f4e39d2b65","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}}},{"name":"Accounts","item":[{"name":"Sub Accounts","item":[{"name":"List Sub Accounts","event":[{"listen":"test","script":{"id":"61e6bf71-83b8-4535-923b-e68f0eed0bd8","exec":["pm.test(\"Response status code is 200\", function () {","    pm.response.to.have.status(200);","});","","","pm.test(\"Response time is less than 500ms\", function () {","    pm.expect(pm.response.responseTime).to.be.below(500);","});","","","pm.test(\"Response has the required fields\", function () {","    const responseData = pm.response.json();","","    pm.expect(responseData).to.be.an('object');","    pm.expect(responseData).to.include.all.keys('message', 'status_code', 'success', 'metadata', 'sub_accounts');","});","","pm.test(\"Validate the structure of sub_accounts array\", function () {","    const responseData = pm.response.json();","","    pm.expect(responseData).to.be.an('object');","    pm.expect(responseData.sub_accounts).to.be.an('array');","","    responseData.sub_accounts.forEach(function (subAccount) {","        pm.expect(subAccount).to.have.property('id').that.is.a('string');","        pm.expect(subAccount).to.have.property('family_account').that.is.an('object');","        pm.expect(subAccount).to.have.property('owner_id').that.is.a('string');","        pm.expect(subAccount).to.have.property('created_by').that.is.a('string');","        pm.expect(subAccount).to.have.property('type').that.is.a('string');","        pm.expect(subAccount).to.have.property('name').that.is.a('string');","        pm.expect(subAccount).to.have.property('is_active').that.is.a('boolean');","        pm.expect(subAccount).to.have.property('balance').that.is.a('string');","        pm.expect(subAccount).to.have.property('created_at').that.is.a('string');","        pm.expect(subAccount).to.have.property('updated_at').that.is.a('string');","    });","});","","pm.test(\"The structure of the family_account object within sub_accounts is correct\", function () {","    const responseData = pm.response.json();","","    pm.expect(responseData.sub_accounts).to.be.an('array');","    responseData.sub_accounts.forEach(function (subAccount) {","        pm.expect(subAccount.family_account).to.be.an('object');","        pm.expect(subAccount.family_account.id).to.be.a('string');","        pm.expect(subAccount.family_account.name).to.be.a('string');","        pm.expect(subAccount.family_account.balance).to.exist;","        pm.expect(subAccount.family_account.family_group).to.be.an('object');","        pm.expect(subAccount.family_account.family_group.id).to.be.a('string');","        pm.expect(subAccount.family_account.family_group.name).to.be.a('string');","        pm.expect(subAccount.family_account.family_group.description).to.be.a('string');","        pm.expect(subAccount.family_account.family_group.is_default).to.be.a('boolean');","    });","});",""],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"77e9cd11-2aa3-4652-a837-10e21ba4cdc3","exec":[""],"type":"text/javascript","packages":{}}}],"id":"d79bd4d7-3f37-4a8e-bf3f-765fd95f298b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://core.famtrust.biz/api/v1/sub-accounts","description":"<p>This endpoint retrieves all the sub accounts for the current authenticated user. For admins, they will see all sub accounts in the family (default family group)</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["sub-accounts"],"host":["https://core.famtrust.biz/api/v1"],"query":[{"disabled":true,"description":{"content":"<p>Search for accounts based on their name or type</p>\n","type":"text/plain"},"key":"q","value":""},{"disabled":true,"description":{"content":"<p>The page number to start from.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>The number of sub accounts to retrieve per request. The default is 25 accounts per request.</p>\n","type":"text/plain"},"key":"page_size","value":"25"}],"variable":[]}},"response":[{"id":"70a5b6cc-c7eb-4701-9746-f2401f61b22c","name":"List Sub Accounts","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"https://core.famtrust.biz/api/v1/sub-accounts","host":["https://core.famtrust.biz/api/v1"],"path":["sub-accounts"],"query":[{"key":"q","value":"","description":"Search for accounts based on their name or type","disabled":true},{"key":"page_size","value":null,"disabled":true},{"key":"page","value":null,"type":"text","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 10 Aug 2024 23:44:05 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Report-To","value":"{\"group\":\"heroku-nel\",\"max_age\":3600,\"endpoints\":[{\"url\":\"https://nel.heroku.com/reports?ts=1723333444&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=nw1dAh6d63b6fcPXNjLWviV%2BjE23w6t2RaD%2FNs4F8BU%3D\"}]}"},{"key":"Reporting-Endpoints","value":"heroku-nel=https://nel.heroku.com/reports?ts=1723333444&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=nw1dAh6d63b6fcPXNjLWviV%2BjE23w6t2RaD%2FNs4F8BU%3D"},{"key":"Nel","value":"{\"report_to\":\"heroku-nel\",\"max_age\":3600,\"success_fraction\":0.005,\"failure_fraction\":0.05,\"response_headers\":[\"Via\"]}"},{"key":"Allow","value":"GET, POST, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Vary","value":"Cookie, origin"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Via","value":"1.1 vegur"},{"key":"CF-Cache-Status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"8b13da0b0bdd79b6-LHR"},{"key":"Content-Encoding","value":"br"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Sub Accounts retrieved successfully.\",\n    \"status_code\": 200,\n    \"success\": true,\n    \"metadata\": {\n        \"next\": null,\n        \"previous\": null,\n        \"count\": 2,\n        \"total_pages\": 1,\n        \"current_page\": 1\n    },\n    \"sub_accounts\": [\n        {\n            \"id\": \"b92ff61d-962e-4938-a16d-a730c3a987df\",\n            \"family_account\": {\n                \"id\": \"924ec24b-05ed-427e-9612-cbcc7e69bc29\",\n                \"name\": \"New Account\",\n                \"balance\": \"30500.00\",\n                \"family_group\": {\n                    \"id\": \"843827bf-75e2-40c5-86ae-b9bdbb5accff\",\n                    \"name\": \"Our Default Family Group\",\n                    \"description\": \"This is where all my family members will be.\",\n                    \"is_default\": true\n                }\n            },\n            \"owner_id\": \"05992796-18b0-412b-9d34-1c12a108abb5\",\n            \"created_by\": \"05992796-18b0-412b-9d34-1c12a108abb5\",\n            \"type\": \"savings\",\n            \"name\": \"Sub Account 1\",\n            \"is_active\": true,\n            \"balance\": \"0.00\",\n            \"created_at\": \"2024-08-01T20:45:19.883975Z\",\n            \"updated_at\": \"2024-08-01T20:45:19.883975Z\"\n        },\n        {\n            \"id\": \"06e2e0a8-7a3d-449b-b97a-324691a957cf\",\n            \"family_account\": {\n                \"id\": \"c750af8d-184a-44c6-910f-5b096a0f697e\",\n                \"name\": \"FamTrust Savings\",\n                \"balance\": \"10000.00\",\n                \"family_group\": {\n                    \"id\": \"843827bf-75e2-40c5-86ae-b9bdbb5accff\",\n                    \"name\": \"Our Default Family Group\",\n                    \"description\": \"This is where all my family members will be.\",\n                    \"is_default\": true\n                }\n            },\n            \"owner_id\": \"05992796-18b0-412b-9d34-1c12a108abb5\",\n            \"created_by\": \"05992796-18b0-412b-9d34-1c12a108abb5\",\n            \"type\": \"savings\",\n            \"name\": \"Sub Account 1\",\n            \"is_active\": true,\n            \"balance\": \"0.00\",\n            \"created_at\": \"2024-08-01T12:37:35.468996Z\",\n            \"updated_at\": \"2024-08-01T12:37:35.468996Z\"\n        }\n    ]\n}"}],"_postman_id":"d79bd4d7-3f37-4a8e-bf3f-765fd95f298b"},{"name":"Get a Sub Account","id":"fbf5f692-18db-4a4d-9e52-217cecb08759","protocolProfileBehavior":{"followAuthorizationHeader":true,"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://core.famtrust.biz/api/v1/sub-accounts/:sub_account_id","description":"<p>This endpoint retrieves a single sub account by their ID.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["sub-accounts",":sub_account_id"],"host":["https://core.famtrust.biz/api/v1"],"query":[],"variable":[{"description":{"content":"<p>The ID of the sub account</p>\n","type":"text/plain"},"type":"any","value":"b92ff61d-962e-4938-a16d-a730c3a987df","key":"sub_account_id"}]}},"response":[{"id":"9058d39a-a213-4fb0-b539-c94c99848ed8","name":"Retrieves a single sub account","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://core.famtrust.biz/api/v1/sub-accounts/:sub_account_id","protocol":"https","host":["core","famtrust","biz"],"path":["api","v1","sub-accounts",":sub_account_id"],"variable":[{"key":"sub_account_id","value":"","description":"The id of the sub account"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 31 Jul 2024 13:40:48 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.10.12"},{"key":"Content-Type","value":"application/json"},{"key":"Allow","value":"GET, PUT, PATCH, DELETE, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"686"},{"key":"Vary","value":"Cookie"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Sub Account retrieved successfully.\",\n    \"status_code\": 200,\n    \"success\": true,\n    \"sub_account\": {\n        \"id\": \"e1924b27-bc2f-475a-aec9-3c271dae0cc9\",\n        \"family_account\": {\n            \"id\": \"924ec24b-05ed-427e-9612-cbcc7e69bc29\",\n            \"name\": \"New Account\",\n            \"balance\": \"30500.00\",\n            \"family_group\": {\n                \"id\": \"843827bf-75e2-40c5-86ae-b9bdbb5accff\",\n                \"name\": \"Our Default Family Group\",\n                \"description\": \"This is where all my family members will be.\",\n                \"is_default\": true\n            }\n        },\n        \"owner_id\": \"05992796-18b0-412b-9d34-1c12a108abb5\",\n        \"created_by\": \"05992796-18b0-412b-9d34-1c12a108abb5\",\n        \"type\": \"savings\",\n        \"name\": \"Sub Account 1\",\n        \"is_active\": true,\n        \"balance\": \"1500.00\",\n        \"created_at\": \"2024-07-31T13:31:45.979537Z\",\n        \"updated_at\": \"2024-07-31T13:40:25.960168Z\"\n    }\n}"}],"_postman_id":"fbf5f692-18db-4a4d-9e52-217cecb08759"},{"name":"Create a sub account","event":[{"listen":"test","script":{"exec":["if (pm.response.code === 201) {","    pm.collectionVariables.set(\"sub_account_id\", pm.response.json().sub_account.id)","}","","pm.test(\"Status Code\", () => {","    pm.response.to.have.status(201);","});",""],"type":"text/javascript","packages":{},"id":"c01904f3-3152-4308-83c4-96b7c1e4390e"}},{"listen":"prerequest","script":{"exec":[""],"type":"text/javascript","packages":{},"id":"3a2bba7d-e4f4-4e3c-8949-9d32b2805143"}}],"id":"ee2a2593-8956-434e-a192-86b61cac2095","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"owner_id\": \"05992796-18b0-412b-9d34-1c12a108abb5\",\n    \"family_account_id\": \"924ec24b-05ed-427e-9612-cbcc7e69bc29\",\n    \"name\": \"Sub Account 2\"\n}","options":{"raw":{"language":"json"}}},"url":"https://core.famtrust.biz/api/v1/sub-accounts","description":"<p>This endpoint handles the creation of a new sub account for a member in the family. Each sub account is self-contained and linked to a family account from which they are allowed to ask fund requests from.</p>\n<p><strong>Only family administrators are allowed to create sub accounts</strong></p>\n<p>The <code>owner_id</code> is the ID of the user who this sub account is being created for. This user must be a member of the group that the family account is linked with.</p>\n<p>The <code>family_account_id</code> is the ID of the family account that the user is going to be withdrawing or asking for funds from. As stated before, the user must be a member of the group the family account is linked to.</p>\n<p>The <code>name</code> is friendly name for the account. Two members in the same family cannot have the same account name. </p>\n<p><strong>Note: A user can have only one sub account per family account.</strong></p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["sub-accounts"],"host":["https://core.famtrust.biz/api/v1"],"query":[],"variable":[]}},"response":[{"id":"bc7017de-ef6d-4f7b-bed4-e95543bc3d28","name":"Create a sub account","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"owner_id\": \"\",\n    \"family_account_id\": \"\",\n    \"name\": \"Child 1\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8000/api/v1/sub-accounts"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 25 Jul 2024 20:13:24 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.10.12"},{"key":"Content-Type","value":"application/json"},{"key":"Location","value":"http://localhost:8000/api/v1/sub-accounts/479601cb-9871-4cbf-96c1-40c72c2db6b7"},{"key":"Allow","value":"GET, POST, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"757"},{"key":"Vary","value":"Cookie"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Sub Account created successfully.\",\n    \"status_code\": 201,\n    \"success\": true,\n    \"sub_account\": {\n        \"id\": \"479601cb-9871-4cbf-96c1-40c72c2db6b7\",\n        \"family_account\": {\n            \"id\": \"8515188d-df6f-44e8-aa31-803321fa2333\",\n            \"name\": \"Investment Account of Unborn Generations\",\n            \"family_group\": \"9a1c74be-7243-4ae0-94bf-7a39ec2933b5\",\n            \"balance\": \"0.00\"\n        },\n        \"owner_id\": \"4e676eec-c3f0-42e7-bc7f-5a0367a38343\",\n        \"created_by\": \"4e676eec-c3f0-42e7-bc7f-5a0367a38343\",\n        \"type\": \"savings\",\n        \"name\": \"Child 1\",\n        \"is_active\": true,\n        \"balance\": \"0.00\",\n        \"created_at\": \"2024-07-25T20:13:23.997707Z\",\n        \"updated_at\": \"2024-07-25T20:13:23.997707Z\"\n    }\n}"}],"_postman_id":"ee2a2593-8956-434e-a192-86b61cac2095"},{"name":"Delete a Sub Account","event":[{"listen":"test","script":{"exec":["/**"," * Test the delete endpoint for sub accounts"," */","pm.test(\"Status Code\", () => {","    pm.response.to.have.status(204);","})"],"type":"text/javascript","packages":{},"id":"a1c82502-4fb2-4e51-bab4-1b80fe3b6e15"}},{"listen":"prerequest","script":{"exec":[],"type":"text/javascript","id":"24f615aa-c447-44e7-ab00-58a0240a0abf"}}],"id":"58864673-1db7-4249-9786-107e325f390b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://core.famtrust.biz/api/v1/sub-accounts/:sub_account_id","description":"<p>This endpoint deletes a sub account from the family. Only Family Administrators are allowed to perform this action.</p>\n<p>On success, an HTTP 204 (No Content) status code is returned. In the event that an error occurred, for example, invalid <code>sub_account_id</code> an HTTP 4xx status code is returned. The errors are well detailed to understand what went wrong.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["sub-accounts",":sub_account_id"],"host":["https://core.famtrust.biz/api/v1"],"query":[],"variable":[{"id":"66bc1614-e8f9-4ed5-b07d-9b7e05018910","description":{"content":"<p>The ID of the sub account to delete.</p>\n","type":"text/plain"},"type":"any","value":"b92ff61d-962e-4938-a16d-a730c3a987df","key":"sub_account_id"}]}},"response":[{"id":"861781d1-67c0-42b2-8414-a49bcfd5bb51","name":"Delete a Sub Account","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://core.famtrust.biz/api/v1/sub-accounts/:sub_account_id","host":["https://core.famtrust.biz/api/v1"],"path":["sub-accounts",":sub_account_id"],"variable":[{"key":"sub_account_id","value":"b92ff61d-962e-4938-a16d-a730c3a987df","description":"The ID of the sub account to delete."}]}},"status":"No Content","code":204,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"58864673-1db7-4249-9786-107e325f390b"},{"name":"Update Sub Account","event":[{"listen":"test","script":{"id":"4fdbb196-142d-49b0-9c9b-e24d72e4861f","exec":["const responseData = pm.response.json();","const requestData = JSON.parse(pm.request.body.raw);","","pm.test(\"Status Code is 200\", () => {","    pm.response.to.have.status(200);","});","","pm.test(\"Account name must match what was sent in the Request body\", () => {","    pm.expect(responseData.sub_account).is.not.undefined;","    pm.expect(responseData.sub_account.name).is.equal(requestData.name);","});","","pm.test(\"Response time is below 500ms\", () => {","    pm.expect(pm.response.responseTime).to.be.below(500);","})"],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"6dbc152e-8b82-4cd7-ae88-d86eb400fbc8","exec":[""],"type":"text/javascript","packages":{}}}],"id":"4c8d04be-d255-47ba-827f-da72f615c4df","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"owner_id\": \"05992796-18b0-412b-9d34-1c12a108abb5\",\n    \"family_account_id\": \"924ec24b-05ed-427e-9612-cbcc7e69bc29\",\n    \"name\": \"Updated Account Name\"\n}","options":{"raw":{"language":"json"}}},"url":"https://core.famtrust.biz/api/v1/sub-accounts/:sub_account_id","description":"<p>This endpoint allows you to update the details of a sub account. Administrators can update any sub account under their family groups, while members have access only to their accounts.</p>\n<h2 id=\"deactivating-an-account\">Deactivating an Account</h2>\n<p>Administrators can disable an account for any reason they deem fit, e.g., a family member is overspending or as a disciplinary action. The ultimate reason lies with the administrators as they have all the authority and permissions.</p>\n<p>To deactivate an account, add the <code>is_active</code> field and set it to <code>false</code>. For convenience, other false values are accepted, i.e., <code>0</code>, <code>no</code> and <code>false</code> itself.</p>\n<h2 id=\"response\">Response</h2>\n<p>On a successful update, the sub account data is returned. In the event of any error, the response explains what happened.</p>\n<p>Should you have any questions that is beyond your reach, reach out to <a href=\"https://linkedin.com/in/maxwellnanaforson/\">support</a>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["sub-accounts",":sub_account_id"],"host":["https://core.famtrust.biz/api/v1"],"query":[],"variable":[{"description":{"content":"<p>The ID of the sub account to update</p>\n","type":"text/plain"},"type":"any","value":"b92ff61d-962e-4938-a16d-a730c3a987df","key":"sub_account_id"}]}},"response":[{"id":"3778e5fd-7c1e-4ad8-a97c-485b9a85f43d","name":"Update Sub Account","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"owner_id\": \"05992796-18b0-412b-9d34-1c12a108abb5\",\n    \"family_account_id\": \"924ec24b-05ed-427e-9612-cbcc7e69bc29\",\n    \"name\": \"Updated Account Name\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://core.famtrust.biz/api/v1/sub-accounts/:sub_account_id","host":["https://core.famtrust.biz/api/v1"],"path":["sub-accounts",":sub_account_id"],"variable":[{"key":"sub_account_id","value":"b92ff61d-962e-4938-a16d-a730c3a987df","description":"The ID of the sub account to update"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 11 Aug 2024 10:19:39 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.10.12"},{"key":"Content-Type","value":"application/json"},{"key":"Allow","value":"GET, PUT, DELETE"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"688"},{"key":"Vary","value":"Cookie, origin"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Sub Account updated successfully.\",\n    \"status_code\": 200,\n    \"success\": true,\n    \"sub_account\": {\n        \"id\": \"b92ff61d-962e-4938-a16d-a730c3a987df\",\n        \"family_account\": {\n            \"id\": \"924ec24b-05ed-427e-9612-cbcc7e69bc29\",\n            \"name\": \"New Account\",\n            \"balance\": \"30500.00\",\n            \"family_group\": {\n                \"id\": \"843827bf-75e2-40c5-86ae-b9bdbb5accff\",\n                \"name\": \"Our Default Family Group\",\n                \"description\": \"This is where all my family members will be.\",\n                \"is_default\": true\n            }\n        },\n        \"owner_id\": \"05992796-18b0-412b-9d34-1c12a108abb5\",\n        \"created_by\": \"05992796-18b0-412b-9d34-1c12a108abb5\",\n        \"type\": \"savings\",\n        \"name\": \"Updated Account Name\",\n        \"is_active\": true,\n        \"balance\": \"0.00\",\n        \"created_at\": \"2024-08-01T20:45:19.883975Z\",\n        \"updated_at\": \"2024-08-11T10:19:39.486552Z\"\n    }\n}"}],"_postman_id":"4c8d04be-d255-47ba-827f-da72f615c4df"}],"id":"187f5c4c-22c0-49fb-a564-10cadea8b1aa","_postman_id":"187f5c4c-22c0-49fb-a564-10cadea8b1aa","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}}},{"name":"Accounts Summary","item":[{"name":"List Transactional Accounts","id":"fe41c26f-45a7-4716-89d5-fbfe1441c4db","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://core.famtrust.biz/api/v1/accounts","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["accounts"],"host":["https://core.famtrust.biz/api/v1"],"query":[{"disabled":true,"description":{"content":"<p>The number of accounts to return for each type.</p>\n<p>Note: The size affects the results for each account.</p>\n","type":"text/plain"},"key":"page_size","value":""},{"disabled":true,"description":{"content":"<p>The page to go to. Each page has a minimum of 25 response data, unless otherwise modified</p>\n","type":"text/plain"},"key":"page","value":""}],"variable":[]}},"response":[{"id":"c615852e-5df3-4b6b-b1c9-80b27089b611","name":"List Transactional Accounts","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://core.famtrust.biz/api/v1/accounts","host":["https://core.famtrust.biz/api/v1"],"path":["accounts"],"query":[{"key":"page_size","value":"","description":"The number of accounts to return for each type.\n\nNote: The size affects the results for each account.","disabled":true},{"key":"page","value":"","description":"The page to go to. Each page has a minimum of 25 response data, unless otherwise modified","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 10 Aug 2024 23:42:07 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Report-To","value":"{\"group\":\"heroku-nel\",\"max_age\":3600,\"endpoints\":[{\"url\":\"https://nel.heroku.com/reports?ts=1723333325&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=AZw%2FDpoTgna0VWwVl8DSbgdoMJPEOFxhRhm2XUPxpME%3D\"}]}"},{"key":"Reporting-Endpoints","value":"heroku-nel=https://nel.heroku.com/reports?ts=1723333325&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=AZw%2FDpoTgna0VWwVl8DSbgdoMJPEOFxhRhm2XUPxpME%3D"},{"key":"Nel","value":"{\"report_to\":\"heroku-nel\",\"max_age\":3600,\"success_fraction\":0.005,\"failure_fraction\":0.05,\"response_headers\":[\"Via\"]}"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Vary","value":"Cookie, origin"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Via","value":"1.1 vegur"},{"key":"CF-Cache-Status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"8b13d7255ed079b6-LHR"},{"key":"Content-Encoding","value":"br"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Accounts retrieved successfully.\",\n    \"status_code\": 200,\n    \"success\": true,\n    \"accounts\": {\n        \"sub_accounts\": [\n            {\n                \"id\": \"06e2e0a8-7a3d-449b-b97a-324691a957cf\",\n                \"name\": \"Sub Account 1\",\n                \"owner_id\": \"05992796-18b0-412b-9d34-1c12a108abb5\",\n                \"type\": \"savings\",\n                \"balance\": \"0.00\",\n                \"family_account\": {\n                    \"id\": \"c750af8d-184a-44c6-910f-5b096a0f697e\",\n                    \"name\": \"FamTrust Savings\",\n                    \"balance\": \"10000.00\",\n                    \"family_group\": {\n                        \"id\": \"843827bf-75e2-40c5-86ae-b9bdbb5accff\",\n                        \"name\": \"Our Default Family Group\",\n                        \"description\": \"This is where all my family members will be.\",\n                        \"is_default\": true\n                    }\n                }\n            },\n            {\n                \"id\": \"b92ff61d-962e-4938-a16d-a730c3a987df\",\n                \"name\": \"Sub Account 1\",\n                \"owner_id\": \"05992796-18b0-412b-9d34-1c12a108abb5\",\n                \"type\": \"savings\",\n                \"balance\": \"0.00\",\n                \"family_account\": {\n                    \"id\": \"924ec24b-05ed-427e-9612-cbcc7e69bc29\",\n                    \"name\": \"New Account\",\n                    \"balance\": \"30500.00\",\n                    \"family_group\": {\n                        \"id\": \"843827bf-75e2-40c5-86ae-b9bdbb5accff\",\n                        \"name\": \"Our Default Family Group\",\n                        \"description\": \"This is where all my family members will be.\",\n                        \"is_default\": true\n                    }\n                }\n            }\n        ],\n        \"family_accounts\": [\n            {\n                \"id\": \"c750af8d-184a-44c6-910f-5b096a0f697e\",\n                \"name\": \"FamTrust Savings\",\n                \"balance\": \"10000.00\",\n                \"family_group\": {\n                    \"id\": \"843827bf-75e2-40c5-86ae-b9bdbb5accff\",\n                    \"name\": \"Our Default Family Group\",\n                    \"description\": \"This is where all my family members will be.\",\n                    \"is_default\": true\n                }\n            },\n            {\n                \"id\": \"924ec24b-05ed-427e-9612-cbcc7e69bc29\",\n                \"name\": \"New Account\",\n                \"balance\": \"30500.00\",\n                \"family_group\": {\n                    \"id\": \"843827bf-75e2-40c5-86ae-b9bdbb5accff\",\n                    \"name\": \"Our Default Family Group\",\n                    \"description\": \"This is where all my family members will be.\",\n                    \"is_default\": true\n                }\n            }\n        ]\n    }\n}"}],"_postman_id":"fe41c26f-45a7-4716-89d5-fbfe1441c4db"}],"id":"3117221e-bc7e-4dab-81ab-fe8500bd8504","description":"<p>This is useful for requests that need both sub-accounts and family accounts in a single response. The response is paginated and then returned to the user.</p>\n<p>If you need to perform other operations outside listing the accounts for a particular user, use the specific endpoint collections.</p>\n","_postman_id":"3117221e-bc7e-4dab-81ab-fe8500bd8504","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}}},{"name":"Family Accounts","item":[{"name":"List family accounts","id":"d65a5e6d-5fa8-4e6b-9dbc-f105b6dd04da","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://core.famtrust.biz/api/v1/family-accounts","description":"<p>This endpoints retrieves all the family accounts that a user (with a sub-account) belongs to.</p>\n<p>For the admin of the platform, they will see all the family accounts they created as well as those they are part of.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["family-accounts"],"host":["https://core.famtrust.biz/api/v1"],"query":[],"variable":[]}},"response":[{"id":"25c3061e-b4e6-40f6-b38c-fc98d6f76989","name":"Retrieve all family accounts","originalRequest":{"method":"GET","header":[],"url":"http://localhost:8000/api/v1/family-accounts"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 30 Jul 2024 22:24:16 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.10.12"},{"key":"Content-Type","value":"application/json"},{"key":"Allow","value":"GET, POST, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"629"},{"key":"Vary","value":"Cookie"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Family Accounts retrieved successfully.\",\n    \"status_code\": 200,\n    \"success\": true,\n    \"metadata\": {\n        \"next\": null,\n        \"previous\": null,\n        \"count\": 1,\n        \"total_pages\": 1,\n        \"current_page\": 1\n    },\n    \"family_accounts\": [\n        {\n            \"id\": \"8515188d-df6f-44e8-aa31-803321fa2333\",\n            \"fund_requests\": [],\n            \"family_group\": {\n                \"id\": \"9a1c74be-7243-4ae0-94bf-7a39ec2933b5\",\n                \"name\": \"The unborn generation\",\n                \"description\": \"A family group for the unborn generation.\",\n                \"is_default\": false\n            },\n            \"name\": \"Investment Account of Unborn Generations\",\n            \"created_by\": \"4e676eec-c3f0-42e7-bc7f-5a0367a38343\",\n            \"balance\": \"0.00\",\n            \"created_at\": \"2024-07-25T20:11:06.115506Z\",\n            \"updated_at\": \"2024-07-25T20:11:06.115506Z\"\n        }\n    ]\n}"}],"_postman_id":"d65a5e6d-5fa8-4e6b-9dbc-f105b6dd04da"},{"name":"Get a family account","id":"497faa34-6efa-4c61-98bf-99c0f5a51772","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://core.famtrust.biz/api/v1/family-accounts/:family_account_id","description":"<p>Retrieve a family account by ID</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["family-accounts",":family_account_id"],"host":["https://core.famtrust.biz/api/v1"],"query":[],"variable":[{"id":"b2a6217a-50c0-4ecd-a597-235b15a2cfc2","description":{"content":"<p>The ID of the family account to retrieve</p>\n","type":"text/plain"},"type":"any","value":"924ec24b-05ed-427e-9612-cbcc7e69bc29","key":"family_account_id"}]}},"response":[{"id":"808b9672-bb3a-414e-9b3a-67d6074d9d62","name":"Get a family account","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://core.famtrust.biz/api/v1/family-accounts/:family_account_id","host":["https://core.famtrust.biz/api/v1"],"path":["family-accounts",":family_account_id"],"variable":[{"key":"family_account_id","value":"924ec24b-05ed-427e-9612-cbcc7e69bc29","description":"The ID of the family account to retrieve"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 11 Aug 2024 13:25:08 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Report-To","value":"{\"group\":\"heroku-nel\",\"max_age\":3600,\"endpoints\":[{\"url\":\"https://nel.heroku.com/reports?ts=1723382707&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=4n%2BBXCLbPdTlM0kNkiUuBMItScdEYsNMq5UQzWM64%2FM%3D\"}]}"},{"key":"Reporting-Endpoints","value":"heroku-nel=https://nel.heroku.com/reports?ts=1723382707&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=4n%2BBXCLbPdTlM0kNkiUuBMItScdEYsNMq5UQzWM64%2FM%3D"},{"key":"Nel","value":"{\"report_to\":\"heroku-nel\",\"max_age\":3600,\"success_fraction\":0.005,\"failure_fraction\":0.05,\"response_headers\":[\"Via\"]}"},{"key":"Allow","value":"GET, PUT, PATCH, DELETE, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Vary","value":"Cookie, origin"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Via","value":"1.1 vegur"},{"key":"CF-Cache-Status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"8b188cc1bd02cd6b-LHR"},{"key":"Content-Encoding","value":"br"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Family Account retrieved successfully.\",\n    \"status_code\": 200,\n    \"success\": true,\n    \"family_account\": {\n        \"id\": \"924ec24b-05ed-427e-9612-cbcc7e69bc29\",\n        \"fund_requests\": [],\n        \"family_group\": {\n            \"id\": \"843827bf-75e2-40c5-86ae-b9bdbb5accff\",\n            \"name\": \"Our Default Family Group\",\n            \"description\": \"This is where all my family members will be.\",\n            \"is_default\": true\n        },\n        \"name\": \"New Account\",\n        \"created_by\": \"05992796-18b0-412b-9d34-1c12a108abb5\",\n        \"balance\": \"62500.00\",\n        \"created_at\": \"2024-07-31T11:14:30.232114Z\",\n        \"updated_at\": \"2024-08-11T13:14:30.994614Z\"\n    }\n}"}],"_postman_id":"497faa34-6efa-4c61-98bf-99c0f5a51772"},{"name":"Create family account","event":[{"listen":"test","script":{"exec":["if (pm.response.code == 201) {","    const data = pm.response.json().family_account;","    const family_account_id = data.id;","    ","    pm.collectionVariables.set(\"family_account_id\", family_account_id);","}"],"type":"text/javascript","packages":{},"id":"9f4452f5-f7bc-496b-bdcf-3e1b53b18138"}},{"listen":"prerequest","script":{"exec":[""],"type":"text/javascript","packages":{},"id":"9ea68345-79bb-4b71-b32f-5212f53edbd3"}}],"id":"8ddc74cc-c889-40cf-a3a5-11faf7f58a13","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n\t\"name\": \"FamTrust Savings\",\n\t\"family_group_id\": \"843827bf-75e2-40c5-86ae-b9bdbb5accff\"\n}","options":{"raw":{"language":"json"}}},"url":"https://core.famtrust.biz/api/v1/family-accounts","description":"<p>This endpoint is only accessible to admin users or users with the appropriate permissions. The sole purpose of this endpoint is to create new family accounts for a specific family group.</p>\n<p>Anyone who is in the family group that this account is created for can withdraw or interact with the account. A default family account will be created when a user is first registered on the platform. If no further accounts are created, everyone will be allowed to interact\nwith that account. For finer control and access, consider creating groups and assigning specific accounts to them.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["family-accounts"],"host":["https://core.famtrust.biz/api/v1"],"query":[],"variable":[]}},"response":[{"id":"268a72ee-1279-42de-8ba7-0a6f39aa313c","name":"Create family account","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n\t\"name\": \"Investment Account of Unborn Generations\",\n\t\"family_group_id\": \"3decd9a0-e751-410b-9784-d8ab47d86b78a\"\n}","options":{"raw":{"language":"json"}}},"url":"https://core.famtrust.biz/api/v1/family-accounts"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 28 Jul 2024 07:45:00 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"768"},{"key":"Connection","value":"keep-alive"},{"key":"Report-To","value":"{\"group\":\"heroku-nel\",\"max_age\":3600,\"endpoints\":[{\"url\":\"https://nel.heroku.com/reports?ts=1722152698&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=lQ1XdVzTl9ujC1nogt%2Fn2iEwwDh33j29Is0JXaHr2Z4%3D\"}]}"},{"key":"Reporting-Endpoints","value":"heroku-nel=https://nel.heroku.com/reports?ts=1722152698&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=lQ1XdVzTl9ujC1nogt%2Fn2iEwwDh33j29Is0JXaHr2Z4%3D"},{"key":"Nel","value":"{\"report_to\":\"heroku-nel\",\"max_age\":3600,\"success_fraction\":0.005,\"failure_fraction\":0.05,\"response_headers\":[\"Via\"]}"},{"key":"Location","value":"http://core.famtrust.biz/api/v1/family-accounts/a2b13810-af98-407f-a09d-0aca72db84db"},{"key":"Allow","value":"GET, POST, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Vary","value":"Cookie"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Via","value":"1.1 vegur"},{"key":"CF-Cache-Status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"8aa33f3cec7563bf-LHR"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Family Account created successfully.\",\n    \"status_code\": 201,\n    \"success\": true,\n    \"family_account\": {\n        \"id\": \"a2b13810-af98-407f-a09d-0aca72db84db\",\n        \"url\": \"http://core.famtrust.biz/api/v1/family-accounts/a2b13810-af98-407f-a09d-0aca72db84db\",\n        \"fund_requests\": [],\n        \"family_group\": {\n            \"id\": \"8de01a45-b411-4e43-a1bc-3d0a0a9d2f5e\",\n            \"name\": \"The unborn generation\",\n            \"description\": \"A family group for the unborn generation.\",\n            \"created_at\": \"2024-07-26T16:11:03.214795Z\",\n            \"updated_at\": \"2024-07-26T16:11:03.214795Z\",\n            \"owner_id\": \"ae9f4e7f-3aa8-4fed-9c8d-e4f18c14b16a\",\n            \"is_default\": false\n        },\n        \"name\": \"Investment Account of Unborn Generations\",\n        \"created_by\": \"ae9f4e7f-3aa8-4fed-9c8d-e4f18c14b16a\",\n        \"balance\": \"0.00\",\n        \"created_at\": \"2024-07-28T07:44:59.922663Z\",\n        \"updated_at\": \"2024-07-28T07:44:59.922663Z\"\n    }\n}"}],"_postman_id":"8ddc74cc-c889-40cf-a3a5-11faf7f58a13"},{"name":"Update a family account","event":[{"listen":"test","script":{"id":"0fae301f-25b6-42eb-972c-28a30ffbe151","exec":["const requestData = JSON.parse(pm.request.body.raw);","const responseData = pm.response.json().family_account;","","pm.test(\"Status Code is 200\", () => {","     pm.expect(pm.response.code).to.equal(200);","});","","pm.test(\"Family Account name is what was given in request body\", () => {","    pm.expect(responseData).not.to.be.undefined;","    pm.expect(responseData.name).to.equal(requestData.name);","});"],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"48dbf5ae-e8ef-4ff6-84d8-5a3c24cc6bb2","exec":[],"type":"text/javascript"}}],"id":"2f7236ce-ac2d-44af-9f71-167f53fa4e6d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"name\": \"Main Account\",\n    \"family_group_id\": \"843827bf-75e2-40c5-86ae-b9bdbb5accff\"\n}","options":{"raw":{"language":"json"}}},"url":"https://core.famtrust.biz/api/v1/family-accounts/:family_account_id","description":"<p>Update a family account. Only authorized users are allowed to access this route and update it.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["family-accounts",":family_account_id"],"host":["https://core.famtrust.biz/api/v1"],"query":[],"variable":[{"description":{"content":"<p>The family account id</p>\n","type":"text/plain"},"type":"any","value":"924ec24b-05ed-427e-9612-cbcc7e69bc29","key":"family_account_id"}]}},"response":[{"id":"2dba1dba-7a18-473a-af50-b28635389eb1","name":"Update a family account","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\"name\": \"Main Account\", \"family_group_id\": \"843827bf-75e2-40c5-86ae-b9bdbb5accff\"}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://core.famtrust.biz/api/v1/family-accounts/:family_account_id","host":["https://core.famtrust.biz/api/v1"],"path":["family-accounts",":family_account_id"],"variable":[{"key":"family_account_id","value":"924ec24b-05ed-427e-9612-cbcc7e69bc29","description":"The family account id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 11 Aug 2024 13:46:22 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.10.12"},{"key":"Content-Type","value":"application/json"},{"key":"Allow","value":"GET, PUT, DELETE"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"520"},{"key":"Vary","value":"Cookie, origin"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Family Account updated successfully.\",\n    \"status_code\": 200,\n    \"success\": true,\n    \"family_account\": {\n        \"id\": \"924ec24b-05ed-427e-9612-cbcc7e69bc29\",\n        \"fund_requests\": [],\n        \"family_group\": {\n            \"id\": \"843827bf-75e2-40c5-86ae-b9bdbb5accff\",\n            \"name\": \"Our Default Family Group\",\n            \"description\": \"This is where all my family members will be.\",\n            \"is_default\": true\n        },\n        \"name\": \"Main Account\",\n        \"created_by\": \"05992796-18b0-412b-9d34-1c12a108abb5\",\n        \"balance\": \"62500.00\",\n        \"created_at\": \"2024-07-31T11:14:30.232114Z\",\n        \"updated_at\": \"2024-08-11T13:46:21.746705Z\"\n    }\n}"}],"_postman_id":"2f7236ce-ac2d-44af-9f71-167f53fa4e6d"},{"name":"Delete a Family Account","event":[{"listen":"test","script":{"id":"ec90acdb-c1db-42d9-ad93-23a069349ef6","exec":["if (pm.response.code === 204) {","    pm.collectionVariables.unset(\"family_account_id\");","}","","pm.test(\"Status Code is 204\", () => {","    pm.response.to.have.status(204);","});"],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"9cf885fd-897f-4bec-8dec-af42ec4467e4","exec":[""],"type":"text/javascript","packages":{}}}],"id":"752dd571-1654-4d47-924b-e9ec5024cf3a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://core.famtrust.biz/api/v1/family-accounts/:family_account_id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["family-accounts",":family_account_id"],"host":["https://core.famtrust.biz/api/v1"],"query":[],"variable":[{"id":"3c4d934f-b3a2-4ea1-b5e6-e76c78e87dac","type":"any","value":"924ec24b-05ed-427e-9612-cbcc7e69bc29","key":"family_account_id"}]}},"response":[{"id":"2dc7ec20-0d33-4e46-b8a1-b87c0373c045","name":"Delete a Family Account","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://core.famtrust.biz/api/v1/family-accounts/:family_account_id","host":["https://core.famtrust.biz/api/v1"],"path":["family-accounts",":family_account_id"],"variable":[{"key":"family_account_id","value":"924ec24b-05ed-427e-9612-cbcc7e69bc29"}]}},"status":"No Content","code":204,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"752dd571-1654-4d47-924b-e9ec5024cf3a"}],"id":"a3cc4e12-8f9d-4e1d-a414-ad2eb81e8a9f","description":"<p>This a collection of endpoints and requests for working with family accounts.</p>\n<p>The main purpose of this is to organize the accounts for a family under one name so it's easy for admins to keep track of which sub accounts belong or can withdraw from a family account.</p>\n","_postman_id":"a3cc4e12-8f9d-4e1d-a414-ad2eb81e8a9f","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}}}],"id":"98817987-a466-4187-ae05-1ecf8f5c32a7","description":"<p>The endpoints for interacting with the Accounts microservice of the FamTrust app.</p>\n","_postman_id":"98817987-a466-4187-ae05-1ecf8f5c32a7","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}}},{"name":"Fund Requests","item":[{"name":"List fund requests","id":"7ffc906b-97f6-49d8-9843-824e1373b2c6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://core.famtrust.biz/api/v1/fund-requests","description":"<p>This endpoint retrieves all the fund requests that the current authenticated user has made since the creation of their account in paginated way.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["fund-requests"],"host":["https://core.famtrust.biz/api/v1"],"query":[],"variable":[]}},"response":[{"id":"76b0098d-c618-42d4-a152-029e714c7d65","name":"Retrieve all fund requests","originalRequest":{"method":"GET","header":[],"url":"https://core.famtrust.biz/api/v1/fund-requests"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 24 Jul 2024 08:02:19 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.10.12"},{"key":"Content-Type","value":"application/json"},{"key":"Allow","value":"GET, POST, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"984"},{"key":"Vary","value":"Cookie"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Fund Requests retrieved successfully.\",\n    \"status_code\": 200,\n    \"success\": true,\n    \"metadata\": {\n        \"next\": null,\n        \"previous\": null,\n        \"count\": 1,\n        \"total_pages\": 1,\n        \"current_page\": 1\n    },\n    \"fund_requests\": [\n        {\n            \"id\": \"65be5746-46db-4262-a269-3010bbed3154\",\n            \"url\": \"https://core.famtrust.biz/api/v1/fund-requests/65be5746-46db-4262-a269-3010bbed3154\",\n            \"source_account\": {\n                \"id\": \"a74f5f7f-b361-4a9c-ac9b-a43469bb92a6\",\n                \"url\": \"https://core.famtrust.biz/api/v1/sub-accounts/a74f5f7f-b361-4a9c-ac9b-a43469bb92a6\",\n                \"name\": \"SBA1\",\n                \"balance\": \"0.00\",\n                \"type\": \"savings\"\n            },\n            \"family_account\": {\n                \"id\": \"bdeac706-b885-4641-8583-d85cbe3fa590\",\n                \"url\": \"https://core.famtrust.biz/api/v1/family-accounts/bdeac706-b885-4641-8583-d85cbe3fa590\",\n                \"name\": \"Test Family\",\n                \"family_group\": \"6b5bd852-f29c-4a55-ad87-166553083a34\",\n                \"balance\": \"0.00\"\n            },\n            \"reason\": \"My weekly savings quota.\",\n            \"requested_by\": \"05992796-18b0-412b-9d34-1c12a108abb5\",\n            \"request_status\": \"pending\",\n            \"amount\": \"200.00\",\n            \"created_at\": \"2024-07-24T07:44:19.645956Z\",\n            \"updated_at\": \"2024-07-24T07:44:19.645956Z\"\n        }\n    ]\n}"}],"_postman_id":"7ffc906b-97f6-49d8-9843-824e1373b2c6"},{"name":"Get a fund request","id":"c102e6cf-7ace-4448-9617-aec3cec41439","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://core.famtrust.biz/api/v1/fund-requests/:request_id","description":"<p>This endpoint retrieves details about a single fund request created by the current authenticated user.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["fund-requests",":request_id"],"host":["https://core.famtrust.biz/api/v1"],"query":[],"variable":[{"description":{"content":"<p>The ID of the fund request</p>\n","type":"text/plain"},"type":"any","value":"4101c5d6-87d8-44d4-838f-4eb8375db603","key":"request_id"}]}},"response":[{"id":"517d3be0-cee5-4186-9894-5d7616ca9460","name":"Get a fund request","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://core.famtrust.biz/api/v1/fund-requests/:request_id","host":["https://core.famtrust.biz/api/v1"],"path":["fund-requests",":request_id"],"variable":[{"key":"request_id","value":"4101c5d6-87d8-44d4-838f-4eb8375db603","description":"The ID of the fund request"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 11 Aug 2024 12:39:10 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Report-To","value":"{\"group\":\"heroku-nel\",\"max_age\":3600,\"endpoints\":[{\"url\":\"https://nel.heroku.com/reports?ts=1723379949&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=i67nBrbChZ9F1rrOKVhcHFYVNS7LtxwLmerHkFZjjQE%3D\"}]}"},{"key":"Reporting-Endpoints","value":"heroku-nel=https://nel.heroku.com/reports?ts=1723379949&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=i67nBrbChZ9F1rrOKVhcHFYVNS7LtxwLmerHkFZjjQE%3D"},{"key":"Nel","value":"{\"report_to\":\"heroku-nel\",\"max_age\":3600,\"success_fraction\":0.005,\"failure_fraction\":0.05,\"response_headers\":[\"Via\"]}"},{"key":"Allow","value":"GET, PUT, PATCH, DELETE, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Vary","value":"Cookie, origin"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Via","value":"1.1 vegur"},{"key":"CF-Cache-Status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"8b184968c8da94bd-LHR"},{"key":"Content-Encoding","value":"br"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Fund Request retrieved successfully.\",\n    \"status_code\": 200,\n    \"success\": true,\n    \"fund_request\": {\n        \"id\": \"4101c5d6-87d8-44d4-838f-4eb8375db603\",\n        \"source_account\": {\n            \"id\": \"b92ff61d-962e-4938-a16d-a730c3a987df\",\n            \"name\": \"Updated Account Name\",\n            \"balance\": \"0.00\",\n            \"type\": \"savings\"\n        },\n        \"family_account\": {\n            \"id\": \"924ec24b-05ed-427e-9612-cbcc7e69bc29\",\n            \"name\": \"New Account\",\n            \"balance\": \"30500.00\",\n            \"family_group\": {\n                \"id\": \"843827bf-75e2-40c5-86ae-b9bdbb5accff\",\n                \"name\": \"Our Default Family Group\",\n                \"description\": \"This is where all my family members will be.\",\n                \"is_default\": true\n            }\n        },\n        \"reason\": \"My weekly savings quota.\",\n        \"requested_by\": \"05992796-18b0-412b-9d34-1c12a108abb5\",\n        \"request_status\": \"pending\",\n        \"amount\": \"200.00\",\n        \"created_at\": \"2024-08-11T12:38:43.149814Z\",\n        \"updated_at\": \"2024-08-11T12:38:43.149814Z\"\n    }\n}"}],"_postman_id":"c102e6cf-7ace-4448-9617-aec3cec41439"},{"name":"Create a fund request","event":[{"listen":"test","script":{"id":"f34effe8-5a1d-4f3b-82d2-dd0b8c2ab669","exec":["const responseData = pm.response.json();","","pm.test(\"Status Code is 201\", () => {","    pm.response.to.have.status(201);","});","","pm.test(\"Response is an object\", () => {","    pm.expect(responseData).to.be.an('object');","})","","// save the ID of the newly created fund request","pm.collectionVariables.set(\"fund_request_id\", responseData.fund_request.id);"],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"afb94864-8ae6-4a26-90db-a8169fa0a93d","exec":[],"type":"text/javascript"}}],"id":"41170416-970f-46f9-884a-16537da1d834","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n\t\"family_account_id\": \"924ec24b-05ed-427e-9612-cbcc7e69bc29\",\n\t\"source_account_id\": \"b92ff61d-962e-4938-a16d-a730c3a987df\",\n\t\"amount\": 200,\n\t\"reason\": \"My weekly savings quota.\"\n}","options":{"raw":{"language":"json"}}},"url":"https://core.famtrust.biz/api/v1/fund-requests","description":"<p>This endpoint allows members of a family account to ask for funds from the family account they have access to. The flow is from a sub account (requester) to a family account (the funding account).</p>\n<p>When a request is first created, it is in a pending state. Admins of the family account receives the notification of a request and decides either to accept or decline the request. If they choose to accept and fund the account that made the request, they must include the ID of the fund request (<code>fund_request_id</code>) in the transaction process for logging and accountability. There's also an option to choose when choosing the type of transaction which must be to <code>fund_request</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["fund-requests"],"host":["https://core.famtrust.biz/api/v1"],"query":[],"variable":[]}},"response":[{"id":"78ec5ed9-4dc8-4118-be37-9d070b52562c","name":"Create a fund request","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n\t\"family_account_id\": \"924ec24b-05ed-427e-9612-cbcc7e69bc29\",\n\t\"source_account_id\": \"b92ff61d-962e-4938-a16d-a730c3a987df\",\n\t\"amount\": 200,\n\t\"reason\": \"My weekly savings quota.\"\n}","options":{"raw":{"language":"json"}}},"url":"https://core.famtrust.biz/api/v1/fund-requests"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 11 Aug 2024 12:31:09 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"769"},{"key":"Connection","value":"keep-alive"},{"key":"Report-To","value":"{\"group\":\"heroku-nel\",\"max_age\":3600,\"endpoints\":[{\"url\":\"https://nel.heroku.com/reports?ts=1723379468&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=x91teHI344uuQ3Pw9pGcnlqMHJ0CMsPgI1ZK1tzJCGA%3D\"}]}"},{"key":"Reporting-Endpoints","value":"heroku-nel=https://nel.heroku.com/reports?ts=1723379468&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=x91teHI344uuQ3Pw9pGcnlqMHJ0CMsPgI1ZK1tzJCGA%3D"},{"key":"Nel","value":"{\"report_to\":\"heroku-nel\",\"max_age\":3600,\"success_fraction\":0.005,\"failure_fraction\":0.05,\"response_headers\":[\"Via\"]}"},{"key":"Allow","value":"GET, POST, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Vary","value":"Cookie, origin"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Via","value":"1.1 vegur"},{"key":"CF-Cache-Status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"8b183dabaf4094bd-LHR"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Fund Request created successfully.\",\n    \"status_code\": 201,\n    \"success\": true,\n    \"fund_request\": {\n        \"id\": \"9ad9da9d-e314-4a0a-b4e2-162a78cfdc24\",\n        \"source_account\": {\n            \"id\": \"b92ff61d-962e-4938-a16d-a730c3a987df\",\n            \"name\": \"Updated Account Name\",\n            \"balance\": \"0.00\",\n            \"type\": \"savings\"\n        },\n        \"family_account\": {\n            \"id\": \"924ec24b-05ed-427e-9612-cbcc7e69bc29\",\n            \"name\": \"New Account\",\n            \"balance\": \"30500.00\",\n            \"family_group\": {\n                \"id\": \"843827bf-75e2-40c5-86ae-b9bdbb5accff\",\n                \"name\": \"Our Default Family Group\",\n                \"description\": \"This is where all my family members will be.\",\n                \"is_default\": true\n            }\n        },\n        \"reason\": \"My weekly savings quota.\",\n        \"requested_by\": \"05992796-18b0-412b-9d34-1c12a108abb5\",\n        \"request_status\": \"pending\",\n        \"amount\": \"200.00\",\n        \"created_at\": \"2024-08-11T12:31:09.390807Z\",\n        \"updated_at\": \"2024-08-11T12:31:09.390807Z\"\n    }\n}"}],"_postman_id":"41170416-970f-46f9-884a-16537da1d834"},{"name":"Delete a fund request","event":[{"listen":"test","script":{"id":"42742a02-2de7-4730-83b9-32a3b0681b29","exec":["pm.test(\"Status Code is 204\", () => {","    pm.response.to.have.status(204);","});","","// delete fund request ID after it is deleted","if (pm.response.status === 204) {","    pm.collectionVariables.unset(\"fund_request_id\");","}"],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"0e7cbfe9-f834-434e-ba79-e45e5680e73d","exec":[],"type":"text/javascript"}}],"id":"07f8fcd3-3a80-4c2c-81b9-18f0d4ce1072","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://core.famtrust.biz/api/v1/fund-requests/:request_id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["fund-requests",":request_id"],"host":["https://core.famtrust.biz/api/v1"],"query":[],"variable":[{"description":{"content":"<p>The ID of the fund request to delete.</p>\n","type":"text/plain"},"type":"any","value":"4101c5d6-87d8-44d4-838f-4eb8375db603","key":"request_id"}]}},"response":[{"id":"0e7f89e3-89f8-4dc7-9db0-ee1537e26d9a","name":"Delete a fund request","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://core.famtrust.biz/api/v1/fund-requests/:request_id","host":["https://core.famtrust.biz/api/v1"],"path":["fund-requests",":request_id"],"variable":[{"key":"request_id","value":"4101c5d6-87d8-44d4-838f-4eb8375db603","description":"The ID of the fund request to delete."}]}},"status":"No Content","code":204,"_postman_previewlanguage":"plain","header":[{"key":"Date","value":"Sun, 11 Aug 2024 12:39:52 GMT"},{"key":"Content-Length","value":"0"},{"key":"Connection","value":"keep-alive"},{"key":"Report-To","value":"{\"group\":\"heroku-nel\",\"max_age\":3600,\"endpoints\":[{\"url\":\"https://nel.heroku.com/reports?ts=1723379991&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=ppccvIgltNGIfqu3kq9RNhXS%2FDiddYyHuCDDL%2FBbQSY%3D\"}]}"},{"key":"Reporting-Endpoints","value":"heroku-nel=https://nel.heroku.com/reports?ts=1723379991&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=ppccvIgltNGIfqu3kq9RNhXS%2FDiddYyHuCDDL%2FBbQSY%3D"},{"key":"Nel","value":"{\"report_to\":\"heroku-nel\",\"max_age\":3600,\"success_fraction\":0.005,\"failure_fraction\":0.05,\"response_headers\":[\"Via\"]}"},{"key":"Allow","value":"GET, PUT, PATCH, DELETE, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Vary","value":"Cookie, origin"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Via","value":"1.1 vegur"},{"key":"CF-Cache-Status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"8b184a6f1eda94bd-LHR"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"07f8fcd3-3a80-4c2c-81b9-18f0d4ce1072"}],"id":"4bfe7c62-cda1-44ed-a316-f6948713cbe5","description":"<p>This collection of endpoints allows users to request for funds from the family account they have access to.</p>\n","_postman_id":"4bfe7c62-cda1-44ed-a316-f6948713cbe5","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}}},{"name":"Users and Authentication","item":[{"name":"User Authentication","item":[{"name":"Login","item":[{"name":"Login as Family Admin","event":[{"listen":"test","script":{"exec":["if (pm.response.code == 200) {","    pm.collectionVariables.set(\"access_token\", pm.response.json().token);","","    // User token validation - needed to set user id variable","    const nextRequest = {","        url: `${pm.collectionVariables.get('authUrl')}/validate`,","        method: 'GET',","        header: {","            'Authorization': `Bearer ${pm.collectionVariables.get(\"access_token\")}`","        }","    };","","    // Send the request and validate","    pm.sendRequest(nextRequest, (err, res) => {","        if (err) {","            console.log(err);","        } else {","            // Save the results from the next request","            const userId = res.json().user.id;","            pm.collectionVariables.set(\"user_id\", userId);","        }","    });","}","","pm.test(\"Response status code is 200\", function () {","    pm.response.to.have.status(200);","});","","pm.test(\"Response time is less than 200ms\", function () {","    pm.expect(pm.response.responseTime).to.be.below(200);","});","","pm.test(\"Validate the response schema for statusCode, status, message, and token fields\", function () {","    const responseData = pm.response.json();","","    pm.expect(responseData).to.be.an('object');","    pm.expect(responseData).to.have.property('statusCode');","    pm.expect(responseData).to.have.property('status');","    pm.expect(responseData).to.have.property('message');","    pm.expect(responseData).to.have.property('token');","});","","pm.test(\"Token field is not empty\", function () {","    const responseData = pm.response.json();","    pm.expect(responseData.token).to.not.be.empty;","});"],"type":"text/javascript","packages":{},"id":"f8870c65-4987-4dfc-a127-17b5e1b7e46c"}},{"listen":"prerequest","script":{"exec":[""],"type":"text/javascript","packages":{},"id":"558f5fdb-ab40-4474-a3b2-f1fdef2413d6"}}],"id":"95b042c4-e21a-4c51-a5a5-a7fd49f69e35","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"email\": \"admin1@famtrust.biz\",\n    \"password\": \"samplePass\"\n}","options":{"raw":{"language":"json"}}},"url":"https://auth.famtrust.biz/api/v1/login","description":"<p>This endpoint is used to log users into the platform. Once a user is successfully authenticated, a JWT token is generated for API access. This token must be place in the <code>Authorization</code> header of every request since all endpoints are protected.</p>\n<p>Note: This is a bearer token so be sure to prefix the token with <code>Bearer</code> when setting it in the request header.</p>\n","urlObject":{"path":["login"],"host":["https://auth.famtrust.biz/api/v1"],"query":[],"variable":[]}},"response":[{"id":"c7dbff52-7fca-48b7-947b-f9d30d3924f3","name":"Login as Family Admin","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"email\": \"admin1@famtrust.biz\",\n    \"password\": \"samplePass\"\n}","options":{"raw":{"language":"json"}}},"url":"https://auth.famtrust.biz/api/v1/login"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.24.0 (Ubuntu)"},{"key":"Date","value":"Sat, 10 Aug 2024 23:36:44 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"252"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"status\": \"success\",\n    \"message\": \"User logged in successfully\",\n    \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTQwNH0.jXFB3uBGJRe3xGNXNFnMng_-_U922_sGvT1z45jo9mI\"\n}"}],"_postman_id":"95b042c4-e21a-4c51-a5a5-a7fd49f69e35"},{"name":"Login as Family Member","event":[{"listen":"test","script":{"exec":["if (pm.response.code == 200) {","    pm.collectionVariables.set(\"access_token\", pm.response.json().token);","","    // User token validation - needed to set user id variable","    const nextRequest = {","        url: `${pm.collectionVariables.get('authUrl')}/validate`,","        method: 'GET',","        header: {","            'Authorization': `Bearer ${pm.collectionVariables.get(\"access_token\")}`","        }","    };","","    // Send the request and validate","    pm.sendRequest(nextRequest, (err, res) => {","        if (err) {","            console.log(err);","        } else {","            // Save the results from the next request","            const userId = res.json().user.id;","            pm.collectionVariables.set(\"user_id\", userId);","        }","    });","}"],"type":"text/javascript","packages":{},"id":"1747e17c-ab5f-4075-b59e-1efa6b4430f9"}},{"listen":"prerequest","script":{"exec":[""],"type":"text/javascript","packages":{},"id":"b84cf406-41dc-4a01-b642-5b9cc728e21a"}}],"id":"d814e286-7688-4ba5-a6a3-84ed54fa7586","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"email\": \"member1@famtrust.biz\",\n    \"password\": \"samplePass\"\n}","options":{"raw":{"language":"json"}}},"url":"https://auth.famtrust.biz/api/v1/login","description":"<p>This endpoint is used to log users into the platform. Once a user is successfully authenticated, a JWT token is generated for API access. This token must be place in the <code>Authorization</code> header of every request since all endpoints are protected.</p>\n<p>Note: This is a bearer token so be sure to prefix the token with <code>Bearer</code> when setting it in the request header.</p>\n","urlObject":{"path":["login"],"host":["https://auth.famtrust.biz/api/v1"],"query":[],"variable":[]}},"response":[{"id":"a24aa814-0060-4042-bc21-99c126ac9414","name":"Login as Family Member","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"email\": \"member1@famtrust.biz\",\n    \"password\": \"samplePass\"\n}","options":{"raw":{"language":"json"}}},"url":"https://auth.famtrust.biz/api/v1/login"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.24.0 (Ubuntu)"},{"key":"Date","value":"Sat, 10 Aug 2024 23:37:04 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"252"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"status\": \"success\",\n    \"message\": \"User logged in successfully\",\n    \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjdmOTAxOWIwLTA2N2UtNGEzOS1hNzc5LTgwNzg4N2RmNjY5YSIsImV4cCI6MTcyMzQxOTQyNH0.qFMP2xnxa1LGVZz5UIbHwWs68cEyBO1GFMjrh4sADa0\"\n}"}],"_postman_id":"d814e286-7688-4ba5-a6a3-84ed54fa7586"},{"name":"Login with Email 2FA","event":[{"listen":"test","script":{"exec":["if (pm.response.code == 200) {","    pm.collectionVariables.set(\"access_token\", pm.response.json().token);","","    // User token validation - needed to set user id variable","    const nextRequest = {","        url: \"https://auth.famtrust.biz/api/v1/validate\",","        method: 'GET',","        header: {","            'Authorization': `Bearer ${pm.collectionVariables.get(\"access_token\")}`","        }","    };","","    // Send the request and validate","    pm.sendRequest(nextRequest, (err, res) => {","        if (err) {","            console.log(err);","        } else {","            // Save the results from the next request","            const userId = res.json().user.id;","            pm.collectionVariables.set(\"user_id\", userId);","        }","    });","}"],"type":"text/javascript","packages":{},"id":"ece18a42-e07c-4eaf-a8e0-915fac9c9f46"}},{"listen":"prerequest","script":{"exec":[],"type":"text/javascript","id":"6a7997d0-f1cd-4981-be8b-bc1426714e11"}}],"id":"3771de9a-55d8-45de-a96f-e4ccb35bdd13","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"email\": \"mail@obimadu.pro\",\n    \"password\": \"mySamplePass\"\n}","options":{"raw":{"language":"json"}}},"url":"https://auth.famtrust.biz/api/v1/login?2FACode=7cabb8","urlObject":{"path":["login"],"host":["https://auth.famtrust.biz/api/v1"],"query":[{"key":"2FACode","value":"7cabb8"}],"variable":[]}},"response":[{"id":"6ffd48b2-8f15-420b-80f0-04d6c46b3304","name":"2FA code sent","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"email\": \"mail@obimadu.pro\",\n    \"password\": \"mySamplePass\"\n}","options":{"raw":{"language":"json"}}},"url":"https://auth.famtrust.biz/api/v1/login"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.18.0 (Ubuntu)"},{"key":"Date","value":"Mon, 29 Jul 2024 11:00:59 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"98"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"status\": \"success\",\n    \"message\": \"User has 2FA. Code has been sent to user's email\"\n}"},{"id":"473752eb-225c-4351-b39c-a57db2c7bc49","name":"201 Expired Token","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"email\": \"mail@obimadu.pro\",\n    \"password\": \"mySamplePass\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://auth.famtrust.biz/api/v1/login?2FACode=3a949d","host":["https://auth.famtrust.biz/api/v1"],"path":["login"],"query":[{"key":"2FACode","value":"3a949d"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.18.0 (Ubuntu)"},{"key":"Date","value":"Mon, 29 Jul 2024 11:09:33 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"96"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 401,\n    \"status\": \"error\",\n    \"message\": \"Invalid or Expired 2FA Code. Use the latest code\"\n}"},{"id":"488653ad-03d2-4715-91e6-7be58262dc75","name":"200 OK","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"email\": \"mail@obimadu.pro\",\n    \"password\": \"mySamplePass\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://auth.famtrust.biz/api/v1/login?2FACode=7cabb8","host":["https://auth.famtrust.biz/api/v1"],"path":["login"],"query":[{"key":"2FACode","value":"7cabb8"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.18.0 (Ubuntu)"},{"key":"Date","value":"Mon, 29 Jul 2024 11:20:10 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"252"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"status\": \"success\",\n    \"message\": \"User logged in successfully\",\n    \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImExN2I5MDVhLTBlNTMtNDE3My05OTljLWEyYzYwMjNiYmY2OCIsImV4cCI6MTcyMjMzODQxMH0.5LIgekD9tJiYbpxoYeerkJETXLsXgXczUif_k3VdZ_k\"\n}"}],"_postman_id":"3771de9a-55d8-45de-a96f-e4ccb35bdd13"}],"id":"cabc31d3-1d53-40aa-87e1-7fc4e7b31cf9","_postman_id":"cabc31d3-1d53-40aa-87e1-7fc4e7b31cf9","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}}},{"name":"Validate User Token","item":[{"name":"Validate User token","event":[{"listen":"test","script":{"exec":["if (pm.response.code === 200) {","\tpm.collectionVariables.set(\"user_id\", pm.response.json().user.id)","}"],"type":"text/javascript","packages":{},"id":"334df9ac-c318-40d3-9aac-33baa26bead8"}},{"listen":"prerequest","script":{"exec":[""],"type":"text/javascript","packages":{},"id":"cbe013da-9ea7-4b6d-9e16-ca78a970b94a"}}],"id":"5788c420-01e3-4dbb-891f-90f8cb3433a1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://auth.famtrust.biz/api/v1/validate","description":"<p>This endpoint validates the user token in the request header. It is primarily useful to verify that access tokens are still valid before allowing to protected resources.</p>\n<p>Users with invalid tokens will denied access to protected resources until they renew the access token.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["validate"],"host":["https://auth.famtrust.biz/api/v1"],"query":[],"variable":[]}},"response":[{"id":"315ca1df-c426-4c87-87db-3e967372475a","name":"Validate User token (Member)","originalRequest":{"method":"GET","header":[],"url":"https://auth.famtrust.biz/api/v1/validate"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.24.0 (Ubuntu)"},{"key":"Date","value":"Sat, 10 Aug 2024 23:37:34 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"549"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"status\": \"success\",\n    \"message\": \"User session is valid\",\n    \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjdmOTAxOWIwLTA2N2UtNGEzOS1hNzc5LTgwNzg4N2RmNjY5YSIsImV4cCI6MTcyMzQxOTQyNH0.qFMP2xnxa1LGVZz5UIbHwWs68cEyBO1GFMjrh4sADa0\",\n    \"user\": {\n        \"id\": \"7f9019b0-067e-4a39-a779-807887df669a\",\n        \"email\": \"member1@famtrust.biz\",\n        \"role\": {\n            \"id\": \"member\",\n            \"permissions\": [\n                \"canSendToSubAcc\",\n                \"canWithdrawToBank\"\n            ]\n        },\n        \"defaultGroup\": \"843827bf-75e2-40c5-86ae-b9bdbb5accff\",\n        \"has2FA\": false,\n        \"isVerified\": true,\n        \"isFrozen\": false,\n        \"lastLogin\": \"2024-07-22T22:23:54.81Z\"\n    }\n}"},{"id":"39388656-8537-463b-9eda-be77eb7a324e","name":"Validate User token(Admin)","originalRequest":{"method":"GET","header":[],"url":"https://auth.famtrust.biz/api/v1/validate"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.24.0 (Ubuntu)"},{"key":"Date","value":"Sat, 10 Aug 2024 23:38:42 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"714"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"status\": \"success\",\n    \"message\": \"User session is valid\",\n    \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE\",\n    \"user\": {\n        \"id\": \"05992796-18b0-412b-9d34-1c12a108abb5\",\n        \"email\": \"admin1@famtrust.biz\",\n        \"role\": {\n            \"id\": \"admin\",\n            \"permissions\": [\n                \"canCreateSubAccout\",\n                \"canDeleteSubAccount\",\n                \"canCreateMember\",\n                \"canFundMainAcc\",\n                \"canSendToSubAcc\",\n                \"canWithdrawToBank\",\n                \"canEditMember\",\n                \"canFreezeMember\",\n                \"canManageFamilyGroup\",\n                \"canListUsers\",\n                \"canCreateUsers\"\n            ]\n        },\n        \"defaultGroup\": \"843827bf-75e2-40c5-86ae-b9bdbb5accff\",\n        \"has2FA\": false,\n        \"isVerified\": true,\n        \"isFrozen\": false,\n        \"lastLogin\": \"2024-07-22T22:23:54.81Z\"\n    }\n}"}],"_postman_id":"5788c420-01e3-4dbb-891f-90f8cb3433a1"}],"id":"f1ce1349-0ea6-4b87-b067-b967d0ff11c9","_postman_id":"f1ce1349-0ea6-4b87-b067-b967d0ff11c9","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}}}],"id":"0b0e42a7-8309-422e-a605-204fadb30392","_postman_id":"0b0e42a7-8309-422e-a605-204fadb30392","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}}},{"name":"User Profiles","item":[{"name":"Profile Pictures","item":[{"name":"Retrieve Profile Pic","id":"0fe65cba-f16d-469f-adf4-4f3a9460bbba","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://auth.famtrust.biz/api/v1/images/profile-pic/:image_name","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["images","profile-pic",":image_name"],"host":["https://auth.famtrust.biz/api/v1"],"query":[],"variable":[{"id":"70d0fefe-7b58-46b2-bf8c-136ab491dac9","description":{"content":"<p>The name of the image to retrieve. The extension must be added.</p>\n","type":"text/plain"},"type":"any","value":"kanayo-with-steeze-pic.jpeg","key":"image_name"}]}},"response":[],"_postman_id":"0fe65cba-f16d-469f-adf4-4f3a9460bbba"}],"id":"f931bab3-ece8-4e43-8a82-5d391810fa4e","_postman_id":"f931bab3-ece8-4e43-8a82-5d391810fa4e","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}}},{"name":"Create New Profile","id":"61437dc5-5e29-4312-bea1-03675f8c0a20","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"firstName","value":"Sparky","description":"<p>User's first name</p>\n","type":"text"},{"key":"lastName","value":"Admin","description":"<p>User's last name</p>\n","type":"text"},{"key":"bio","value":"Admin with steeze","description":"<p>User's bio</p>\n","type":"text"},{"key":"profilePicture","description":"<p>User's profile picture</p>\n","type":"file","src":"postman-cloud:///1ef50718-1746-4470-8654-20b4e3adde05"},{"key":"nin","value":"2332335659","description":"<p>User's National Identification Number</p>\n","type":"text"},{"key":"bvn","value":"","description":"<p>User's Bank Verififcation Number</p>\n","type":"text"},{"key":"familyGroupName","value":"Steezy Family","description":"<p>Name for new user's Default family group</p>\n","type":"text"},{"key":"familyGroupDescription","value":"Fam that balls","description":"<p>Description for new user's Default family group</p>\n","type":"text"}]},"url":"https://auth.famtrust.biz/api/v1/profile/create","description":"<p>Create new User profile. This step includes the creation of the New, Default User Group for the Admin user as well.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["profile","create"],"host":["https://auth.famtrust.biz/api/v1"],"query":[],"variable":[]}},"response":[{"id":"8c957a2a-8c70-49f5-b3a9-841d3235f535","name":"201 Created","originalRequest":{"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"firstName","value":"Sparky","description":"User's first name","type":"text"},{"key":"lastName","value":"Admin","description":"User's last name","type":"text"},{"key":"bio","value":"Admin with steeze","description":"User's bio","type":"text"},{"key":"profilePicture","description":"User's profile picture","type":"file","src":["qiqHfZTd1/kanayo-with-steeze-pic.jpeg"]},{"key":"nin","value":"2332335659","description":"User's National Identification Number","type":"text"},{"key":"bvn","value":"","description":"User's Bank Verififcation Number","type":"text"},{"key":"familyGroupName","value":"Steezy Family","description":"Name for new user's Default family group","type":"text"},{"key":"familyGroupDescription","value":"Fam that balls","description":"Description for new user's Default family group","type":"text"}]},"url":"https://auth.famtrust.biz/api/v1/profile/create"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.18.0 (Ubuntu)"},{"key":"Date","value":"Mon, 29 Jul 2024 11:55:34 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"83"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"User profile created successfully\",\n    \"status\": \"success\",\n    \"statusCode\": 201\n}"}],"_postman_id":"61437dc5-5e29-4312-bea1-03675f8c0a20"},{"name":"Retrieve Profile","id":"5cf12845-41cd-4a27-a06d-90f33a325eca","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://auth.famtrust.biz/api/v1/profile","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["profile"],"host":["https://auth.famtrust.biz/api/v1"],"query":[],"variable":[]}},"response":[{"id":"d0a728e0-9f0c-4f26-88f1-1a4dc4242dd6","name":"404 No Profile","originalRequest":{"method":"GET","header":[],"url":"https://auth.famtrust.biz/api/v1/profile"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.18.0 (Ubuntu)"},{"key":"Date","value":"Mon, 29 Jul 2024 11:35:53 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"75"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 404,\n    \"status\": \"error\",\n    \"message\": \"User doesn't have a profile\"\n}"},{"id":"4f24f212-5d58-49b3-b5c3-8b405e299fbf","name":"200 OK","originalRequest":{"method":"GET","header":[],"url":"https://auth.famtrust.biz/api/v1/profile"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.18.0 (Ubuntu)"},{"key":"Date","value":"Mon, 29 Jul 2024 11:56:12 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"450"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"User profile retrieved successfully\",\n    \"profile\": {\n        \"id\": \"2c1d051e-523c-413b-8fba-b829086bb2a8\",\n        \"createdAt\": \"2024-07-29T11:55:34.127548Z\",\n        \"updatedAt\": \"2024-07-29T11:55:34.127548Z\",\n        \"DeletedAt\": null,\n        \"userId\": \"4e676eec-c3f0-42e7-bc7f-5a0367a38343\",\n        \"firstName\": \"Sparky\",\n        \"lastName\": \"Admin\",\n        \"bio\": \"Admin with steeze\",\n        \"nin\": 2332335659,\n        \"bvn\": 0,\n        \"profilePictureUrl\": \"images/profile-pic/kanayo-with-steeze-pic.jpeg\"\n    },\n    \"status\": \"success\",\n    \"statusCode\": 200\n}"}],"_postman_id":"5cf12845-41cd-4a27-a06d-90f33a325eca"},{"name":"Update Profile","id":"f7eb96c2-f790-4c0c-a308-f83843276486","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"formdata","formdata":[{"key":"bio","value":"Admin with wicked steeze","type":"text"},{"key":"profilePicture","type":"file","src":"CLkkDlQeM/kanayo-with-wicked-steeze.jpeg"}]},"url":"https://auth.famtrust.biz/api/v1/profile/update","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["profile","update"],"host":["https://auth.famtrust.biz/api/v1"],"query":[],"variable":[]}},"response":[{"id":"21a648fd-9f50-4d66-baed-da92ebe9ecc3","name":"201 Created","originalRequest":{"method":"PUT","header":[],"body":{"mode":"formdata","formdata":[{"key":"bio","value":"Admin with wicked steeze","type":"text"},{"key":"profilePicture","type":"file","src":["CLkkDlQeM/kanayo-with-wicked-steeze.jpeg"]}]},"url":"https://auth.famtrust.biz/api/v1/profile/update"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.18.0 (Ubuntu)"},{"key":"Date","value":"Mon, 29 Jul 2024 12:00:00 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"83"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"User profile updated successfully\",\n    \"status\": \"success\",\n    \"statusCode\": 201\n}"}],"_postman_id":"f7eb96c2-f790-4c0c-a308-f83843276486"}],"id":"5b0f1a6f-6553-4276-bc8f-49c3a0ca40f5","description":"<p>Create, Retrieve and Update User Profiles.</p>\n","_postman_id":"5b0f1a6f-6553-4276-bc8f-49c3a0ca40f5","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}}},{"name":"User Accounts","item":[{"name":"Sign up to FamTrust","event":[{"listen":"test","script":{"exec":["if (pm.response.code == 200) {","    pm.collectionVariables.set(\"access_token\", pm.response.json().token);","","    // User token validation - needed to set user id variable","    const nextRequest = {","        url: `${pm.collectionVariables.get('authUrl')}/validate`,","        method: 'GET',","        header: {","            'Authorization': `Bearer ${pm.collectionVariables.get(\"access_token\")}`","        }","    };","","    // Send the request and validate","    pm.sendRequest(nextRequest, (err, res) => {","        if (err) {","            console.log(err);","        } else {","            // Save the results from the next request","            const userId = res.json().user.id;","            pm.collectionVariables.set(\"user_id\", userId);","        }","    });","}"],"type":"text/javascript","packages":{},"id":"fa4f02c2-c76f-4ec8-ad2d-1cec04c3a598"}},{"listen":"prerequest","script":{"exec":[],"type":"text/javascript","id":"1507afac-0da0-455a-b2b7-40de80aa7b4e"}}],"id":"4a632f39-50cf-4037-9ff5-949371c0dea3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"email","value":"devadmin@famtrust.biz","type":"text"},{"key":"password","value":"samplePass","type":"text"}]},"url":"https://auth.famtrust.biz/api/v1/signup","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["signup"],"host":["https://auth.famtrust.biz/api/v1"],"query":[],"variable":[]}},"response":[{"id":"d5fd4101-854f-4147-8d1a-8ee668a0f23e","name":"201 Created","originalRequest":{"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"email","value":"admin5@famtrust.biz","type":"text"},{"key":"password","value":"samplePass","type":"text"}]},"url":"https://auth.famtrust.biz/api/v1/signup"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.18.0 (Ubuntu)"},{"key":"Date","value":"Mon, 29 Jul 2024 12:16:33 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"275"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"User created successfully. Proceed to verify email\",\n    \"status\": \"success\",\n    \"statusCode\": 201,\n    \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImViYmIzYWQ1LTMzN2ItNGUwNS05MjBkLTIxNzk3YmJiNTY4MSIsImV4cCI6MTcyMjM0MTc5M30.30vIvUotWG3dkiRXH-y3mFiDHPzjf7c_isHVAVIXJPo\"\n}"}],"_postman_id":"4a632f39-50cf-4037-9ff5-949371c0dea3"}],"id":"ea9cb395-fb87-4655-8853-eae709fe8a70","_postman_id":"ea9cb395-fb87-4655-8853-eae709fe8a70","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}}},{"name":"Verifications","item":[{"name":"Email Verifications","item":[{"name":"Send Token","id":"6dd6d1bc-69d5-4eda-b8b4-6e83a004b081","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://auth.famtrust.biz/api/v1/verify-email","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["verify-email"],"host":["https://auth.famtrust.biz/api/v1"],"query":[],"variable":[]}},"response":[{"id":"6a1ba7df-5a9f-49f7-91f1-fd6841e6cd88","name":"200 OK","originalRequest":{"method":"GET","header":[],"url":"https://auth.famtrust.biz/api/v1/verify-email"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.18.0 (Ubuntu)"},{"key":"Date","value":"Mon, 29 Jul 2024 10:57:10 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"86"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"status\": \"success\",\n    \"message\": \"Verification email sent successfully\"\n}"}],"_postman_id":"6dd6d1bc-69d5-4eda-b8b4-6e83a004b081"},{"name":"Verify via Token","id":"c726383f-7b39-4b05-8dac-d86936210f4b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[],"url":"https://auth.famtrust.biz/api/v1/verify-email/verify?code=9418557c-7839-4222-9db3-43d6770cccc9","urlObject":{"path":["verify-email","verify"],"host":["https://auth.famtrust.biz/api/v1"],"query":[{"key":"code","value":"9418557c-7839-4222-9db3-43d6770cccc9"}],"variable":[]}},"response":[{"id":"0f1c9e39-5726-4658-a0ed-a0c3651526f1","name":"200 OK","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://auth.famtrust.biz/api/v1/verify-email/verify?code=9418557c-7839-4222-9db3-43d6770cccc9","host":["https://auth.famtrust.biz/api/v1"],"path":["verify-email","verify"],"query":[{"key":"code","value":"9418557c-7839-4222-9db3-43d6770cccc9"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.18.0 (Ubuntu)"},{"key":"Date","value":"Mon, 29 Jul 2024 11:25:53 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"77"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"status\": \"success\",\n    \"message\": \"Email successfully verified\"\n}"}],"_postman_id":"c726383f-7b39-4b05-8dac-d86936210f4b"}],"id":"7a765244-53bf-44d9-a101-2b1345a9327b","_postman_id":"7a765244-53bf-44d9-a101-2b1345a9327b","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}}},{"name":"Verify User NIN","id":"400db086-35c9-4908-8d63-27e67b08539d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[],"url":"https://auth.famtrust.biz/api/v1/verify-nin?nin=3123412332","urlObject":{"path":["verify-nin"],"host":["https://auth.famtrust.biz/api/v1"],"query":[{"key":"nin","value":"3123412332"}],"variable":[]}},"response":[{"id":"42751eb5-d86c-4885-9d87-16612184edca","name":"200 Ok","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://auth.famtrust.biz/api/v1/verify-nin?nin=3123412332","host":["https://auth.famtrust.biz/api/v1"],"path":["verify-nin"],"query":[{"key":"nin","value":"3123412332"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.18.0 (Ubuntu)"},{"key":"Date","value":"Mon, 29 Jul 2024 10:19:26 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"74"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"NIN is valid and un-used\",\n    \"status\": \"success\",\n    \"statusCode\": 200\n}"}],"_postman_id":"400db086-35c9-4908-8d63-27e67b08539d"},{"name":"Verify User BVN","id":"9454041f-23bf-4ac8-907c-e223391c6fe2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[],"url":"https://auth.famtrust.biz/api/v1/verify-bvn?bvn=3283278473","urlObject":{"path":["verify-bvn"],"host":["https://auth.famtrust.biz/api/v1"],"query":[{"key":"bvn","value":"3283278473"}],"variable":[]}},"response":[{"id":"d0c84484-8941-43af-90e2-cb2f00204e94","name":"200 OK","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://auth.famtrust.biz/api/v1/verify-bvn?bvn=3283278473","host":["https://auth.famtrust.biz/api/v1"],"path":["verify-bvn"],"query":[{"key":"bvn","value":"3283278473"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.18.0 (Ubuntu)"},{"key":"Date","value":"Mon, 29 Jul 2024 10:22:40 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"74"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"BVN is valid and un-used\",\n    \"status\": \"success\",\n    \"statusCode\": 200\n}"}],"_postman_id":"9454041f-23bf-4ac8-907c-e223391c6fe2"}],"id":"fa30ecb3-3f15-4a37-8d05-729cee8e52ad","_postman_id":"fa30ecb3-3f15-4a37-8d05-729cee8e52ad","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}}},{"name":"Retrieve Users","item":[{"name":"User by Default Group","id":"a9d67e07-2609-4c37-be8b-11e6eaa0b7df","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://auth.famtrust.biz/api/v1/users/:user_id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["users",":user_id"],"host":["https://auth.famtrust.biz/api/v1"],"query":[],"variable":[{"id":"cdb060e6-eb4d-4333-920b-31a454ecfd4c","type":"any","value":"05992796-18b0-412b-9d34-1c12a108abb5","key":"user_id"}]}},"response":[{"id":"fe1e4a29-9a82-4fb2-a305-a9071a45e5fd","name":"Retrieve User by ID","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://auth.famtrust.biz/api/v1/users/:user_id","host":["https://auth.famtrust.biz/api/v1"],"path":["users",":user_id"],"variable":[{"key":"user_id","value":"05992796-18b0-412b-9d34-1c12a108abb5"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.18.0 (Ubuntu)"},{"key":"Date","value":"Thu, 25 Jul 2024 23:13:08 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"882"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"User retrieved successfully\",\n    \"status\": \"success\",\n    \"statusCode\": 200,\n    \"user\": {\n        \"id\": \"4e676eec-c3f0-42e7-bc7f-5a0367a38343\",\n        \"createdAt\": \"2024-07-24T17:45:00.683978Z\",\n        \"updatedAt\": \"2024-07-24T17:45:00.683978Z\",\n        \"DeletedAt\": null,\n        \"email\": \"admin2@famtrust.biz\",\n        \"_\": \"\",\n        \"roleId\": \"admin\",\n        \"defaultGroup\": \"f47ac10b-58cc-4372-a567-0e02b2c3d479\",\n        \"has2FA\": false,\n        \"isVerified\": false,\n        \"isFreezed\": false,\n        \"lastLogin\": \"2024-07-24T17:45:00.257339Z\",\n        \"role\": {\n            \"Id\": \"\",\n            \"createdAt\": \"0001-01-01T00:00:00Z\",\n            \"updatedAt\": \"0001-01-01T00:00:00Z\",\n            \"DeletedAt\": null,\n            \"permissions\": null\n        },\n        \"userProfile\": {\n            \"id\": \"00000000-0000-0000-0000-000000000000\",\n            \"createdAt\": \"0001-01-01T00:00:00Z\",\n            \"updatedAt\": \"0001-01-01T00:00:00Z\",\n            \"DeletedAt\": null,\n            \"userId\": \"00000000-0000-0000-0000-000000000000\",\n            \"firstName\": \"\",\n            \"lastName\": \"\",\n            \"bio\": \"\",\n            \"defaultGroup\": \"00000000-0000-0000-0000-000000000000\",\n            \"nin\": 0,\n            \"bvn\": 0,\n            \"profilePictureUrl\": \"\"\n        }\n    }\n}"}],"_postman_id":"a9d67e07-2609-4c37-be8b-11e6eaa0b7df"},{"name":"All Users by Default Group","id":"106d2004-cdde-4790-914f-1c34708bb7d9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://auth.famtrust.biz/api/v1/users","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["users"],"host":["https://auth.famtrust.biz/api/v1"],"query":[],"variable":[]}},"response":[{"id":"3e9e2435-eb5c-49da-ab43-4874e88d2880","name":"Retrieve Users","originalRequest":{"method":"GET","header":[],"url":"https://auth.famtrust.biz/api/v1/users"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.18.0 (Ubuntu)"},{"key":"Date","value":"Thu, 25 Jul 2024 23:12:02 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Users retrieved successfully\",\n    \"status\": \"success\",\n    \"statusCode\": 200,\n    \"users\": [\n        {\n            \"id\": \"05992796-18b0-412b-9d34-1c12a108abb5\",\n            \"createdAt\": \"2024-07-22T22:23:20.938Z\",\n            \"updatedAt\": \"2024-07-23T22:54:28.956097Z\",\n            \"DeletedAt\": null,\n            \"email\": \"admin1@famtrust.biz\",\n            \"_\": \"\",\n            \"roleId\": \"admin\",\n            \"defaultGroup\": \"f47ac10b-58cc-4372-a567-0e02b2c3d479\",\n            \"has2FA\": false,\n            \"isVerified\": true,\n            \"isFreezed\": false,\n            \"lastLogin\": \"2024-07-22T22:23:54.81Z\",\n            \"role\": {\n                \"Id\": \"\",\n                \"createdAt\": \"0001-01-01T00:00:00Z\",\n                \"updatedAt\": \"0001-01-01T00:00:00Z\",\n                \"DeletedAt\": null,\n                \"permissions\": null\n            },\n            \"userProfile\": {\n                \"id\": \"0e03439b-1e2f-4df3-a6aa-0c3f5972501b\",\n                \"createdAt\": \"2024-07-23T04:12:05.09Z\",\n                \"updatedAt\": \"2024-07-25T02:02:44.13891Z\",\n                \"DeletedAt\": null,\n                \"userId\": \"05992796-18b0-412b-9d34-1c12a108abb5\",\n                \"firstName\": \"Famy\",\n                \"lastName\": \"Trusty\",\n                \"bio\": \"Here since the beginning!\",\n                \"defaultGroup\": \"f47ac10b-58cc-4372-a567-0e02b2c3d479\",\n                \"nin\": 1212323433545,\n                \"bvn\": 231343134324,\n                \"profilePictureUrl\": \"images/profile-pic/db.Users.png\"\n            }\n        },\n        {\n            \"id\": \"7f9019b0-067e-4a39-a779-807887df669a\",\n            \"createdAt\": \"2024-07-22T22:23:20.938Z\",\n            \"updatedAt\": \"2024-07-23T22:58:40.24171Z\",\n            \"DeletedAt\": null,\n            \"email\": \"member1@famtrust.biz\",\n            \"_\": \"\",\n            \"roleId\": \"member\",\n            \"defaultGroup\": \"f47ac10b-58cc-4372-a567-0e02b2c3d479\",\n            \"has2FA\": false,\n            \"isVerified\": true,\n            \"isFreezed\": false,\n            \"lastLogin\": \"2024-07-22T22:23:54.81Z\",\n            \"role\": {\n                \"Id\": \"\",\n                \"createdAt\": \"0001-01-01T00:00:00Z\",\n                \"updatedAt\": \"0001-01-01T00:00:00Z\",\n                \"DeletedAt\": null,\n                \"permissions\": null\n            },\n            \"userProfile\": {\n                \"id\": \"be5eda0b-b81c-4eaa-b7be-6e15dc8b0403\",\n                \"createdAt\": \"2024-07-24T20:19:36.905263Z\",\n                \"updatedAt\": \"2024-07-24T21:14:17.06485Z\",\n                \"DeletedAt\": null,\n                \"userId\": \"7f9019b0-067e-4a39-a779-807887df669a\",\n                \"firstName\": \"Updated Member\",\n                \"lastName\": \"One\",\n                \"bio\": \"The real first member\",\n                \"defaultGroup\": \"f47ac10b-58cc-4372-a567-0e02b2c3d479\",\n                \"nin\": 1212121212,\n                \"bvn\": 0,\n                \"profilePictureUrl\": \"images/profile-pic/db.Users.png\"\n            }\n        },\n        {\n            \"id\": \"4e676eec-c3f0-42e7-bc7f-5a0367a38343\",\n            \"createdAt\": \"2024-07-24T17:45:00.683978Z\",\n            \"updatedAt\": \"2024-07-24T17:45:00.683978Z\",\n            \"DeletedAt\": null,\n            \"email\": \"admin2@famtrust.biz\",\n            \"_\": \"\",\n            \"roleId\": \"admin\",\n            \"defaultGroup\": \"f47ac10b-58cc-4372-a567-0e02b2c3d479\",\n            \"has2FA\": false,\n            \"isVerified\": false,\n            \"isFreezed\": false,\n            \"lastLogin\": \"2024-07-24T17:45:00.257339Z\",\n            \"role\": {\n                \"Id\": \"\",\n                \"createdAt\": \"0001-01-01T00:00:00Z\",\n                \"updatedAt\": \"0001-01-01T00:00:00Z\",\n                \"DeletedAt\": null,\n                \"permissions\": null\n            },\n            \"userProfile\": {\n                \"id\": \"00000000-0000-0000-0000-000000000000\",\n                \"createdAt\": \"0001-01-01T00:00:00Z\",\n                \"updatedAt\": \"0001-01-01T00:00:00Z\",\n                \"DeletedAt\": null,\n                \"userId\": \"00000000-0000-0000-0000-000000000000\",\n                \"firstName\": \"\",\n                \"lastName\": \"\",\n                \"bio\": \"\",\n                \"defaultGroup\": \"00000000-0000-0000-0000-000000000000\",\n                \"nin\": 0,\n                \"bvn\": 0,\n                \"profilePictureUrl\": \"\"\n            }\n        },\n        {\n            \"id\": \"9cd61730-76ac-442d-a8c2-845a369b8ac1\",\n            \"createdAt\": \"2024-07-24T17:59:54.262828Z\",\n            \"updatedAt\": \"2024-07-24T17:59:54.262828Z\",\n            \"DeletedAt\": null,\n            \"email\": \"member2@famtrust.biz\",\n            \"_\": \"\",\n            \"roleId\": \"member\",\n            \"defaultGroup\": \"f47ac10b-58cc-4372-a567-0e02b2c3d479\",\n            \"has2FA\": true,\n            \"isVerified\": false,\n            \"isFreezed\": false,\n            \"lastLogin\": \"2024-07-24T17:59:54.002802Z\",\n            \"role\": {\n                \"Id\": \"\",\n                \"createdAt\": \"0001-01-01T00:00:00Z\",\n                \"updatedAt\": \"0001-01-01T00:00:00Z\",\n                \"DeletedAt\": null,\n                \"permissions\": null\n            },\n            \"userProfile\": {\n                \"id\": \"00000000-0000-0000-0000-000000000000\",\n                \"createdAt\": \"0001-01-01T00:00:00Z\",\n                \"updatedAt\": \"0001-01-01T00:00:00Z\",\n                \"DeletedAt\": null,\n                \"userId\": \"00000000-0000-0000-0000-000000000000\",\n                \"firstName\": \"\",\n                \"lastName\": \"\",\n                \"bio\": \"\",\n                \"defaultGroup\": \"00000000-0000-0000-0000-000000000000\",\n                \"nin\": 0,\n                \"bvn\": 0,\n                \"profilePictureUrl\": \"\"\n            }\n        },\n        {\n            \"id\": \"1241378b-7615-496c-a171-d13a1ff9526b\",\n            \"createdAt\": \"2024-07-25T01:01:31.967948Z\",\n            \"updatedAt\": \"2024-07-25T01:01:31.967948Z\",\n            \"DeletedAt\": null,\n            \"email\": \"member3@famtrust.biz\",\n            \"_\": \"\",\n            \"roleId\": \"member\",\n            \"defaultGroup\": \"f47ac10b-58cc-4372-a567-0e02b2c3d479\",\n            \"has2FA\": false,\n            \"isVerified\": false,\n            \"isFreezed\": false,\n            \"lastLogin\": \"2024-07-25T01:01:31.693403Z\",\n            \"role\": {\n                \"Id\": \"\",\n                \"createdAt\": \"0001-01-01T00:00:00Z\",\n                \"updatedAt\": \"0001-01-01T00:00:00Z\",\n                \"DeletedAt\": null,\n                \"permissions\": null\n            },\n            \"userProfile\": {\n                \"id\": \"00000000-0000-0000-0000-000000000000\",\n                \"createdAt\": \"0001-01-01T00:00:00Z\",\n                \"updatedAt\": \"0001-01-01T00:00:00Z\",\n                \"DeletedAt\": null,\n                \"userId\": \"00000000-0000-0000-0000-000000000000\",\n                \"firstName\": \"\",\n                \"lastName\": \"\",\n                \"bio\": \"\",\n                \"defaultGroup\": \"00000000-0000-0000-0000-000000000000\",\n                \"nin\": 0,\n                \"bvn\": 0,\n                \"profilePictureUrl\": \"\"\n            }\n        }\n    ]\n}"}],"_postman_id":"106d2004-cdde-4790-914f-1c34708bb7d9"}],"id":"4ac50e9d-bda6-45fb-94ef-506a9e651758","_postman_id":"4ac50e9d-bda6-45fb-94ef-506a9e651758","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}}}],"id":"ec93a8fd-da53-4291-9290-451cda8b8bdb","description":"<p>This is a collection of endpoints for user authentication and authorizations.</p>\n","_postman_id":"ec93a8fd-da53-4291-9290-451cda8b8bdb","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}}},{"name":"Transactions","item":[{"name":"List Transactions","id":"d2715146-e811-4d9d-a4cb-81ec81b389e6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://core.famtrust.biz/api/v1/transactions","description":"<p>List all transactions initiated by the current authenticated user.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["transactions"],"host":["https://core.famtrust.biz/api/v1"],"query":[],"variable":[]}},"response":[{"id":"a14a8df1-07eb-4ad4-97b4-ba86bb39b146","name":"Retrieve Transactions","originalRequest":{"method":"GET","header":[],"url":"https://core.famtrust.biz/api/v1/transactions"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 31 Jul 2024 18:31:09 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.10.12"},{"key":"Content-Type","value":"application/json"},{"key":"Allow","value":"GET, POST"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"2865"},{"key":"Vary","value":"Cookie"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Transactions retrieved successfully.\",\n    \"status_code\": 200,\n    \"success\": true,\n    \"metadata\": {\n        \"next\": null,\n        \"previous\": null,\n        \"count\": 3,\n        \"total_pages\": 1,\n        \"current_page\": 1\n    },\n    \"transactions\": [\n        {\n            \"id\": \"2522cf46-a0dd-4006-9d20-501b81c348d8\",\n            \"family_source_account\": {\n                \"id\": \"924ec24b-05ed-427e-9612-cbcc7e69bc29\",\n                \"name\": \"New Account\",\n                \"balance\": \"30500.00\",\n                \"family_group\": {\n                    \"id\": \"843827bf-75e2-40c5-86ae-b9bdbb5accff\",\n                    \"name\": \"Our Default Family Group\",\n                    \"description\": \"This is where all my family members will be.\",\n                    \"is_default\": true\n                }\n            },\n            \"family_destination_account\": null,\n            \"sub_source_account\": null,\n            \"sub_destination_account\": {\n                \"id\": \"e1924b27-bc2f-475a-aec9-3c271dae0cc9\",\n                \"name\": \"Sub Account 1\",\n                \"owner_id\": \"05992796-18b0-412b-9d34-1c12a108abb5\",\n                \"type\": \"savings\",\n                \"balance\": \"1500.00\",\n                \"family_account\": {\n                    \"id\": \"924ec24b-05ed-427e-9612-cbcc7e69bc29\",\n                    \"name\": \"New Account\",\n                    \"balance\": \"30500.00\",\n                    \"family_group\": {\n                        \"id\": \"843827bf-75e2-40c5-86ae-b9bdbb5accff\",\n                        \"name\": \"Our Default Family Group\",\n                        \"description\": \"This is where all my family members will be.\",\n                        \"is_default\": true\n                    }\n                }\n            },\n            \"amount\": \"1500.00\",\n            \"user_id\": \"05992796-18b0-412b-9d34-1c12a108abb5\",\n            \"transaction_type\": \"savings\",\n            \"transaction_status\": \"successful\",\n            \"transaction_direction\": \"family_account_to_sub_account\",\n            \"details\": \"Monthly Savings\",\n            \"created_at\": \"2024-07-31T13:40:25.756028Z\",\n            \"updated_at\": \"2024-07-31T13:40:25.756028Z\",\n            \"fund_request_id\": null\n        },\n        {\n            \"id\": \"98341d8c-4c6e-47b4-99f6-21e067cade4f\",\n            \"family_source_account\": null,\n            \"family_destination_account\": {\n                \"id\": \"924ec24b-05ed-427e-9612-cbcc7e69bc29\",\n                \"name\": \"New Account\",\n                \"balance\": \"30500.00\",\n                \"family_group\": {\n                    \"id\": \"843827bf-75e2-40c5-86ae-b9bdbb5accff\",\n                    \"name\": \"Our Default Family Group\",\n                    \"description\": \"This is where all my family members will be.\",\n                    \"is_default\": true\n                }\n            },\n            \"sub_source_account\": null,\n            \"sub_destination_account\": null,\n            \"amount\": \"16000.00\",\n            \"user_id\": \"05992796-18b0-412b-9d34-1c12a108abb5\",\n            \"transaction_type\": \"savings\",\n            \"transaction_status\": \"successful\",\n            \"transaction_direction\": \"bank_to_family_account\",\n            \"details\": \"Monthly Children's Savings\",\n            \"created_at\": \"2024-07-31T13:36:57.988840Z\",\n            \"updated_at\": \"2024-07-31T13:36:57.988840Z\",\n            \"fund_request_id\": null\n        },\n        {\n            \"id\": \"0236525d-53a9-45b7-9bb5-3ac06c29b55d\",\n            \"family_source_account\": null,\n            \"family_destination_account\": {\n                \"id\": \"924ec24b-05ed-427e-9612-cbcc7e69bc29\",\n                \"name\": \"New Account\",\n                \"balance\": \"30500.00\",\n                \"family_group\": {\n                    \"id\": \"843827bf-75e2-40c5-86ae-b9bdbb5accff\",\n                    \"name\": \"Our Default Family Group\",\n                    \"description\": \"This is where all my family members will be.\",\n                    \"is_default\": true\n                }\n            },\n            \"sub_source_account\": null,\n            \"sub_destination_account\": null,\n            \"amount\": \"16000.00\",\n            \"user_id\": \"05992796-18b0-412b-9d34-1c12a108abb5\",\n            \"transaction_type\": \"savings\",\n            \"transaction_status\": \"successful\",\n            \"transaction_direction\": \"bank_to_family_account\",\n            \"details\": \"Monthly Children's Savings\",\n            \"created_at\": \"2024-07-31T13:36:38.635795Z\",\n            \"updated_at\": \"2024-07-31T13:36:38.635795Z\",\n            \"fund_request_id\": null\n        }\n    ]\n}"}],"_postman_id":"d2715146-e811-4d9d-a4cb-81ec81b389e6"},{"name":"Create a transaction","id":"b50b73bd-142a-478f-9537-6612a02dc2c0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"amount\": 1500,\n    \"transaction_type\": \"savings\",\n    \"transaction_direction\": \"family_account_to_sub_account\",\n    \"family_source_account_id\": \"924ec24b-05ed-427e-9612-cbcc7e69bc29\",\n    \"sub_destination_account_id\": \"b92ff61d-962e-4938-a16d-a730c3a987df\",\n    \"details\": \"Monthly Savings\"\n}","options":{"raw":{"language":"json"}}},"url":"https://core.famtrust.biz/api/v1/transactions","description":"<p>This endpoint creates a transaction for the current authenticated user.</p>\n<p>There are multiple options when creating a transaction, e.g., the type of transaction and the direction of the transaction. Here's a list of the accepted transaction direction.</p>\n<h2 id=\"transaction-direction\">Transaction Direction</h2>\n<p>This defines the way in which a transaction is perform, e.g., from a family account to a sub account.</p>\n<ul>\n<li>Family Account to Family Account (<code>family_account_to_family_account</code>)</li>\n<li>Sub Account to Sub Account (<code>sub_account_to_sub_account</code>)</li>\n<li>Sub Account to Family Account (<code>sub_account_to_family_account</code>)</li>\n<li>Family Account to Sub Account (<code>family_account_to_sub_account</code>)</li>\n<li>Bank to Sub Account (<code>bank_to_sub_account</code>)</li>\n<li>Sub Account to Bank (<code>sub_account_to_bank</code>)</li>\n<li>Bank to Family Account (<code>bank_to_family_account</code>)</li>\n<li>Family Account to Bank (<code>family_account_to_bank</code>)</li>\n<li>Mobile Wallet to Family Account (<code>mobile_wallet_to_family_account</code>)</li>\n</ul>\n<h2 id=\"transaction-type\">Transaction Type</h2>\n<p>This defines the type of transaction being made, e.g., a withdrawal. Below is a detailed list of available transaction types</p>\n<h3 id=\"savings\">Savings</h3>\n<p>To create a savings transactions, specify <code>savings</code> in the <code>transaction_type</code> field. This is useful when the transaction is to be sent to an account that is used primarily for savings.</p>\n<h3 id=\"withdrawal\">Withdrawal</h3>\n<p>This is fairly straightforward. Whenever a transaction leads to a withdrawal, specify <code>withdrawal</code> in the <code>transaction_type</code> field.</p>\n<h3 id=\"investment\">Investment</h3>\n<p>Specify <code>investment</code> in <code>transaction_type</code> field.</p>\n<h3 id=\"airtime-top-up\">Airtime Top Up</h3>\n<p>Specify <code>airtime_top_up</code> in <code>transaction_type</code> field.</p>\n<h3 id=\"bill-payment\">Bill Payment</h3>\n<p>Specify <code>bill_payment</code> in <code>transaction_type</code> field.</p>\n<h3 id=\"transfers\">Transfers</h3>\n<p>This is for general transfers that doesn't fit into any of the other categories. Specify <code>transfers</code> in the <code>transaction_type</code> field.</p>\n<h3 id=\"fund-request\">Fund Request</h3>\n<p>This field must be set when the transaction came about as a result of a sub account making a request to be funded. The <code>fund_request_id</code> must be provided when this type of transaction is selected. Specify <code>fund_request</code> in the <code>transaction_type</code> field.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["transactions"],"host":["https://core.famtrust.biz/api/v1"],"query":[],"variable":[]}},"response":[{"id":"ab4c3e77-e72c-4139-b6c2-07523cb2c9a0","name":"Create a transaction","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"amount\": 400,\n    \"transaction_type\": \"savings\",\n    \"transaction_direction\": \"family_account_to_family_account\",\n    \"family_source_account_id\": \"1c94d85d-52cd-4b70-9023-d3f1b24dec6d\",\n    \"family_destination_account_id\": \"ad3eaed1-7d2c-4e6c-9921-7298bb404f11\",\n    \"details\": \"Monthly Children's Savings\"\n}","options":{"raw":{"language":"json"}}},"url":"https://core.famtrust.biz/api/v1/transactions"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 24 Jul 2024 09:20:30 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.10.12"},{"key":"Content-Type","value":"application/json"},{"key":"Location","value":"http://localhost:8000/api/v1/transactions/43c14c1a-5e2f-4b03-8d81-9b0481e1a069"},{"key":"Allow","value":"GET, POST"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"1147"},{"key":"Vary","value":"Cookie"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Transaction created successfully.\",\n    \"status_code\": 201,\n    \"success\": true,\n    \"transaction\": {\n        \"id\": \"43c14c1a-5e2f-4b03-8d81-9b0481e1a069\",\n        \"family_source_account\": {\n            \"id\": \"1c94d85d-52cd-4b70-9023-d3f1b24dec6d\",\n            \"name\": \"Johnson's Family\",\n            \"family_group\": \"352cd737-7f63-4e6b-9730-2bcdb2ca06ea\",\n            \"balance\": \"1100.00\"\n        },\n        \"family_destination_account\": {\n            \"id\": \"ad3eaed1-7d2c-4e6c-9921-7298bb404f11\",\n            \"name\": \"Children's Savings\",\n            \"family_group\": \"191f12f8-761b-4715-983a-22c33c2b0065\",\n            \"balance\": \"500.00\"\n        },\n        \"sub_source_account\": null,\n        \"sub_destination_account\": null,\n        \"amount\": \"400.00\",\n        \"user_id\": \"05992796-18b0-412b-9d34-1c12a108abb5\",\n        \"transaction_type\": \"savings\",\n        \"transaction_status\": \"successful\",\n        \"transaction_direction\": \"family_account_to_family_account\",\n        \"details\": \"Monthly Children's Savings\",\n        \"created_at\": \"2024-07-24T09:20:30.306068Z\",\n        \"updated_at\": \"2024-07-24T09:20:30.306068Z\",\n        \"fund_request_id\": null\n    }\n}"}],"_postman_id":"b50b73bd-142a-478f-9537-6612a02dc2c0"},{"name":"Bank to Family Account Transaction","id":"4bb7edd8-dab3-4797-a2f8-497087462335","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"amount\": 5000,\n    \"transaction_type\": \"savings\",\n    \"transaction_direction\": \"bank_to_family_account\",\n    \"family_destination_account_id\": \"924ec24b-05ed-427e-9612-cbcc7e69bc29\",\n    \"details\": \"A Test Transaction\"\n}","options":{"raw":{"language":"json"}}},"url":"https://core.famtrust.biz/api/v1/transactions","description":"<p>This endpoint currently simulates a bank to family account transaction. Any user on the platform can perform this transaction so long as they an administrator and have the ID of the family account they want to transfer to.</p>\n<h3 id=\"current-behavior\">Current Behavior</h3>\n<p>Currently, this endpoint is meant to allow family administrators top up their family account balance. This is by no means real money, they are just numbers. As a result, they may be wrong data if this endpoint is abused. The current behavior is solely meant to <em>simulate</em> the <strong>expected</strong> behavior which is to come.</p>\n<h3 id=\"expected-behavior\">Expected Behavior</h3>\n<p>In the next iterations, this feature will be fully implemented to ensure bank to family accounts are based on the real data of people in real life.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["transactions"],"host":["https://core.famtrust.biz/api/v1"],"query":[],"variable":[]}},"response":[{"id":"14eccf54-a460-4f24-829e-4b809e0ddbcb","name":"Bank to Family Account Transaction","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"amount\": 5000,\n    \"transaction_type\": \"transfers\",\n    \"transaction_direction\": \"bank_to_family_account\",\n    \"family_destination_account_id\": \"c750af8d-184a-44c6-910f-5b096a0f697e\",\n    \"details\": \"Monthly Account Transfers\"\n}","options":{"raw":{"language":"json"}}},"url":"https://core.famtrust.biz/api/v1/transactions"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 02 Aug 2024 13:41:47 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"851"},{"key":"Connection","value":"keep-alive"},{"key":"Report-To","value":"{\"group\":\"heroku-nel\",\"max_age\":3600,\"endpoints\":[{\"url\":\"https://nel.heroku.com/reports?ts=1722606106&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=a7o0A86hFnJd9ABC9qIuo7k9zObrLpWYPU4CGnvGA0w%3D\"}]}"},{"key":"Reporting-Endpoints","value":"heroku-nel=https://nel.heroku.com/reports?ts=1722606106&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=a7o0A86hFnJd9ABC9qIuo7k9zObrLpWYPU4CGnvGA0w%3D"},{"key":"Nel","value":"{\"report_to\":\"heroku-nel\",\"max_age\":3600,\"success_fraction\":0.005,\"failure_fraction\":0.05,\"response_headers\":[\"Via\"]}"},{"key":"Allow","value":"GET, POST"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Vary","value":"Cookie, origin"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Via","value":"1.1 vegur"},{"key":"CF-Cache-Status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"8ace7cc509cfbefb-LHR"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Transaction created successfully.\",\n    \"status_code\": 201,\n    \"success\": true,\n    \"transaction\": {\n        \"id\": \"0397f3ce-566f-4e39-ad64-69ad34ce7410\",\n        \"family_source_account\": null,\n        \"family_destination_account\": {\n            \"id\": \"c750af8d-184a-44c6-910f-5b096a0f697e\",\n            \"name\": \"FamTrust Savings\",\n            \"balance\": \"10000.00\",\n            \"family_group\": {\n                \"id\": \"843827bf-75e2-40c5-86ae-b9bdbb5accff\",\n                \"name\": \"Our Default Family Group\",\n                \"description\": \"This is where all my family members will be.\",\n                \"is_default\": true\n            }\n        },\n        \"sub_source_account\": null,\n        \"sub_destination_account\": null,\n        \"amount\": \"5000.00\",\n        \"user_id\": \"af685d08-d82e-4e1f-a71c-0e038f75673b\",\n        \"transaction_type\": \"transfers\",\n        \"transaction_status\": \"successful\",\n        \"transaction_direction\": \"bank_to_family_account\",\n        \"details\": \"Monthly Account Transfers\",\n        \"created_at\": \"2024-08-02T13:41:47.580240Z\",\n        \"updated_at\": \"2024-08-02T13:41:47.580240Z\",\n        \"fund_request_id\": null\n    }\n}"}],"_postman_id":"4bb7edd8-dab3-4797-a2f8-497087462335"},{"name":"Delete Transaction","id":"c4be956f-c942-4cc4-84e6-5c27aa36fa2e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://core.famtrust.biz/api/v1/transactions/:transaction_id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["transactions",":transaction_id"],"host":["https://core.famtrust.biz/api/v1"],"query":[],"variable":[{"id":"e3b9ab52-cea4-4729-b8c7-50cb38b47776","description":{"content":"<p>The ID of the transaction to delete</p>\n","type":"text/plain"},"type":"any","value":"bbf401cb-d3be-4d04-8c1e-58d37dd3b7f9","key":"transaction_id"}]}},"response":[{"id":"6a631b9f-fbd5-464c-8980-3866d6ffe35b","name":"Delete Transaction","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://core.famtrust.biz/api/v1/transactions/:transaction_id","host":["https://core.famtrust.biz/api/v1"],"path":["transactions",":transaction_id"],"variable":[{"key":"transaction_id","value":"bbf401cb-d3be-4d04-8c1e-58d37dd3b7f9","description":"The ID of the transaction to delete"}]}},"status":"No Content","code":204,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"c4be956f-c942-4cc4-84e6-5c27aa36fa2e"},{"name":"Get a transaction","id":"06001a3a-146e-4df0-8afa-613157d91be9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://core.famtrust.biz/api/v1/transactions/:transaction_id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["transactions",":transaction_id"],"host":["https://core.famtrust.biz/api/v1"],"query":[],"variable":[{"type":"any","value":"98341d8c-4c6e-47b4-99f6-21e067cade4f","key":"transaction_id"}]}},"response":[{"id":"37b35f15-92f4-42e1-991e-01f84221098b","name":"Get a transaction","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://core.famtrust.biz/api/v1/transactions/:transaction_id","host":["https://core.famtrust.biz/api/v1"],"path":["transactions",":transaction_id"],"variable":[{"key":"transaction_id","value":"98341d8c-4c6e-47b4-99f6-21e067cade4f"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 11 Aug 2024 13:04:44 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Report-To","value":"{\"group\":\"heroku-nel\",\"max_age\":3600,\"endpoints\":[{\"url\":\"https://nel.heroku.com/reports?ts=1723381483&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=s2cDtHbsZazzAJShpP890WFZOrjkb7PG8MFuMF2Mquw%3D\"}]}"},{"key":"Reporting-Endpoints","value":"heroku-nel=https://nel.heroku.com/reports?ts=1723381483&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=s2cDtHbsZazzAJShpP890WFZOrjkb7PG8MFuMF2Mquw%3D"},{"key":"Nel","value":"{\"report_to\":\"heroku-nel\",\"max_age\":3600,\"success_fraction\":0.005,\"failure_fraction\":0.05,\"response_headers\":[\"Via\"]}"},{"key":"Allow","value":"GET, PUT, DELETE"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Vary","value":"Cookie, origin"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Via","value":"1.1 vegur"},{"key":"CF-Cache-Status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"8b186edd1f9079be-LHR"},{"key":"Content-Encoding","value":"br"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Transaction retrieved successfully.\",\n    \"status_code\": 200,\n    \"success\": true,\n    \"transaction\": {\n        \"id\": \"98341d8c-4c6e-47b4-99f6-21e067cade4f\",\n        \"family_source_account\": null,\n        \"family_destination_account\": {\n            \"id\": \"924ec24b-05ed-427e-9612-cbcc7e69bc29\",\n            \"name\": \"New Account\",\n            \"balance\": \"30500.00\",\n            \"family_group\": {\n                \"id\": \"843827bf-75e2-40c5-86ae-b9bdbb5accff\",\n                \"name\": \"Our Default Family Group\",\n                \"description\": \"This is where all my family members will be.\",\n                \"is_default\": true\n            }\n        },\n        \"sub_source_account\": null,\n        \"sub_destination_account\": null,\n        \"amount\": \"16000.00\",\n        \"user_id\": \"05992796-18b0-412b-9d34-1c12a108abb5\",\n        \"transaction_type\": \"savings\",\n        \"transaction_status\": \"successful\",\n        \"transaction_direction\": \"bank_to_family_account\",\n        \"details\": \"Monthly Children's Savings\",\n        \"created_at\": \"2024-07-31T13:36:57.988840Z\",\n        \"updated_at\": \"2024-07-31T13:36:57.988840Z\",\n        \"fund_request_id\": null\n    }\n}"}],"_postman_id":"06001a3a-146e-4df0-8afa-613157d91be9"}],"id":"af327440-4ac5-4d69-b4f1-3cb13fd3c64a","description":"<p>This is a collection of endpoints for interacting with the transactions API. All transaction operations are defined here.</p>\n<h2 id=\"the-flow-of-a-transaction\">The Flow of a Transaction</h2>\n<p>To perform a transaction, a user must have sub account that is linked to a family account.</p>\n","_postman_id":"af327440-4ac5-4d69-b4f1-3cb13fd3c64a","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}}},{"name":"Family Groups","item":[{"name":"Creations","item":[{"name":"Create a Default Family Group","event":[{"listen":"test","script":{"exec":["if (pm.response.code == 201) {","    pm.collectionVariables.set(\"default_family_group_id\", pm.response.json().family_group.id);","}"],"type":"text/javascript","packages":{},"id":"1dfd5678-c1df-4ba1-9edb-f66a82d3cd18"}},{"listen":"prerequest","script":{"exec":[""],"type":"text/javascript","packages":{},"id":"3e24366d-0994-418f-aa55-32a35f43ed61"}}],"id":"c9dce579-9d33-4911-84cd-b730998995f9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"name\": \"Our Default Family Group\",\n    \"description\": \"This is where all my family members will be.\",\n    \"is_default\": true\n}","options":{"raw":{"language":"json"}}},"url":"https://core.famtrust.biz/api/v1/family-groups","description":"<h3 id=\"create-family-group\">Create Family Group</h3>\n<p>This endpoint allows you to create a new family group.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p><code>name</code> (string, required): The name of the family group.</p>\n</li>\n<li><p><code>description</code> (string, required): The description of the family group.</p>\n</li>\n<li><p><code>is_default</code> (boolean, required): Indicates if the family group is the default group.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response will be a JSON object with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"type\": \"object\",\n    \"properties\": {\n        \"message\": {\"type\": \"string\"},\n        \"status_code\": {\"type\": \"integer\"},\n        \"success\": {\"type\": \"boolean\"},\n        \"family_group\": {\n            \"type\": \"object\",\n            \"properties\": {\n                \"id\": {\"type\": \"string\"},\n                \"name\": {\"type\": \"string\"},\n                \"description\": {\"type\": \"string\"},\n                \"created_at\": {\"type\": \"string\"},\n                \"updated_at\": {\"type\": \"string\"},\n                \"owner_id\": {\"type\": \"string\"},\n                \"is_default\": {\"type\": \"boolean\"}\n            }\n        }\n    }\n}\n\n</code></pre>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["family-groups"],"host":["https://core.famtrust.biz/api/v1"],"query":[],"variable":[]}},"response":[{"id":"fbe4a7c0-1054-40cc-8100-321b9d44e860","name":"Create a Default Family Group","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"name\": \"Our Default Family\",\n    \"description\": \"This is where all my family members will be.\",\n    \"is_default\": true\n}","options":{"raw":{"language":"json"}}},"url":"https://core.famtrust.biz/api/v1/family-groups"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 25 Jul 2024 12:54:16 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.10.12"},{"key":"Content-Type","value":"application/json"},{"key":"Allow","value":"GET, POST, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"385"},{"key":"Vary","value":"Cookie"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Family Group created successfully.\",\n    \"status_code\": 201,\n    \"success\": true,\n    \"family_group\": {\n        \"id\": \"372065cf-01d3-4a2b-ab7a-0a7c0f348c4c\",\n        \"name\": \"Our Default Family\",\n        \"description\": \"This is where all my family members will be.\",\n        \"created_at\": \"2024-07-25T12:54:16.114481Z\",\n        \"updated_at\": \"2024-07-25T12:54:16.114481Z\",\n        \"owner_id\": \"05992796-18b0-412b-9d34-1c12a108abb5\",\n        \"is_default\": true\n    }\n}"}],"_postman_id":"c9dce579-9d33-4911-84cd-b730998995f9"},{"name":"Create a Normal Family Group","event":[{"listen":"test","script":{"exec":["// Added comment and fixed syntax error","pm.test(\"Response status code is 200\", () => {","    pm.response.to.have.status(200);","});","","// Updated response time test to 300ms","pm.test(\"Response time is less than 300ms\", () => {","    pm.expect(pm.response.responseTime).to.be.below(300);","}","","if (pm.response.code == 201) {","    pm.collectionVariables.set(\"family_group_id\", pm.response.json().family_group.id);","}","","// Test to check if the response contains the family_group property","pm.test(\"Response contains the family_group property\", () => {","    const responseXML = xml2Json(pm.response.text());","    pm.expect(responseXML).to.have.property('family_group');","    pm.expect(responseXML.family_group).to.be.an('object');","});"],"type":"text/javascript","packages":{},"id":"484f0542-2b46-4a96-8ccf-25e35d8a96bf"}},{"listen":"prerequest","script":{"exec":[""],"type":"text/javascript","packages":{},"id":"3c9982c1-9c68-4073-a111-571203375422"}}],"id":"7623816e-7ca4-490b-b4bd-ae49dc06f826","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"name\": \"The Johnson's family group\",\n    \"description\": \"A family group for the Johnson's group generation.\",\n    \"is_default\" : \"false\"\n}\n\n","options":{"raw":{"language":"json"}}},"url":"https://core.famtrust.biz/api/v1/family-groups","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["family-groups"],"host":["https://core.famtrust.biz/api/v1"],"query":[],"variable":[]}},"response":[{"id":"563d35c4-416c-47fd-8224-d1cbef1d3556","name":"Create a Normal Family Group","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"name\": \"The unborn generation\",\n    \"description\": \"A family group for the unborn generation.\"\n}","options":{"raw":{"language":"json"}}},"url":"https://core.famtrust.biz/api/v1/family-groups"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Report-To","value":"{\"group\":\"heroku-nel\",\"max_age\":3600,\"endpoints\":[{\"url\":\"https://nel.heroku.com/reports?ts=1721922371&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=Iby3CTowMbBdAfz1x%2BCo097zNS3cL2UgDN77TdylgZE%3D\"}]}"},{"key":"Reporting-Endpoints","value":"heroku-nel=https://nel.heroku.com/reports?ts=1721922371&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=Iby3CTowMbBdAfz1x%2BCo097zNS3cL2UgDN77TdylgZE%3D"},{"key":"Nel","value":"{\"report_to\":\"heroku-nel\",\"max_age\":3600,\"success_fraction\":0.005,\"failure_fraction\":0.05,\"response_headers\":[\"Via\"]}"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"gunicorn"},{"key":"Date","value":"Thu, 25 Jul 2024 15:46:12 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Allow","value":"GET, POST, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"386"},{"key":"Vary","value":"Cookie"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Via","value":"1.1 vegur"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Family Group created successfully.\",\n    \"status_code\": 201,\n    \"success\": true,\n    \"family_group\": {\n        \"id\": \"e910125b-cef4-41b1-9f01-08d76d76dcc6\",\n        \"name\": \"The unborn generation\",\n        \"description\": \"A family group for the unborn generation.\",\n        \"created_at\": \"2024-07-25T15:46:12.865780Z\",\n        \"updated_at\": \"2024-07-25T15:46:12.865780Z\",\n        \"owner_id\": \"05992796-18b0-412b-9d34-1c12a108abb5\",\n        \"is_default\": false\n    }\n}"}],"_postman_id":"7623816e-7ca4-490b-b4bd-ae49dc06f826"}],"id":"b15f916b-f57f-4213-8804-335051695ab3","_postman_id":"b15f916b-f57f-4213-8804-335051695ab3","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}}},{"name":"Retrievals","item":[{"name":"List Family Groups","id":"0d31c9f4-bdac-4d02-bb1c-9e5ebec868f7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://core.famtrust.biz/api/v1/family-groups","description":"<p>This endpoint retrieves all the family groups the current authenticated user is a member. If the user making the request is the admin of the family or the one who created the group, they will see those groups as well.</p>\n<p>A convenient way of filtering for the default family group is to passed the query parameter, <code>is_default</code> and set it to <code>true</code>. This will return only the default family group. Note that there can be only one default family group per family, this is the same group all other members are added for access and control.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["family-groups"],"host":["https://core.famtrust.biz/api/v1"],"query":[{"disabled":true,"description":{"content":"<p>Set this to true if you want to retrieve only default family groups.</p>\n","type":"text/plain"},"key":"is_default","value":"true"}],"variable":[]}},"response":[{"id":"6b504268-4d5a-4e62-8662-2549bc7167c6","name":"Retrieve all Family Groups","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Beare <token>","description":"The JWT Access Token received after login.","type":"text","disabled":true}],"url":"https://core.famtrust.biz/api/v1/family-groups"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 31 Jul 2024 21:51:06 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.10.12"},{"key":"Content-Type","value":"application/json"},{"key":"Allow","value":"GET, POST, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"785"},{"key":"Vary","value":"Cookie"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Family Groups retrieved successfully.\",\n    \"status_code\": 200,\n    \"success\": true,\n    \"metadata\": {\n        \"next\": null,\n        \"previous\": null,\n        \"count\": 2,\n        \"total_pages\": 1,\n        \"current_page\": 1\n    },\n    \"family_groups\": [\n        {\n            \"id\": \"3decd9a0-e751-410b-9784-d8ab47d86b78\",\n            \"name\": \"The Johnson's family group\",\n            \"description\": \"A family group for the Johnson's group generation.\",\n            \"created_at\": \"2024-07-31T13:14:27.496657Z\",\n            \"updated_at\": \"2024-07-31T13:14:27.496657Z\",\n            \"owner_id\": \"05992796-18b0-412b-9d34-1c12a108abb5\",\n            \"is_default\": false\n        },\n        {\n            \"id\": \"843827bf-75e2-40c5-86ae-b9bdbb5accff\",\n            \"name\": \"Our Default Family Group\",\n            \"description\": \"This is where all my family members will be.\",\n            \"created_at\": \"2024-07-30T23:13:47.901865Z\",\n            \"updated_at\": \"2024-07-30T23:13:47.901865Z\",\n            \"owner_id\": \"05992796-18b0-412b-9d34-1c12a108abb5\",\n            \"is_default\": true\n        }\n    ]\n}"}],"_postman_id":"0d31c9f4-bdac-4d02-bb1c-9e5ebec868f7"},{"name":"Get a Family Group","id":"6c01a727-3d36-4328-9d54-28975e4e4856","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://core.famtrust.biz/api/v1/family-groups/:family_group_id","description":"<p>This endpoint retrieves the details of a specific family group identified by the <code>family_group_id</code>.</p>\n<h3 id=\"response\">Response</h3>\n<p>The response to this request is a JSON object conforming to the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"type\": \"object\",\n  \"properties\": {\n    \"family_group_id\": {\n      \"type\": \"string\"\n    },\n    \"name\": {\n      \"type\": \"string\"\n    },\n    \"members\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"member_id\": {\n            \"type\": \"string\"\n          },\n          \"name\": {\n            \"type\": \"string\"\n          }\n        }\n      }\n    }\n  }\n}\n\n</code></pre>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["family-groups",":family_group_id"],"host":["https://core.famtrust.biz/api/v1"],"query":[],"variable":[{"type":"any","value":"3decd9a0-e751-410b-9784-d8ab47d86b78a","key":"family_group_id"}]}},"response":[{"id":"60199dbe-4f90-49be-afe5-0de858a12daf","name":"Get a Family Group","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://core.famtrust.biz/api/v1/family-groups/:family_group_id","host":["https://core.famtrust.biz/api/v1"],"path":["family-groups",":family_group_id"],"variable":[{"key":"family_group_id","value":"3decd9a0-e751-410b-9784-d8ab47d86b78a"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 10 Aug 2024 23:27:46 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Report-To","value":"{\"group\":\"heroku-nel\",\"max_age\":3600,\"endpoints\":[{\"url\":\"https://nel.heroku.com/reports?ts=1723332465&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=7yPky1FIvTxg5Zj%2F6lXdNBY3njeZnQ47dnrqCw58xdc%3D\"}]}"},{"key":"Reporting-Endpoints","value":"heroku-nel=https://nel.heroku.com/reports?ts=1723332465&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=7yPky1FIvTxg5Zj%2F6lXdNBY3njeZnQ47dnrqCw58xdc%3D"},{"key":"Nel","value":"{\"report_to\":\"heroku-nel\",\"max_age\":3600,\"success_fraction\":0.005,\"failure_fraction\":0.05,\"response_headers\":[\"Via\"]}"},{"key":"Allow","value":"GET, PUT, PATCH, DELETE, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Vary","value":"Cookie, origin"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Via","value":"1.1 vegur"},{"key":"CF-Cache-Status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"8b13c2231c2176d1-LHR"},{"key":"Content-Encoding","value":"br"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Family Group retrieved successfully.\",\n    \"status_code\": 200,\n    \"success\": true,\n    \"family_group\": {\n        \"id\": \"3decd9a0-e751-410b-9784-d8ab47d86b78\",\n        \"name\": \"The Johnson's family group\",\n        \"description\": \"A family group for the Johnson's group generation.\",\n        \"created_at\": \"2024-07-31T13:14:27.496657Z\",\n        \"updated_at\": \"2024-07-31T13:14:27.496657Z\",\n        \"owner_id\": \"05992796-18b0-412b-9d34-1c12a108abb5\",\n        \"is_default\": false\n    }\n}"}],"_postman_id":"6c01a727-3d36-4328-9d54-28975e4e4856"},{"name":"List Members in a Family Group","id":"9c7c91fd-110a-4004-93f5-ada281772442","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://core.famtrust.biz/api/v1/family-groups/:family_group_id/members","description":"<h3 id=\"retrieve-family-group-members\">Retrieve Family Group Members</h3>\n<p>This endpoint retrieves the members of a specific family group identified by the <code>family_group_id</code>.</p>\n<h4 id=\"request\">Request</h4>\n<ul>\n<li><p>Method: GET</p>\n</li>\n<li><p>URL: <code>https://core.famtrust.biz/api/v1/family-groups/:family_group_id/members</code></p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response for this request can be documented as a JSON schema. The response body will include an array of objects, where each object represents a member of the family group. The schema will define the properties of each member object, including their unique identifier, name, relationship to the family group, and any additional information associated with the member.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["family-groups",":family_group_id","members"],"host":["https://core.famtrust.biz/api/v1"],"query":[],"variable":[{"type":"any","value":"3decd9a0-e751-410b-9784-d8ab47d86b78a","key":"family_group_id"}]}},"response":[{"id":"da833aca-d9f1-4d86-86a8-0642cd9406b1","name":"List Members in a Family Group","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://core.famtrust.biz/api/v1/family-groups/:family_group_id/members","host":["https://core.famtrust.biz/api/v1"],"path":["family-groups",":family_group_id","members"],"variable":[{"key":"family_group_id","value":"3decd9a0-e751-410b-9784-d8ab47d86b78a"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 10 Aug 2024 23:28:59 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Report-To","value":"{\"group\":\"heroku-nel\",\"max_age\":3600,\"endpoints\":[{\"url\":\"https://nel.heroku.com/reports?ts=1723332537&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=RyV35BkyYrJsgGiBSRCWwCPqu0RO8Faaa2YrUVQMcgc%3D\"}]}"},{"key":"Reporting-Endpoints","value":"heroku-nel=https://nel.heroku.com/reports?ts=1723332537&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=RyV35BkyYrJsgGiBSRCWwCPqu0RO8Faaa2YrUVQMcgc%3D"},{"key":"Nel","value":"{\"report_to\":\"heroku-nel\",\"max_age\":3600,\"success_fraction\":0.005,\"failure_fraction\":0.05,\"response_headers\":[\"Via\"]}"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Vary","value":"Cookie, origin"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Via","value":"1.1 vegur"},{"key":"CF-Cache-Status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"8b13c3e9195879b6-LHR"},{"key":"Content-Encoding","value":"br"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Family Group retrieved successfully.\",\n    \"status_code\": 200,\n    \"success\": true,\n    \"metadata\": null,\n    \"family_group\": [\n        {\n            \"id\": \"3e93611b-2ea6-40a4-afd2-cab856097fd1\",\n            \"user_id\": \"7f9019b0-067e-4a39-a779-807887df6699\",\n            \"joined_at\": \"2024-08-01T02:49:29.380713Z\"\n        },\n        {\n            \"id\": \"13ddfc05-e695-47e5-9f6a-2b157a0c6baf\",\n            \"user_id\": \"7f9019b0-067e-4a39-a779-807887df6695\",\n            \"joined_at\": \"2024-08-01T02:49:14.960157Z\"\n        },\n        {\n            \"id\": \"4c31fc7c-a7b9-41d9-8c74-c70ddf7137ee\",\n            \"user_id\": \"7f9019b0-067e-4a39-a779-807887df669a\",\n            \"joined_at\": \"2024-07-31T21:48:30.464382Z\"\n        },\n        {\n            \"id\": \"c8e71897-b837-4b74-ae97-3dafd306a6db\",\n            \"user_id\": \"05992796-18b0-412b-9d34-1c12a108abb5\",\n            \"joined_at\": \"2024-07-31T21:46:59.553342Z\"\n        }\n    ]\n}"}],"_postman_id":"9c7c91fd-110a-4004-93f5-ada281772442"}],"id":"bb4c0740-74a0-4ef5-bdf5-dcfb28cb4a57","description":"<p>API endpoints for retrieving family group data.</p>\n","_postman_id":"bb4c0740-74a0-4ef5-bdf5-dcfb28cb4a57","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}}},{"name":"Updates","item":[{"name":"Update Family Group","id":"9117353f-aaff-4f50-a433-030c77996e1f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\"is_default\": false}","options":{"raw":{"language":"json"}}},"url":"https://core.famtrust.biz/api/v1/family-groups/:family_group_id","description":"<p>This endpoint is used to update a specific family group by its ID.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["family-groups",":family_group_id"],"host":["https://core.famtrust.biz/api/v1"],"query":[],"variable":[{"id":"6b240d9c-f43c-4437-996b-ecc15efbc4e8","type":"any","value":"","key":"family_group_id"}]}},"response":[],"_postman_id":"9117353f-aaff-4f50-a433-030c77996e1f"}],"id":"78cafe20-f056-4fda-b1d6-87c36bfd28c6","description":"<p>API endpoints for updating Family Groups</p>\n","_postman_id":"78cafe20-f056-4fda-b1d6-87c36bfd28c6","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}}},{"name":"Deletions","item":[{"name":"Delete Default Family Group","id":"0f54547b-a9f1-44fb-a252-43a50f598811","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\"force\": true}","options":{"raw":{"language":"json"}}},"url":"https://core.famtrust.biz/api/v1/family-groups/:family_group_id","description":"<h3 id=\"delete-family-group\">Delete Family Group</h3>\n<p>This endpoint is used to delete a specific family group based on the provided <code>family_group_id</code></p>\n<h4 id=\"response\">Response</h4>\n<ul>\n<li><p><code>status</code>: Indicates the status of the request. A successful deletion will return a status code of 200.</p>\n</li>\n<li><p><code>message</code>: Provides a message confirming the successful deletion of the family group.</p>\n</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["family-groups",":family_group_id"],"host":["https://core.famtrust.biz/api/v1"],"query":[],"variable":[{"id":"a6a1b285-c9cd-4b63-90f6-2875dad6846f","description":{"content":"<p>The ID of the default family group</p>\n","type":"text/plain"},"type":"any","value":"","key":"family_group_id"}]}},"response":[],"_postman_id":"0f54547b-a9f1-44fb-a252-43a50f598811"},{"name":"Delete a Normal Family Group","id":"36fa0909-3c98-4b48-a6d0-0bd78324d2bc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://core.famtrust.biz/api/v1/family-groups/:family_group_id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["family-groups",":family_group_id"],"host":["https://core.famtrust.biz/api/v1"],"query":[],"variable":[{"id":"150f86ca-6a91-4060-bc21-01edc94ab63d","type":"any","value":"3decd9a0-e751-410b-9784-d8ab47d86b78a","key":"family_group_id"}]}},"response":[],"_postman_id":"36fa0909-3c98-4b48-a6d0-0bd78324d2bc"}],"id":"f7bc51c1-7299-497a-a947-63450f60515a","description":"<p>API endpoints and examples for deleting family groups.</p>\n","_postman_id":"f7bc51c1-7299-497a-a947-63450f60515a","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}}}],"id":"dcd7d8f9-9823-435d-baaf-f51d7a360642","description":"<p>The endpoints for interacting with the Family Groups of the FamTrust app.</p>\n<p>Here is the flow:</p>\n<h2 id=\"new-user-account-and-member-accounts\">New user account and Member Accounts</h2>\n<ol>\n<li><p>A user is created on the platform (admin or member)</p>\n</li>\n<li><p>If the user is an admin, they <strong>must</strong> create a <strong>default family group</strong> and join it.</p>\n</li>\n<li><p>If the user is a member (created by an admin), the admin must make sure to add the user to the <strong>default family group</strong>. This is an important step in the flow, without this, nothing else can be done on the platform. For example, family accounts or transaction won't work.</p>\n</li>\n</ol>\n<h2 id=\"sub-groups-for-organizing-family-members\">Sub groups for Organizing Family Members</h2>\n<p>There are cases where a family will want to categorize different family members into smaller groups and assign a dedicated account for them. This is essential as the funds placed in that account is all they can access.</p>\n<p>To do this, the process is the same as the one for creating a <strong>Default Family Group</strong>, the only difference here is the <code>is_default</code> field <strong>must</strong> be omitted. In the event it is provided, <strong>ensure</strong> it is set to <code>false</code>. The API will not allow you to create more than one <strong>Default Family Group</strong> for an account.</p>\n<p>Once this group has been created, for example <strong>The Johnson Babies</strong>, individual members can be added to the group using the <strong>Membership</strong> API endpoints.</p>\n","_postman_id":"dcd7d8f9-9823-435d-baaf-f51d7a360642","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}}},{"name":"Family Memberships","item":[{"name":"List Family Memberships","id":"a135d982-9c59-4c5a-ab3a-4989aa5a5206","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://core.famtrust.biz/api/v1/family-memberships","description":"<p>This endpoint retrieves the family memberships of the current authenticated user. For Admins, they will see all the users and the groups they are part of.</p>\n<p>For the sake of convenience, you can filter the memberships based on the name of the <strong>family group</strong> using the query parameter <code>q</code>. Simply pass the name or a partial name of the family group and we will take care of finding all the memberships that match the criteria. In the event none is found, an empty list is returned.</p>\n<h2 id=\"example\">Example</h2>\n<ul>\n<li><code>/api/v1/family-memberships?q=children</code>\nThis will search/filter the membership respsonse for the family group that has the word (case insensitive) 'children' in its name.</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["family-memberships"],"host":["https://core.famtrust.biz/api/v1"],"query":[{"disabled":true,"description":{"content":"<p>Filter group memberships based on the name of the family group.</p>\n<p>You can provide a partial name and we will take care of finding memberships that match the criteria.</p>\n","type":"text/plain"},"key":"q","value":""}],"variable":[]}},"response":[{"id":"d2135009-3c71-490f-8815-ca6449c60e98","name":"Retrieve all Family Memberships","originalRequest":{"method":"GET","header":[],"url":"https://core.famtrust.biz/api/v1/family-memberships"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 25 Jul 2024 23:03:17 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Report-To","value":"{\"group\":\"heroku-nel\",\"max_age\":3600,\"endpoints\":[{\"url\":\"https://nel.heroku.com/reports?ts=1721948596&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=YrIO3zHqFJGB4gqhdrAhZ7%2FGPs6bXjlMhEdoVYIG0xE%3D\"}]}"},{"key":"Reporting-Endpoints","value":"heroku-nel=https://nel.heroku.com/reports?ts=1721948596&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=YrIO3zHqFJGB4gqhdrAhZ7%2FGPs6bXjlMhEdoVYIG0xE%3D"},{"key":"Nel","value":"{\"report_to\":\"heroku-nel\",\"max_age\":3600,\"success_fraction\":0.005,\"failure_fraction\":0.05,\"response_headers\":[\"Via\"]}"},{"key":"Allow","value":"GET, POST"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Vary","value":"Cookie"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Via","value":"1.1 vegur"},{"key":"CF-Cache-Status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"8a8fc847ccf4657b-LHR"},{"key":"Content-Encoding","value":"br"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Family Memberships retrieved successfully.\",\n    \"status_code\": 200,\n    \"success\": true,\n    \"metadata\": {\n        \"next\": null,\n        \"previous\": null,\n        \"count\": 2,\n        \"total_pages\": 1,\n        \"current_page\": 1\n    },\n    \"family_memberships\": [\n        {\n            \"id\": \"68df3b84-4225-4cfb-b6af-35c42bb13554\",\n            \"family_group\": {\n                \"id\": \"9a1c74be-7243-4ae0-94bf-7a39ec2933b5\",\n                \"name\": \"The unborn generation\",\n                \"description\": \"A family group for the unborn generation.\",\n                \"is_default\": false\n            },\n            \"user_id\": \"4e676eec-c3f0-42e7-bc7f-5a0367a38343\",\n            \"joined_at\": \"2024-07-25T19:53:50.743781Z\"\n        },\n        {\n            \"id\": \"d341159b-b17b-497d-83ed-de33067b78b9\",\n            \"family_group\": {\n                \"id\": \"c1e798ab-bb7b-4801-a04a-3202db6eb1e1\",\n                \"name\": \"Our Default Family Group\",\n                \"description\": \"This is where all my family members will be.\",\n                \"is_default\": true\n            },\n            \"user_id\": \"4e676eec-c3f0-42e7-bc7f-5a0367a38343\",\n            \"joined_at\": \"2024-07-25T19:24:18.361578Z\"\n        }\n    ]\n}"}],"_postman_id":"a135d982-9c59-4c5a-ab3a-4989aa5a5206"},{"name":"Add User to a Normal Family Group","event":[{"listen":"test","script":{"id":"d68fd6c4-8d50-4fec-b64e-2fef0a9f8f6d","exec":["if (pm.response.code === 201) {","    pm.collectionVariables.set(\"norm_membership_id\", pm.response.json().family_membership.id)","}"],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"aa852e6b-85d1-44a3-9e3b-d96d114328cf","exec":[""],"type":"text/javascript","packages":{}}}],"id":"2df27666-910f-418d-bd49-b9da1481cb38","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n\t\"family_group_id\": \"3decd9a0-e751-410b-9784-d8ab47d86b78a\",\n\t\"user_id\": \"05992796-18b0-412b-9d34-1c12a108abb5\"\n}","options":{"raw":{"language":"json"}}},"url":"https://core.famtrust.biz/api/v1/family-memberships","description":"<h3 id=\"family-memberships-creation\">Family Memberships Creation</h3>\n<p>This endpoint allows you to create a new family membership.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p><code>family_group_id</code> (string, required) - The ID of the family group.</p>\n</li>\n<li><p><code>user_id</code> (string, required) - The ID of the user.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response will be a JSON object with the following properties:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"\", // A message indicating the result of the request\n  \"status_code\": 0, // The status code of the response\n  \"success\": true, // Indicates if the request was successful\n  \"family_membership\": { // Details of the created family membership\n    \"membership_id\": \"\", // The ID of the family membership\n    \"user_id\": \"\", // The ID of the user\n    \"family_group\": \"\", // The family group details\n    \"joined_at\": \"\" // The date and time when the user joined the family group\n  }\n}\n\n</code></pre>\n<h4 id=\"response-json-schema\">Response JSON Schema</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"type\": \"object\",\n  \"properties\": {\n    \"message\": { \"type\": \"string\" },\n    \"status_code\": { \"type\": \"integer\" },\n    \"success\": { \"type\": \"boolean\" },\n    \"family_membership\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"membership_id\": { \"type\": \"string\" },\n        \"user_id\": { \"type\": \"string\" },\n        \"family_group\": { \"type\": \"string\" },\n        \"joined_at\": { \"type\": \"string\", \"format\": \"date-time\" }\n      },\n      \"required\": [\"membership_id\", \"user_id\", \"family_group\", \"joined_at\"]\n    }\n  },\n  \"required\": [\"message\", \"status_code\", \"success\", \"family_membership\"]\n}\n\n</code></pre>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["family-memberships"],"host":["https://core.famtrust.biz/api/v1"],"query":[],"variable":[]}},"response":[{"id":"564cb291-efcf-44d8-8d17-9e168a7ba559","name":"Add a User to a Family Group","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n\t\"family_group\": \"db6c2da7-20da-4e6f-9354-16ba9bc15064\",\n\t\"user_id\": \"05992796-18b0-412b-9d34-1c12a108abb5\"\n}","options":{"raw":{"language":"json"}}},"url":"https://core.famtrust.biz/api/v1/family-memberships"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 24 Jul 2024 13:10:24 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.10.12"},{"key":"Content-Type","value":"application/json"},{"key":"Allow","value":"GET, POST"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"308"},{"key":"Vary","value":"Cookie"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Family Membership created successfully.\",\n    \"status_code\": 201,\n    \"success\": true,\n    \"family_membership\": {\n        \"membership_id\": \"f52ec6d6-2665-431d-b14c-0e04c00947e0\",\n        \"user_id\": \"05992796-18b0-412b-9d34-1c12a108abb5\",\n        \"family_group\": \"db6c2da7-20da-4e6f-9354-16ba9bc15064\",\n        \"joined_at\": \"2024-07-24T13:10:24.934132Z\"\n    }\n}"}],"_postman_id":"2df27666-910f-418d-bd49-b9da1481cb38"},{"name":"Add User to Default Family Group","event":[{"listen":"test","script":{"exec":["if (pm.response.code === 201) {","    pm.collectionVariables.set(\"def_membership_id\", pm.response.json().family_membership.id)","}"],"type":"text/javascript","packages":{},"id":"67588627-c51e-4e36-b9de-0d634bcca135"}},{"listen":"prerequest","script":{"exec":[""],"type":"text/javascript","packages":{},"id":"9148a912-86e6-4cfb-abf3-6422cdcd5e05"}}],"id":"d64f525a-93dc-4d99-8b04-908f2fac3043","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n\t\"family_group_id\": \"\",\n\t\"user_id\": \"05992796-18b0-412b-9d34-1c12a108abb5\"\n}","options":{"raw":{"language":"json"}}},"url":"https://core.famtrust.biz/api/v1/family-memberships","description":"<p>This endpoint is used to create a new family membership.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p><code>family_group_id</code> (string, required): The ID of the family group.</p>\n</li>\n<li><p><code>user_id</code> (string, required): The ID of the user.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response will be a JSON object with the following properties:</p>\n<ul>\n<li><p><code>message</code> (string): A message related to the request.</p>\n</li>\n<li><p><code>status_code</code> (number): The status code of the response.</p>\n</li>\n<li><p><code>success</code> (boolean): Indicates if the request was successful.</p>\n</li>\n<li><p><code>family_membership</code> (object): Details of the created family membership.</p>\n<ul>\n<li><p><code>id</code> (string): The ID of the family membership.</p>\n</li>\n<li><p><code>family_group</code> (object): Details of the family group.</p>\n<ul>\n<li><p><code>id</code> (string): The ID of the family group.</p>\n</li>\n<li><p><code>name</code> (string): The name of the family group.</p>\n</li>\n<li><p><code>description</code> (string): The description of the family group.</p>\n</li>\n<li><p><code>is_default</code> (boolean): Indicates if the family group is the default group.</p>\n</li>\n</ul>\n</li>\n<li><p><code>user_id</code> (string): The ID of the user associated with the family membership.</p>\n</li>\n<li><p><code>joined_at</code> (string): The date and time when the user joined the family group.</p>\n</li>\n</ul>\n</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["family-memberships"],"host":["https://core.famtrust.biz/api/v1"],"query":[],"variable":[]}},"response":[{"id":"350db895-d082-499e-b7c9-cb77209fefae","name":"Add User to Default Family Group","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n\t\"family_group_id\": \"\",\n\t\"user_id\": \"05992796-18b0-412b-9d34-1c12a108abb5\"\n}","options":{"raw":{"language":"json"}}},"url":"https://core.famtrust.biz/api/v1/family-memberships"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Report-To","value":"{\"group\":\"heroku-nel\",\"max_age\":3600,\"endpoints\":[{\"url\":\"https://nel.heroku.com/reports?ts=1721923378&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=lq9odGGVLkMiPRuOM4A%2FR2EKEx7eRTi%2FFTBZONTI%2BRI%3D\"}]}"},{"key":"Reporting-Endpoints","value":"heroku-nel=https://nel.heroku.com/reports?ts=1721923378&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=lq9odGGVLkMiPRuOM4A%2FR2EKEx7eRTi%2FFTBZONTI%2BRI%3D"},{"key":"Nel","value":"{\"report_to\":\"heroku-nel\",\"max_age\":3600,\"success_fraction\":0.005,\"failure_fraction\":0.05,\"response_headers\":[\"Via\"]}"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"gunicorn"},{"key":"Date","value":"Thu, 25 Jul 2024 16:03:00 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Allow","value":"GET, POST"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"417"},{"key":"Vary","value":"Cookie"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Via","value":"1.1 vegur"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Family Membership created successfully.\",\n    \"status_code\": 201,\n    \"success\": true,\n    \"family_membership\": {\n        \"id\": \"9c70900a-5bb6-4860-b3c1-a5e07a9b5bcd\",\n        \"family_group\": {\n            \"id\": \"5b8eebb2-98bf-412f-99fe-4d84d50e4a8a\",\n            \"name\": \"Our Default Family Group\",\n            \"description\": \"This is where all my family members will be.\",\n            \"is_default\": true\n        },\n        \"user_id\": \"05992796-18b0-412b-9d34-1c12a108abb5\",\n        \"joined_at\": \"2024-07-25T16:03:00.104798Z\"\n    }\n}"}],"_postman_id":"d64f525a-93dc-4d99-8b04-908f2fac3043"},{"name":"Delete Family Membership","id":"7b1c6f03-8200-414f-87f4-992c9d9809ac","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://core.famtrust.biz/api/v1/family-memberships/:membership_id","description":"<p>This endpoint deletes a specific family membership identified by its membership ID. Effectively, this will remove the user from the family group and will lose access to everything that is related family group.</p>\n<p>For example, they won't be able to work with their sub accounts if it's linked with a family account that is also linked with the family group they are longer part of.</p>\n<p>It is recommended to be certain before performing this action. It is best to assign the user's account to a different family group if you want them to perform transactions or request for funds.</p>\n<h4 id=\"response\">Response</h4>\n<p>On delete, a status code indicates the deletion operation's success or failure.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"path":["family-memberships",":membership_id"],"host":["https://core.famtrust.biz/api/v1"],"query":[],"variable":[{"id":"1dcdaa96-bb6b-4275-b332-f17b7bd4f233","description":{"content":"<p>The ID of the membership</p>\n","type":"text/plain"},"type":"any","value":"","key":"membership_id"}]}},"response":[],"_postman_id":"7b1c6f03-8200-414f-87f4-992c9d9809ac"}],"id":"cb54e0ad-8624-4849-81f1-9bd58fa49b5b","description":"<p>API endpoints for handling family memberships.</p>\n","_postman_id":"cb54e0ad-8624-4849-81f1-9bd58fa49b5b","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}}},{"name":"Notifications","item":[{"name":"get all user notifications","id":"7d5b8ae5-ba4a-4c18-829c-8009abf5db13","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://famtrust-backend-express-ierv.onrender.com/api/v1/user-notifications/05992796-18b0-412b-9d34-1c12a108abb5/notifications","description":"<p>get all notification to a relevant user</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"protocol":"https","path":["api","v1","user-notifications","05992796-18b0-412b-9d34-1c12a108abb5","notifications"],"host":["famtrust-backend-express-ierv","onrender","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"7d5b8ae5-ba4a-4c18-829c-8009abf5db13"},{"name":"get users single notififcation","id":"624282b3-cf35-4b86-a8a4-b22c47d9512c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://famtrust-backend-express-ierv.onrender.com/api/v1/user-notifications/notifications/0786733f-a3f8-4580-a206-e33ab22b9517","description":"<p>gets asngle notification for a user</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"protocol":"https","path":["api","v1","user-notifications","notifications","0786733f-a3f8-4580-a206-e33ab22b9517"],"host":["famtrust-backend-express-ierv","onrender","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"624282b3-cf35-4b86-a8a4-b22c47d9512c"},{"name":"create notification","id":"b35e3e14-9a03-4440-a2c1-cbe145e3f53e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n\"title\": \"fifth notification\",\r\n\"type\":\"a fifth new routine check ping\",\r\n\"message\":\"This is a new fifth routine notification\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://famtrust-backend-express-ierv.onrender.com/api/v1/user-notifications/05992796-18b0-412b-9d34-1c12a108abb5/notifications","description":"<p>creates a notification</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"protocol":"https","path":["api","v1","user-notifications","05992796-18b0-412b-9d34-1c12a108abb5","notifications"],"host":["famtrust-backend-express-ierv","onrender","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"b35e3e14-9a03-4440-a2c1-cbe145e3f53e"},{"name":"update a users notification","id":"87bb0ab8-b298-4a3a-be4a-475cce4e02c6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n\"title\": \"updated third notification\",\r\n\"type\":\"an updated third new routine check ping\",\r\n\"message\":\"This is an updated new third routine notification\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://famtrust-backend-express-ierv.onrender.com/api/v1/user-notifications/notifications/573f6da8-122c-4b41-894a-54afbe6c3628","description":"<p>updates a notification</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"protocol":"https","path":["api","v1","user-notifications","notifications","573f6da8-122c-4b41-894a-54afbe6c3628"],"host":["famtrust-backend-express-ierv","onrender","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"87bb0ab8-b298-4a3a-be4a-475cce4e02c6"},{"name":"delete a users notification","id":"13fca3ee-2c92-4c23-a1a4-9ae274eb03ff","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://famtrust-backend-express-ierv.onrender.com/api/v1/user-notifications/notifications/573f6da8-122c-4b41-894a-54afbe6c3628","description":"<p>deletes a notification</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"protocol":"https","path":["api","v1","user-notifications","notifications","573f6da8-122c-4b41-894a-54afbe6c3628"],"host":["famtrust-backend-express-ierv","onrender","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"13fca3ee-2c92-4c23-a1a4-9ae274eb03ff"}],"id":"6c753d61-556c-455e-b73e-d270ffd18c81","description":"<p>All CRUD API's in relation to Notification schema</p>\n","_postman_id":"6c753d61-556c-455e-b73e-d270ffd18c81","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}}},{"name":"Settings","item":[{"name":"get Settings","id":"e42f4070-d086-4c03-b824-8086b2f0def1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://famtrust-backend-express-ierv.onrender.com/api/v1/user-notifications/05992796-18b0-412b-9d34-1c12a108abb5/notifications","description":"<p>gets a user's settings info</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"protocol":"https","path":["api","v1","user-notifications","05992796-18b0-412b-9d34-1c12a108abb5","notifications"],"host":["famtrust-backend-express-ierv","onrender","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"e42f4070-d086-4c03-b824-8086b2f0def1"},{"name":"create settings","id":"98fb0945-a319-44e2-8ee8-b04f2197d111","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"notifications_enabled\":false,\r\n    \"theme\":\"dark\",\r\n    \"language\":\"en\",\r\n    \"profile_visibility\":\"private\",\r\n    \"data_sharing\":true\r\n}","options":{"raw":{"language":"json"}}},"url":"https://famtrust-backend-express-ierv.onrender.com/api/v1/user-settings/05992796-18b0-412b-9d34-1c12a108abb5/settings","description":"<p>creates a setting (only one setting can be created per user)</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"protocol":"https","path":["api","v1","user-settings","05992796-18b0-412b-9d34-1c12a108abb5","settings"],"host":["famtrust-backend-express-ierv","onrender","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"98fb0945-a319-44e2-8ee8-b04f2197d111"},{"name":"update setting","id":"1902b58a-3a30-420b-b084-587393f084fa","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n    \"data_sharing\": false\r\n}","options":{"raw":{"language":"json"}}},"url":"https://famtrust-backend-express-ierv.onrender.com/api/v1/user-settings/7df831f6-9f86-4b41-a66d-7cb49842f00b/settings","description":"<p>updates user settings</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"protocol":"https","path":["api","v1","user-settings","7df831f6-9f86-4b41-a66d-7cb49842f00b","settings"],"host":["famtrust-backend-express-ierv","onrender","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"1902b58a-3a30-420b-b084-587393f084fa"},{"name":"New Request","id":"bdcd92e6-3bd2-47dc-922b-045a42fce2fc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://famtrust-backend-express-ierv.onrender.com/api/v1/user-settings/70b91cdf-cf01-42ac-b2f7-2851d0cd6718/settings","description":"<p>deletes the setting</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}},"urlObject":{"protocol":"https","path":["api","v1","user-settings","70b91cdf-cf01-42ac-b2f7-2851d0cd6718","settings"],"host":["famtrust-backend-express-ierv","onrender","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"bdcd92e6-3bd2-47dc-922b-045a42fce2fc"}],"id":"fbe492c3-47c8-4441-99c2-a007f990d09f","description":"<p>All CRUD API's in relation to Notification schema</p>\n","_postman_id":"fbe492c3-47c8-4441-99c2-a007f990d09f","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]},"isInherited":true,"source":{"_postman_id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","id":"4f40f4d3-d63e-4459-87d1-e114fde1785c","name":"FamTrust REST APIs","type":"collection"}}}],"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"}]}},"event":[{"listen":"prerequest","script":{"id":"2b364924-ccf9-44ec-a578-0edd8518d625","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"e322a86c-1760-4e34-809f-f77a94030e50","type":"text/javascript","packages":{},"exec":[""]}}],"variable":[{"key":"pyBaseUrl","value":"https://core.famtrust.biz/api/v1","type":"string"},{"key":"authUrl","value":"https://auth.famtrust.biz/api/v1","type":"string"},{"key":"access_token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1OTkyNzk2LTE4YjAtNDEyYi05ZDM0LTFjMTJhMTA4YWJiNSIsImV4cCI6MTcyMzQxOTUxNX0.g5eyoZGV2GriT_GLOKm_ABBDpxyRqQX7nW4qBoz2foE"},{"key":"family_account_id","value":"924ec24b-05ed-427e-9612-cbcc7e69bc29"},{"key":"family_group_id","value":"3decd9a0-e751-410b-9784-d8ab47d86b78a"},{"key":"user_id","value":"05992796-18b0-412b-9d34-1c12a108abb5"},{"key":"default_family_group_id","value":""},{"key":"membership_id","value":""},{"key":"norm_membership_id","value":""},{"key":"def_membership_id","value":""},{"key":"sub_account_id","value":"b92ff61d-962e-4938-a16d-a730c3a987df","type":"string"},{"key":"fund_request_id","value":"4101c5d6-87d8-44d4-838f-4eb8375db603","type":"string"},{"key":"transaction_id","value":"98341d8c-4c6e-47b4-99f6-21e067cade4f","type":"string"}]}