{"info":{"_postman_id":"a9f02d83-2207-4d92-ab2f-9f2c2086768e","name":"Chatify REST","description":"<html><head></head><body><p>Collection of all HTTP requests with possible responses to interact with Chatify API</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"22943255","collectionId":"a9f02d83-2207-4d92-ab2f-9f2c2086768e","publishedId":"2sA3duGZ8C","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2024-07-18T21:11:41.000Z"},"item":[{"name":"Auth","item":[{"name":"Signup","event":[{"listen":"prerequest","script":{"id":"0b1e061a-0fca-42c6-b17e-c1d9d8f31d73","exec":[""],"type":"text/javascript","packages":{},"requests":{}}},{"listen":"test","script":{"id":"c37147d3-1234-49be-abfe-6183ce92ebf9","exec":["const requestBody = JSON.parse(pm.request.body.raw);\r","\r","pm.environment.set('email', requestBody.email);\r","pm.environment.set('password', requestBody.password);"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"be13fe9c-5695-4e69-ac36-87fa7d8ffc12","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"{{email}}\",\r\n    \"firstName\": \"Tony\",\r\n    \"lastName\": \"Stark\",\r\n    \"nickname\": \"t.stark\",\r\n    \"password\": \"Qwerty12345!\",\r\n    \"passwordConfirmation\": \"Qwerty12345!\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://{{url}}/auth/signup","description":"<p>Sign up for the application.<br />Request body:</p>\n<ul>\n<li><p>email:</p>\n<ul>\n<li><p>required;</p>\n</li>\n<li><p>string (email format);</p>\n</li>\n<li><p>max length - 255;</p>\n</li>\n</ul>\n</li>\n<li><p>firstName:</p>\n<ul>\n<li><p>required;</p>\n</li>\n<li><p>string;</p>\n</li>\n<li><p>min length - 3;</p>\n</li>\n<li><p>max length - 255;</p>\n</li>\n</ul>\n</li>\n<li><p>lastName:</p>\n<ul>\n<li><p>string;</p>\n</li>\n<li><p>min length - 3;</p>\n</li>\n<li><p>max length - 255;</p>\n</li>\n</ul>\n</li>\n<li><p>nickname:</p>\n<ul>\n<li><p>required;</p>\n</li>\n<li><p>string;</p>\n</li>\n<li><p>min length - 3;</p>\n</li>\n<li><p>max length - 255;</p>\n</li>\n</ul>\n</li>\n<li><p>password:</p>\n<ul>\n<li><p>required;</p>\n</li>\n<li><p>string;</p>\n</li>\n<li><p>min length - 6;</p>\n</li>\n<li><p>max length - 255;</p>\n</li>\n<li><p>At least 1 number;</p>\n</li>\n<li><p>At least 1 uppercase character;</p>\n</li>\n</ul>\n</li>\n<li><p>passwordConfirmation:</p>\n<ul>\n<li><p>required;</p>\n</li>\n<li><p>string;</p>\n</li>\n<li><p>min length - 6;</p>\n</li>\n<li><p>max length - 255;</p>\n</li>\n<li><p>At least 1 number;</p>\n</li>\n<li><p>At least 1 uppercase character;</p>\n</li>\n<li><p>Same as password field;</p>\n</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"protocol":"http","path":["auth","signup"],"host":["{{url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"be13fe9c-5695-4e69-ac36-87fa7d8ffc12"},{"name":"Login","event":[{"listen":"prerequest","script":{"id":"6763f0b0-91e4-43a0-b403-197a4c41454b","exec":[""],"type":"text/javascript","packages":{},"requests":{}}},{"listen":"test","script":{"id":"5ea5a2aa-a3be-4dbd-9f9c-55e00515c078","exec":["if (pm.response.code >= 200 && pm.response.code < 400) {\r","    const response = pm.response.json();\r","\r","    pm.environment.set('accessToken', response.data.accessToken);\r","}"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"36e02f93-4f5a-44b0-97da-45d6420a81c6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"{{email}}\",\r\n    \"password\": \"{{password}}\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"http://{{url}}/auth/login","description":"<p>Login to the user account.</p>\n<p>Request body:</p>\n<ul>\n<li><p>email:</p>\n<ul>\n<li><p>required;</p>\n</li>\n<li><p>string (email format);</p>\n</li>\n<li><p>max length - 255;</p>\n</li>\n</ul>\n</li>\n<li><p>password:</p>\n<ul>\n<li><p>required;</p>\n</li>\n<li><p>string;</p>\n</li>\n<li><p>min length - 6;</p>\n</li>\n<li><p>max length - 255;</p>\n</li>\n<li><p>At least 1 number;</p>\n</li>\n<li><p>At least 1 uppercase character;</p>\n</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"protocol":"http","path":["auth","login"],"host":["{{url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"36e02f93-4f5a-44b0-97da-45d6420a81c6"},{"name":"Activate account","event":[{"listen":"test","script":{"id":"3731c5a2-4552-43b3-b5af-df8cf0599c34","exec":["const response = pm.response.json();\r","\r","pm.environment.set('accessToken', response.data.accessToken)"],"type":"text/javascript","packages":{},"requests":{}}},{"listen":"prerequest","script":{"id":"17a7407d-fe11-42b7-a910-c207e4cac0df","exec":[""],"type":"text/javascript","packages":{},"requests":{}}}],"id":"d6eae3d8-4c3a-4f54-990a-b3f82eddaef8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"{{email}}\",\r\n    \"code\": 123456\r\n}","options":{"raw":{"language":"json"}}},"url":"http://{{url}}/auth/activate-account","description":"<p>Activate the created account.<br />Request body:</p>\n<ul>\n<li><p>code:</p>\n<ul>\n<li><p>required;</p>\n</li>\n<li><p>6-digit number;</p>\n</li>\n</ul>\n</li>\n<li><p>id:</p>\n<ul>\n<li><p>required;</p>\n</li>\n<li><p>string (uuid v4 format);</p>\n</li>\n</ul>\n</li>\n<li><p>OTPCodeId:</p>\n<ul>\n<li><p>required;</p>\n</li>\n<li><p>string (uuid v4 format);</p>\n</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"protocol":"http","path":["auth","activate-account"],"host":["{{url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"d6eae3d8-4c3a-4f54-990a-b3f82eddaef8"},{"name":"Resend activation code","id":"e393d4cd-c190-4902-b1e8-458a431fbcc3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"{{email}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://{{url}}/auth/resend-activation-code","description":"<p>Create and send a new activation code to the user email.</p>\n<p>Request body:</p>\n<ul>\n<li><p>email:</p>\n<ul>\n<li><p>required;</p>\n</li>\n<li><p>string (email format);</p>\n</li>\n<li><p>max length - 255;</p>\n</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"protocol":"http","path":["auth","resend-activation-code"],"host":["{{url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"e393d4cd-c190-4902-b1e8-458a431fbcc3"},{"name":"Reset password","id":"fa3503d8-b617-451b-b087-d1da0fab07ae","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"{{email}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://{{url}}/auth/reset-password","description":"<p>Create and send to user email link for resetting password.</p>\n<p>Request body:</p>\n<ul>\n<li><p>email:</p>\n<ul>\n<li><p>required;</p>\n</li>\n<li><p>string (email format);</p>\n</li>\n<li><p>max length - 255;</p>\n</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"protocol":"http","path":["auth","reset-password"],"host":["{{url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"fa3503d8-b617-451b-b087-d1da0fab07ae"},{"name":"Reset password confirmation","event":[{"listen":"prerequest","script":{"id":"62d65ab5-ee95-42ce-978e-5340516ef780","exec":[""],"type":"text/javascript","packages":{},"requests":{}}},{"listen":"test","script":{"id":"8e36579f-31ef-4287-8b1b-59aee42acce6","exec":["if (pm.response.code >= 200 && pm.response.code < 400) {\r","    const requestBody = JSON.parse(pm.request.body.raw);\r","\r","    pm.environment.set(\"password\", requestBody.password)\r","}"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"e1c2dab4-a5f6-4b28-9ed2-c11cf0c8bf1a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"password\": \"Qwerty12345!\",\r\n    \"passwordConfirmation\": \"Qwerty12345!\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://{{url}}/auth/reset-password/c7321bac-22c7-44c2-901c-c4b6b076aa14","description":"<p>Create a new password.</p>\n<p>Request body:</p>\n<ul>\n<li><p>password:</p>\n<ul>\n<li><p>required;</p>\n</li>\n<li><p>string;</p>\n</li>\n<li><p>min length - 6;</p>\n</li>\n<li><p>max length - 255;</p>\n</li>\n<li><p>At least 1 number;</p>\n</li>\n<li><p>At least 1 uppercase character;</p>\n</li>\n</ul>\n</li>\n<li><p>passwordConfirmation:</p>\n<ul>\n<li><p>required;</p>\n</li>\n<li><p>string;</p>\n</li>\n<li><p>min length - 6;</p>\n</li>\n<li><p>max length - 255;</p>\n</li>\n<li><p>At least 1 number;</p>\n</li>\n<li><p>At least 1 uppercase character;</p>\n</li>\n<li><p>Same as password field;</p>\n</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"protocol":"http","path":["auth","reset-password","c7321bac-22c7-44c2-901c-c4b6b076aa14"],"host":["{{url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"e1c2dab4-a5f6-4b28-9ed2-c11cf0c8bf1a"},{"name":"Logout","event":[{"listen":"test","script":{"id":"faf2151c-4355-410b-8c21-98af2cae8e86","exec":["if (pm.response.code === 204) {\r","    pm.environment.set('accessToken', null)\r","}"],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"9a0507f9-a89b-47d3-ad7a-9881acec2474","exec":[""],"type":"text/javascript","packages":{}}}],"id":"71a6fdbd-ed66-42f9-a460-201e5fae4987","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"url":"http://{{url}}/auth/logout","description":"<p>Logout from the user account.</p>\n","urlObject":{"protocol":"http","path":["auth","logout"],"host":["{{url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"71a6fdbd-ed66-42f9-a460-201e5fae4987"},{"name":"Refresh","event":[{"listen":"test","script":{"id":"e1a1dae4-8fff-4f5b-a531-5363ef90470b","exec":["if (pm.response.code >= 200 && pm.response.code < 400) {\r","    const response = pm.response.json();\r","\r","    pm.environment.set('accessToken', response.data.accessToken);\r","}"],"type":"text/javascript","packages":{}}}],"id":"2adcc7f2-b8c7-47a0-8ed6-5a07f8972753","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"url":"http://{{url}}/auth/refresh","description":"<p>Generate new access and refresh tokens.</p>\n","urlObject":{"protocol":"http","path":["auth","refresh"],"host":["{{url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"2adcc7f2-b8c7-47a0-8ed6-5a07f8972753"}],"id":"e017127b-269c-4bcf-907f-469646d40735","description":"<p>Requests collection to signup, reset password, login, etc.</p>\n","_postman_id":"e017127b-269c-4bcf-907f-469646d40735"},{"name":"App user","item":[{"name":"Get current user","event":[{"listen":"test","script":{"id":"8e6fa1e4-d6f4-4560-aa0f-14de195dc61d","exec":["if (pm.response.code >= 200 && pm.response.code < 400) {\r","    const response = pm.response.json();\r","\r","    pm.environment.set('avatarUrl', response.data.avatarUrl);\r","}"],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"fa3aefad-7ee1-4c08-85c1-6555df768e43","exec":[""],"type":"text/javascript","packages":{}}}],"id":"0c78e17d-ce68-4cb2-87aa-f4f47762a2a5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{accessToken}}"}]},"isInherited":false},"method":"GET","header":[],"url":"http://{{url}}/app-user","description":"<p>Get information about the current logged-in user</p>\n","urlObject":{"protocol":"http","path":["app-user"],"host":["{{url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"0c78e17d-ce68-4cb2-87aa-f4f47762a2a5"},{"name":"Get avatar","id":"12d09fd6-c78f-4b07-9640-a881abd3ed99","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{accessToken}}"}]},"isInherited":false},"method":"GET","header":[],"url":"http://{{url}}/static/{{avatarUrl}}","description":"<p>Get a current logged-in user avatar</p>\n","urlObject":{"protocol":"http","path":["static","{{avatarUrl}}"],"host":["{{url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"12d09fd6-c78f-4b07-9640-a881abd3ed99"},{"name":"Upload avatar","event":[{"listen":"test","script":{"id":"3c4ad76c-40d1-4f5c-b8dc-82a70b9d3020","exec":["if (pm.response.code >= 200 && pm.response.code < 400) {\r","    const response = pm.response.json();\r","\r","    pm.environment.set('avatarUrl', response.data.avatarUrl);\r","}"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"972ea715-396c-41a7-a78e-a9a793281f3f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{accessToken}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"user-avatar","type":"file","src":"/C:/Users/vlads/Downloads/user.png"}]},"url":"http://{{url}}/app-user/user-avatar","description":"<p>Upload a new user avatar.  </p>\n<p>Image limitation:</p>\n<ul>\n<li><p>1 file only;</p>\n</li>\n<li><p>available extensions: jpg, jpeg, png, svg, webp;</p>\n</li>\n<li><p>max size: 10 MB;</p>\n</li>\n</ul>\n","urlObject":{"protocol":"http","path":["app-user","user-avatar"],"host":["{{url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"972ea715-396c-41a7-a78e-a9a793281f3f"},{"name":"Update app user","event":[{"listen":"test","script":{"id":"43cfb72a-2d32-4b34-b9eb-697548f13baa","exec":["if (pm.response.code >= 200 && pm.response.code < 400) {\r","    const response = pm.response.json();\r","\r","    pm.environment.set('avatarUrl', response.data.avatarUrl);\r","}"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"940bbb28-6747-4f6b-9871-255765902d9a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{accessToken}}"}]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"about\": \"Iron man\",\r\n    \"firstName\": \"Tony\",\r\n    \"lastName\": \"Stark\",\r\n    \"nickname\": \"t.stark\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://{{url}}/app-user","description":"<p>Update user public information.</p>\n<p>Request body:</p>\n<ul>\n<li><p>about:</p>\n<ul>\n<li><p>string;</p>\n</li>\n<li><p>max length - 255;</p>\n</li>\n</ul>\n</li>\n<li><p>firstName:</p>\n<ul>\n<li><p>string;</p>\n</li>\n<li><p>min length - 3;</p>\n</li>\n<li><p>max length - 255;</p>\n</li>\n</ul>\n</li>\n<li><p>lastName:</p>\n<ul>\n<li><p>string;</p>\n</li>\n<li><p>max length - 255;</p>\n</li>\n</ul>\n</li>\n<li><p>nickname:</p>\n<ul>\n<li><p>string;</p>\n</li>\n<li><p>min length - 3;</p>\n</li>\n<li><p>max length - 255;</p>\n</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"protocol":"http","path":["app-user"],"host":["{{url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"940bbb28-6747-4f6b-9871-255765902d9a"},{"name":"Update account settings","id":"bc21e1cc-5156-4598-940d-d1899a9f6dcc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{accessToken}}"}]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"enterIsSending\": false,\r\n    \"notification\": false,\r\n    \"twoStepVerification\": false\r\n}","options":{"raw":{"language":"json"}}},"url":"http://{{url}}/app-user/account-settings","description":"<p>Update user account settings.</p>\n<p>Request body:</p>\n<ul>\n<li><p>enterIsSend:</p>\n<ul>\n<li>boolean;</li>\n</ul>\n</li>\n<li><p>notification:</p>\n<ul>\n<li>boolean;</li>\n</ul>\n</li>\n<li><p>twoStepVerification:</p>\n<ul>\n<li>boolean;</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"protocol":"http","path":["app-user","account-settings"],"host":["{{url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"bc21e1cc-5156-4598-940d-d1899a9f6dcc"},{"name":"Delete avatar","event":[{"listen":"test","script":{"id":"f0530a51-f266-42d8-95b9-f47d5eb9d033","exec":["if (pm.response.code >= 200 && pm.response.code < 400) {\r","    pm.environment.set('avatarUrl', null);\r","}"],"type":"text/javascript","packages":{}}}],"id":"6676a17c-f0ce-4360-8854-c9e72d15f744","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{accessToken}}"}]},"isInherited":false},"method":"DELETE","header":[],"url":"http://{{url}}/app-user/user-avatar","description":"<p>Delete the current logged-in user avatar</p>\n","urlObject":{"protocol":"http","path":["app-user","user-avatar"],"host":["{{url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"6676a17c-f0ce-4360-8854-c9e72d15f744"}],"id":"b5f0728f-65c3-4bde-a1b5-3ebc55d05f1b","description":"<p>Collection of requests to manage user personal information</p>\n","_postman_id":"b5f0728f-65c3-4bde-a1b5-3ebc55d05f1b"},{"name":"Search","item":[{"name":"Get users","id":"ae028e71-7807-4733-b763-171a60750881","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{accessToken}}"}]},"isInherited":false},"method":"GET","header":[],"url":"http://{{url}}/search/find-users?nickname=rogers&page=1&take=10","description":"<p>Find users by nickname.</p>\n<p>Query parameters:</p>\n<ul>\n<li><p>nickname:</p>\n<ul>\n<li><p>required;</p>\n</li>\n<li><p>string;</p>\n</li>\n</ul>\n</li>\n<li><p>page:</p>\n<ul>\n<li>number;</li>\n</ul>\n</li>\n<li><p>take:</p>\n<ul>\n<li>number;</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"protocol":"http","path":["search","find-users"],"host":["{{url}}"],"query":[{"key":"nickname","value":"rogers"},{"key":"page","value":"1"},{"key":"take","value":"10"}],"variable":[]}},"response":[],"_postman_id":"ae028e71-7807-4733-b763-171a60750881"}],"id":"20a67a64-416a-4cc7-bc2f-c7a1e918842d","description":"<p>Collection of requests for searching users, groups, channels, user chats, etc.</p>\n","_postman_id":"20a67a64-416a-4cc7-bc2f-c7a1e918842d"},{"name":"Direct chats","item":[{"name":"Get last chats","id":"2d7215d5-5544-41c9-b014-88d4f88def68","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{accessToken}}"}]},"isInherited":false},"method":"GET","header":[],"url":"http://{{url}}/direct-chats?page=1&take=10","urlObject":{"protocol":"http","path":["direct-chats"],"host":["{{url}}"],"query":[{"key":"page","value":"1"},{"key":"take","value":"10"}],"variable":[]}},"response":[],"_postman_id":"2d7215d5-5544-41c9-b014-88d4f88def68"},{"name":"Get chat messages","id":"15736d10-add5-4956-b92b-90b03b806211","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{accessToken}}"}]},"isInherited":false},"method":"GET","header":[],"url":"http://{{url}}/direct-chats/chat-messages?chatId=d8a2c0e6-9a04-44b2-9880-3f2a1bebc15f&page=1&take=10","urlObject":{"protocol":"http","path":["direct-chats","chat-messages"],"host":["{{url}}"],"query":[{"key":"chatId","value":"d8a2c0e6-9a04-44b2-9880-3f2a1bebc15f"},{"key":"page","value":"1"},{"key":"take","value":"10"}],"variable":[]}},"response":[],"_postman_id":"15736d10-add5-4956-b92b-90b03b806211"}],"id":"396d0983-f777-457f-b959-18cdf3d8bc3e","_postman_id":"396d0983-f777-457f-b959-18cdf3d8bc3e","description":""}]}