{"info":{"_postman_id":"a82ae4b8-ba05-4f4b-8ac1-1a72c7bffffd","name":"Onboardio API","description":"<html><head></head><body><p>The official REST API documentation, written in TypeScript, powered by MongoDB.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"2238143","collectionId":"a82ae4b8-ba05-4f4b-8ac1-1a72c7bffffd","publishedId":"TVKHTadQ","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"publishDate":"2020-09-26T05:15:18.000Z"},"item":[{"name":"Authentication","item":[{"name":"Login","id":"a5fc84d5-74cd-4e30-9203-7635189a4eb1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"urlencoded","urlencoded":[{"key":"email","value":"","description":"<p>Email of the user</p>\n","type":"text"},{"key":"password","value":"","description":"<p>Password of the user</p>\n","type":"text"}]},"url":"http://localhost:8080/v1/auth/login","description":"<p>Logs in an existing user.</p>\n","urlObject":{"protocol":"http","port":"8080","path":["v1","auth","login"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"2e2a4987-a82a-458c-9508-e811aa6e37b9","name":"Login Failed","originalRequest":{"method":"POST","header":[],"body":{"mode":"urlencoded","urlencoded":[{"key":"email","value":"pingrishabh@gmail.com","description":"Email of the user","type":"text"},{"key":"password","value":"yolobro","description":"Password of the user","type":"text"}]},"url":"http://localhost:8080/v1/auth/login"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"64"},{"key":"ETag","value":"W/\"40-k/n95OjeoqP0uhGDPlnnyuBtdSo\""},{"key":"Date","value":"Sat, 26 Sep 2020 05:04:39 GMT"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"FAILED_TO_LOG_IN\",\n    \"message\": \"Incorrect credentials.\"\n}"},{"id":"c325ae22-4f82-464e-9b29-ba8a0b79a01b","name":"User Not Found","originalRequest":{"method":"POST","header":[],"body":{"mode":"urlencoded","urlencoded":[{"key":"email","value":"test@gmail.com","description":"Email of the user","type":"text"},{"key":"password","value":"test","description":"Password of the user","type":"text"}]},"url":"http://localhost:8080/v1/auth/login"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"62"},{"key":"ETag","value":"W/\"3e-n1o9fHQdaQTG9Hda73exHjBZryU\""},{"key":"Date","value":"Sat, 26 Sep 2020 08:40:23 GMT"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"FAILED_TO_LOG_IN\",\n    \"message\": \"User does not exist.\"\n}"},{"id":"d084c7d5-0200-42b5-a278-a34c58b10217","name":"Login Successful","originalRequest":{"method":"POST","header":[],"body":{"mode":"urlencoded","urlencoded":[{"key":"email","value":"pingrishabh@gmail.com","description":"Email of the user","type":"text"},{"key":"password","value":"iamhardwell","description":"Password of the user","type":"text"}]},"url":"http://localhost:8080/v1/auth/login"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"181"},{"key":"ETag","value":"W/\"b5-d2e7JTpxvI8KOwMC9iOxNj15MgQ\""},{"key":"Date","value":"Sat, 26 Sep 2020 05:04:08 GMT"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"LOGGED_IN\",\n    \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InBpbmdyaXNoYWJoQGdtYWlsLmNvbSIsImlhdCI6MTYwMTA5NjY0OH0.jajFAgCHwMcIwr4c6UuVLrcewJnkcwT1aOJ3XxArCaU\"\n}"}],"_postman_id":"a5fc84d5-74cd-4e30-9203-7635189a4eb1"},{"name":"Register","id":"9201bbd3-bdbc-4567-9ecf-22027b7ac655","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"urlencoded","urlencoded":[{"key":"email","value":"","description":"<p>Email of the user</p>\n","type":"text"},{"key":"password","value":"","description":"<p>Password of the user</p>\n","type":"text"}]},"url":"http://localhost:8080/v1/auth/register","description":"<p>Register up a new user.</p>\n","urlObject":{"protocol":"http","port":"8080","path":["v1","auth","register"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"36104a4b-83d6-4047-9d44-3824b1448065","name":"User Already Exists","originalRequest":{"method":"POST","header":[],"body":{"mode":"urlencoded","urlencoded":[{"key":"email","value":"pingrishabh@gmail.com","type":"text"},{"key":"password","value":"iamhardwell","type":"text"}]},"url":"http://localhost:8080/v1/auth/register"},"status":"Conflict","code":409,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"64"},{"key":"ETag","value":"W/\"40-R7yb4/LEU+cWep+oBhj8NQYRLvQ\""},{"key":"Date","value":"Sat, 26 Sep 2020 05:12:32 GMT"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"FAILED_TO_REGISTER\",\n    \"message\": \"User already exists.\"\n}"},{"id":"dd639ed4-1792-428f-9ea2-c81790f3d9c3","name":"User Registered","originalRequest":{"method":"POST","header":[],"body":{"mode":"urlencoded","urlencoded":[{"key":"email","value":"pingrishabh@gmail.com","type":"text"},{"key":"password","value":"iamhardwell","type":"text"}]},"url":"http://localhost:8080/v1/auth/register"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"187"},{"key":"ETag","value":"W/\"bb-/zI/Zvu9ym7cIkgIZyNk+2bVV6Y\""},{"key":"Date","value":"Sat, 26 Sep 2020 05:12:19 GMT"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"USER_REGISTERED\",\n    \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InBpbmdyaXNoYWJoQGdtYWlsLmNvbSIsImlhdCI6MTYwMTA5NzEzOX0.YxxAAfJEdNsS77OKWhzyDkEEK_zF4BcWzgdEuVcSLXw\"\n}"}],"_postman_id":"9201bbd3-bdbc-4567-9ecf-22027b7ac655"}],"id":"f715aaea-0005-49e7-9adb-b5ff10b7b0b0","description":"<p>Handles user authentication and token generation.</p>\n","_postman_id":"f715aaea-0005-49e7-9adb-b5ff10b7b0b0"},{"name":"Services","item":[{"name":"Get All Services","id":"d0433238-cab3-4a43-84a4-9e1edbe249f1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"","description":"<p>User JWT</p>\n","type":"text"}],"url":"http://localhost:8080/v1/services","description":"<p>Retrieves all services that have been setup.</p>\n","urlObject":{"protocol":"http","port":"8080","path":["v1","services"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"6299a0d0-7233-49d4-871d-d91ea8e0f622","name":"Get All Services","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InBpbmdyaXNoYWJoQGdtYWlsLmNvbSIsImlhdCI6MTYwMTEyNTgzMn0.V7lKnoWgj95i4Wf-a1e2sLOAKS915pHxvOF6iuAtPTw","description":"User JWT","type":"text"}],"url":"http://localhost:8080/v1/services"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"103"},{"key":"ETag","value":"W/\"67-XoInWWCup1Bvb4DMpJyTZa2SNOE\""},{"key":"Date","value":"Sat, 26 Sep 2020 19:00:23 GMT"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"_id\": \"5f6f8d097f21a38f9de8eaee\",\n        \"name\": \"GitHub\",\n        \"token\": \"3881433d082df806c1b7bdb68ccb07b5c68b0c4a\"\n    }\n]"}],"_postman_id":"d0433238-cab3-4a43-84a4-9e1edbe249f1"},{"name":"Link GitHub","id":"c4b2dec9-77b0-4ee6-b6bb-9e51cd5986b0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"","description":"<p>User JWT</p>\n","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"code","value":"","description":"<p>Code received at REDIRECT_URI</p>\n","type":"text"}]},"url":"http://localhost:8080/v1/services/github/link","description":"<p>Retrieve an access token from GitHub and stores it.</p>\n","urlObject":{"protocol":"http","port":"8080","path":["v1","services","github","link"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"b9415c04-c0e0-41fc-8adf-63eb8dc8e9d1","name":"Linking Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InBpbmdyaXNoYWJoQGdtYWlsLmNvbSIsImlhdCI6MTYwMTEyNTgzMn0.V7lKnoWgj95i4Wf-a1e2sLOAKS915pHxvOF6iuAtPTw","description":"User JWT","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"code","value":"56ae65ce3a7700078060","description":"Code received at REDIRECT_URI","type":"text"}]},"url":"http://localhost:8080/v1/services/github/link"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"74"},{"key":"ETag","value":"W/\"4a-EMx4Ftyhrw3F/I1cH2DAEmlIzIE\""},{"key":"Date","value":"Sat, 26 Sep 2020 18:48:41 GMT"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"SAVED_GITHUB_SERVICE\",\n    \"message\": \"Service linked successfully!\"\n}"},{"id":"e3cd0de6-d753-4e45-964b-06e0b9734abc","name":"Linking Failed","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InBpbmdyaXNoYWJoQGdtYWlsLmNvbSIsImlhdCI6MTYwMTEyNTgzMn0.V7lKnoWgj95i4Wf-a1e2sLOAKS915pHxvOF6iuAtPTw","description":"User JWT","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"code","value":"4c7b20936f96476b6bf8","type":"text"}]},"url":"http://localhost:8080/v1/services/github/link"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"87"},{"key":"ETag","value":"W/\"57-86+7sCUVvGYiqvtvCrK7JXi6DGw\""},{"key":"Date","value":"Sat, 26 Sep 2020 18:19:35 GMT"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"FAILED_TO_LINK_GITHUB\",\n    \"message\": \"The code passed is incorrect or expired.\"\n}"}],"_postman_id":"c4b2dec9-77b0-4ee6-b6bb-9e51cd5986b0"},{"name":"Link Heroku","id":"e2788cdb-e6ef-44d8-8cca-37ea99794ca9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"","description":"<p>User JWT</p>\n","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"code","value":"","description":"<p>Code received at REDIRECT_URI</p>\n","type":"text"}]},"url":"http://localhost:8080/v1/services/heroku/link","description":"<p>Retrieve an access token from Heroku and stores it.</p>\n","urlObject":{"protocol":"http","port":"8080","path":["v1","services","heroku","link"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"144571ea-c211-4a91-90af-ce4d943b3d89","name":"Linking Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InBpbmdyaXNoYWJoQGdtYWlsLmNvbSIsImlhdCI6MTYwMTEyNTgzMn0.V7lKnoWgj95i4Wf-a1e2sLOAKS915pHxvOF6iuAtPTw","description":"User JWT","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"code","value":"1d73312c-26e7-41ae-a05d-5936348304a7","description":"Code received at REDIRECT_URI","type":"text"}]},"url":"http://localhost:8080/v1/services/heroku/link"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Methods","value":"GET,PUT,POST,DELETE,OPTIONS"},{"key":"Access-Control-Allow-Headers","value":"X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"74"},{"key":"ETag","value":"W/\"4a-CQ/OIoU5jZiZmLLj+lh4VTQNTrw\""},{"key":"Date","value":"Sun, 27 Sep 2020 10:51:06 GMT"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"SAVED_HEROKU_SERVICE\",\n    \"message\": \"Service linked successfully!\"\n}"},{"id":"17ec999e-ce7d-48db-a66f-554186c6bae6","name":"Linking Failed","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InBpbmdyaXNoYWJoQGdtYWlsLmNvbSIsImlhdCI6MTYwMTEyNTgzMn0.V7lKnoWgj95i4Wf-a1e2sLOAKS915pHxvOF6iuAtPTw","description":"User JWT","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"code","value":"test","description":"Code received at REDIRECT_URI","type":"text"}]},"url":"http://localhost:8080/v1/services/heroku/link"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Methods","value":"GET,PUT,POST,DELETE,OPTIONS"},{"key":"Access-Control-Allow-Headers","value":"X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"75"},{"key":"ETag","value":"W/\"4b-hORXGPtpeF2bhZfQRVIq12PPRMA\""},{"key":"Date","value":"Sun, 27 Sep 2020 10:31:53 GMT"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"FAILED_TO_LINK_HEROKU\",\n    \"message\": \"OAuth authorization invalid.\"\n}"}],"_postman_id":"e2788cdb-e6ef-44d8-8cca-37ea99794ca9"},{"name":"Link Asana","id":"a61940e4-413b-4e3b-8b51-035e02cc2f19","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"","description":"<p>User JWT</p>\n","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"code","value":"","description":"<p>Code received at REDIRECT_URI</p>\n","type":"text"},{"key":"redirect_uri","value":"","description":"<p>Must match the redirect_uri specified in the original request.</p>\n","type":"text"}]},"url":"http://localhost:8080/v1/services/asana/link","description":"<p>Retrieve an access token from Asana and stores it.</p>\n","urlObject":{"protocol":"http","port":"8080","path":["v1","services","asana","link"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"8ab97c4f-cca3-4fcd-ad3d-b0f63d08cf58","name":"Linking Failed","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InBpbmdyaXNoYWJoQGdtYWlsLmNvbSIsImlhdCI6MTYwMTEyNTgzMn0.V7lKnoWgj95i4Wf-a1e2sLOAKS915pHxvOF6iuAtPTw","description":"User JWT","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"code","value":"1%2F920426566470557%3A880e836333e00d21d559ead43c3cca2g","description":"Code received at REDIRECT_URI","type":"text"},{"key":"redirect_uri","value":"http://localhost:3000/authorize/asana","description":"Must match the redirect_uri specified in the original request.","type":"text"}]},"url":"http://localhost:8080/v1/services/asana/link"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Methods","value":"GET,PUT,POST,DELETE,OPTIONS"},{"key":"Access-Control-Allow-Headers","value":"X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"78"},{"key":"ETag","value":"W/\"4e-krNDyuTEzOQGNfbrX7QcxoSlrqQ\""},{"key":"Date","value":"Sun, 27 Sep 2020 12:06:55 GMT"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"FAILED_TO_LINK_ASANA\",\n    \"message\": \"The `code` provided was invalid.\"\n}"},{"id":"f6befac2-4875-4685-9e7c-d5b503f41389","name":"Linking Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InBpbmdyaXNoYWJoQGdtYWlsLmNvbSIsImlhdCI6MTYwMTEyNTgzMn0.V7lKnoWgj95i4Wf-a1e2sLOAKS915pHxvOF6iuAtPTw","description":"User JWT","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"code","value":"1%2F920426566470557%3A880e836333e00d21d559ead43c3cca2f","description":"Code received at REDIRECT_URI","type":"text"},{"key":"redirect_uri","value":"http://localhost:3000/authorize/asana","description":"Must match the redirect_uri specified in the original request.","type":"text"}]},"url":"http://localhost:8080/v1/services/asana/link"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Methods","value":"GET,PUT,POST,DELETE,OPTIONS"},{"key":"Access-Control-Allow-Headers","value":"X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"73"},{"key":"ETag","value":"W/\"49-HJzZj6TXjCHVn87+GISusVeqpgo\""},{"key":"Date","value":"Sun, 27 Sep 2020 12:06:27 GMT"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"SAVED_ASANA_SERVICE\",\n    \"message\": \"Service linked successfully!\"\n}"}],"_postman_id":"a61940e4-413b-4e3b-8b51-035e02cc2f19"},{"name":"Link Discord","id":"1a1205d3-7afa-4c5e-ba1a-277dce033b9b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"","description":"<p>User JWT</p>\n","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"code","value":"","description":"<p>Code received at REDIRECT_URI</p>\n","type":"text"},{"key":"redirect_uri","value":"","description":"<p>Must match the redirect_uri specified in the original request.</p>\n","type":"text"}]},"url":"http://localhost:8080/v1/services/discord/link","description":"<p>Retrieve an access token from Discord and stores it.</p>\n","urlObject":{"protocol":"http","port":"8080","path":["v1","services","discord","link"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"e1f2a45a-f20a-4223-b1d5-3d57ee0c2a9e","name":"Linking Failed","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InBpbmdyaXNoYWJoQGdtYWlsLmNvbSIsImlhdCI6MTYwMTEyNTgzMn0.V7lKnoWgj95i4Wf-a1e2sLOAKS915pHxvOF6iuAtPTw","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"code","value":"feJpgVljKqG3bLhGbyuHiDtqXvbVTr","type":"text"},{"key":"redirect_uri","value":"http://localhost:3000/authorize/discord","type":"text"}]},"url":"http://localhost:8080/v1/services/discord/link"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Methods","value":"GET,PUT,POST,DELETE,OPTIONS"},{"key":"Access-Control-Allow-Headers","value":"X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"76"},{"key":"ETag","value":"W/\"4c-4tY6i6IPpuXc0vBByffvhX0qmW0\""},{"key":"Date","value":"Sun, 27 Sep 2020 15:07:35 GMT"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"FAILED_TO_LINK_DISCORD\",\n    \"message\": \"Invalid \\\"code\\\" in request.\"\n}"},{"id":"fd4a6c35-22c3-44d4-a9d1-e4b1a72bb916","name":"Linking Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InBpbmdyaXNoYWJoQGdtYWlsLmNvbSIsImlhdCI6MTYwMTEyNTgzMn0.V7lKnoWgj95i4Wf-a1e2sLOAKS915pHxvOF6iuAtPTw","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"code","value":"feJpgVljKqG3bLhGbyuHiDtqXvbVTn","type":"text"},{"key":"redirect_uri","value":"http://localhost:3000/authorize/discord","type":"text"}]},"url":"http://localhost:8080/v1/services/discord/link"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Methods","value":"GET,PUT,POST,DELETE,OPTIONS"},{"key":"Access-Control-Allow-Headers","value":"X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"75"},{"key":"ETag","value":"W/\"4b-xOATpbl4GL9Zxivrv9zY9crLDn8\""},{"key":"Date","value":"Sun, 27 Sep 2020 15:07:06 GMT"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"SAVED_DISCORD_SERVICE\",\n    \"message\": \"Service linked successfully!\"\n}"}],"_postman_id":"1a1205d3-7afa-4c5e-ba1a-277dce033b9b"},{"name":"Link Zoom","id":"bb9f292e-18eb-40f2-a609-57e6e2da7599","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"","description":"<p>User JWT</p>\n","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"code","value":"","description":"<p>Code received at REDIRECT_URI</p>\n","type":"text"}]},"url":"http://localhost:8080/v1/services/zoom/link","description":"<p>Retrieve an access token from Zoom and stores it.</p>\n","urlObject":{"protocol":"http","port":"8080","path":["v1","services","zoom","link"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"258ff5a7-7eec-4fec-b464-414250d3481d","name":"Link Zoom","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InBpbmdyaXNoYWJoQGdtYWlsLmNvbSIsImlhdCI6MTYwMTEyNTgzMn0.V7lKnoWgj95i4Wf-a1e2sLOAKS915pHxvOF6iuAtPTw","description":"User JWT","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"code","value":"wrmkmi23ir2oii2jfijf2oi3jrior32","description":"Code received at REDIRECT_URI","type":"text"}]},"url":"http://localhost:8080/v1/services/zoom/link"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Methods","value":"GET,PUT,POST,DELETE,OPTIONS"},{"key":"Access-Control-Allow-Headers","value":"X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version, Authorization"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"81"},{"key":"ETag","value":"W/\"51-U2bIJxF/yQQ7mKNgYq9dp98E0MI\""},{"key":"Date","value":"Mon, 28 Sep 2020 07:42:18 GMT"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"FAILED_TO_LINK_ZOOM\",\n    \"message\": \"Invalid authorization code undefined\"\n}"}],"_postman_id":"bb9f292e-18eb-40f2-a609-57e6e2da7599"},{"name":"Link Zoho","id":"6d61115f-0226-4d28-920b-0ab065569393","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"","description":"<p>User JWT</p>\n","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"code","value":"","description":"<p>Code received at REDIRECT_URI</p>\n","type":"text"},{"key":"redirect_uri","value":"","description":"<p>Must match the redirect_uri specified in the original request.</p>\n","type":"text"},{"key":"accounts_server","value":"","description":"<p>Account server URL received at REDIRECT_URI </p>\n","type":"text"}]},"url":"http://localhost:8080/v1/services/zoho/link","description":"<p>Retrieve an access token from Zoho and stores it.</p>\n","urlObject":{"protocol":"http","port":"8080","path":["v1","services","zoho","link"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"13eadca7-b06d-49ff-9000-079badab1c68","name":"Linking Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InBpbmdyaXNoYWJoQGdtYWlsLmNvbSIsImlhdCI6MTYwMTEyNTgzMn0.V7lKnoWgj95i4Wf-a1e2sLOAKS915pHxvOF6iuAtPTw","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"code","value":"1000.323ce12d0323bc96506a915e79519a2d.c0656f0e78b4d90cf92b8de8895e5148","type":"text"},{"key":"redirect_uri","value":"http://localhost:3000/authorize/zoho","type":"text"}]},"url":"http://localhost:8080/v1/services/zoho/link"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Methods","value":"GET,PUT,POST,DELETE,OPTIONS"},{"key":"Access-Control-Allow-Headers","value":"X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version, Authorization"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"72"},{"key":"ETag","value":"W/\"48-wpGEn0JvQpThWNmrNPmO05yDNBQ\""},{"key":"Date","value":"Mon, 28 Sep 2020 16:54:30 GMT"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"SAVED_ZOHO_SERVICE\",\n    \"message\": \"Service linked successfully!\"\n}"},{"id":"74f403a0-210f-4787-a030-00d8a26d7758","name":"Linking Failed","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InBpbmdyaXNoYWJoQGdtYWlsLmNvbSIsImlhdCI6MTYwMTEyNTgzMn0.V7lKnoWgj95i4Wf-a1e2sLOAKS915pHxvOF6iuAtPTw","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"code","value":"1000.675bcbbe003743a2e449771a0c787edd.66e023bd94d8e579714339feebb5e256","description":"Code received at REDIRECT_URI","type":"text"},{"key":"redirect_uri","value":"http://localhost:3000/authorize/zoho","description":"Must match the redirect_uri specified in the original request.","type":"text"},{"key":"accounts_server","value":"https://accounts.zoho.in/","description":"Account server URL received at REDIRECT_URI ","type":"text"}]},"url":"http://localhost:8080/v1/services/zoho/link"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Methods","value":"GET,PUT,POST,DELETE,OPTIONS"},{"key":"Access-Control-Allow-Headers","value":"X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version, Authorization"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"57"},{"key":"ETag","value":"W/\"39-2jxpZ0ku1GlNGPIfvzW22Eoy2cc\""},{"key":"Date","value":"Mon, 28 Sep 2020 17:11:56 GMT"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"FAILED_TO_LINK_ZOHO\",\n    \"message\": \"invalid_code\"\n}"}],"_postman_id":"6d61115f-0226-4d28-920b-0ab065569393"}],"id":"8e7ae513-72c6-415c-ae8b-d8f4ab052ea6","description":"<p>Handles all services and their OAuth 2.0 token exchange process.</p>\n","_postman_id":"8e7ae513-72c6-415c-ae8b-d8f4ab052ea6"},{"name":"Flows","item":[{"name":"Get All Flows","id":"900cd436-6bf5-4c73-af03-31aa74674d88","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"","description":"<p>User JWT</p>\n","type":"text"}],"url":"http://localhost:8080/v1/flows","description":"<p>Retrieves all flows that have been created.</p>\n","urlObject":{"protocol":"http","port":"8080","path":["v1","flows"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"900cd436-6bf5-4c73-af03-31aa74674d88"},{"name":"Create Flow","id":"1fbdb9a8-a243-4df1-a951-154d373617a6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"<p>User JWT</p>\n","key":"Authorization","type":"text","value":""}],"body":{"mode":"urlencoded","urlencoded":[{"description":"<p>Name of the flow</p>\n","key":"flowName","type":"text","value":""},{"description":"<p>Array of service IDs</p>\n","key":"services","type":"text","value":""},{"description":"<p>Service related meta-data</p>\n","key":"meta","type":"text","value":""}]},"url":"http://localhost:8080/v1/flows","description":"<p>Creates a new flow with attached services.</p>\n","urlObject":{"protocol":"http","port":"8080","path":["v1","flows"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"73023d4a-624f-4eaf-a460-bbf4250d11f7","name":"Creation Successful","originalRequest":{"method":"POST","header":[{"description":"User JWT","key":"Authorization","type":"text","value":""}],"body":{"mode":"urlencoded","urlencoded":[{"description":"Name of the flow","key":"name","type":"text","value":""},{"description":"Array of service IDs","key":"services","type":"text","value":""},{"description":"Service related meta-data","key":"meta","type":"text","value":""}]},"url":"http://localhost:8080/v1/flows"},"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"FLOW_CREATED\"\n}"},{"id":"9437bb5a-cce3-40c8-8f72-d02278ce8b35","name":"Creation Failed","originalRequest":{"method":"POST","header":[{"description":"User JWT","key":"Authorization","type":"text","value":""}],"body":{"mode":"urlencoded","urlencoded":[{"description":"Name of the flow","key":"name","type":"text","value":""},{"description":"Array of service IDs","key":"services","type":"text","value":""},{"description":"Service related meta-data","key":"meta","type":"text","value":""}]},"url":"http://localhost:8080/v1/flows"},"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"FAILED_TO_CREATE_FLOW\"\n}"}],"_postman_id":"1fbdb9a8-a243-4df1-a951-154d373617a6"}],"id":"632101e5-3abc-48ec-b53e-c26b809c900c","description":"<p>Handles all flows and their creation process.</p>\n","event":[{"listen":"prerequest","script":{"id":"1c834d02-0199-4684-95d2-aba82b996223","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"46b8b33d-e4b0-4863-a751-a80cec8ebf36","type":"text/javascript","exec":[""]}}],"_postman_id":"632101e5-3abc-48ec-b53e-c26b809c900c"},{"name":"Onboard","item":[{"name":"Onboard Person(s)","id":"b0848848-1ab7-4697-a7f4-fd356320d8a1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"","description":"<p>User JWT</p>\n","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"flowId","value":"","description":"<p>Flow ID</p>\n","type":"text"},{"key":"email","value":"","description":"<p>Email of the person to be onboarded</p>\n","type":"text"}]},"url":"http://localhost:8080/v1/onboard","description":"<p>Onboards user(s) on all the services, inside the provided flow.</p>\n","urlObject":{"protocol":"http","port":"8080","path":["v1","onboard"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"f11f89d2-0e9e-4d6b-aebb-b81c1029c9f9","name":"Onboard Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InBpbmdyaXNoYWJoQGdtYWlsLmNvbSIsImlhdCI6MTYwMTEyNTgzMn0.V7lKnoWgj95i4Wf-a1e2sLOAKS915pHxvOF6iuAtPTw","description":"User JWT","type":"text"}],"url":"http://localhost:8080/v1/onboard"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Methods","value":"GET,PUT,POST,DELETE,OPTIONS"},{"key":"Access-Control-Allow-Headers","value":"X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version, Authorization"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"112"},{"key":"ETag","value":"W/\"70-ODKOfrYd1xPyvN+y3YlAfyEQDFc\""},{"key":"Date","value":"Tue, 29 Sep 2020 08:38:27 GMT"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"ONBOARDING_SUCESSFUL\",\n    \"report\": {\n        \"asana\": true,\n        \"discord\": true,\n        \"github\": true,\n        \"heroku\": true,\n        \"zoom\": true\n    }\n}"}],"_postman_id":"b0848848-1ab7-4697-a7f4-fd356320d8a1"}],"id":"a25988ee-a9b3-46fd-a2f3-ae9eeec0d139","description":"<p>Handles all core onboarding related operations.</p>\n","event":[{"listen":"prerequest","script":{"id":"a3b08144-2c55-4f16-b7d9-3d9d43a34e80","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"1246c962-cd9f-498e-bd9c-a9d01ee1f853","type":"text/javascript","exec":[""]}}],"_postman_id":"a25988ee-a9b3-46fd-a2f3-ae9eeec0d139"}]}