{"info":{"_postman_id":"7d67a9ed-f778-4e06-9f97-f4bd2e9ca14d","name":"Tweetmark","description":"<html><head></head><body><p>Navigating through your bookmarks is such a chore. With Tweetmark, we make that chore a delight and more.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"16320940","collectionId":"7d67a9ed-f778-4e06-9f97-f4bd2e9ca14d","publishedId":"VUqoRyc9","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"publishDate":"2022-08-19T19:17:16.000Z"},"item":[{"name":"Authentication","item":[{"name":"Login","id":"1854960d-969d-49a4-94f1-36b390608ba9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://tweetmark.acel.dev/api/users/twitter_login/","description":"<p>This redirects to a twitter-generated login page for them to grant our app access to their account.<br />We then store the tokens gotten in the DB and redirect to our frontend authenticate page passing their user_id alongside it.</p>\n","urlObject":{"path":["users","twitter_login",""],"host":["https://tweetmark.acel.dev/api"],"query":[],"variable":[]}},"response":[],"_postman_id":"1854960d-969d-49a4-94f1-36b390608ba9"},{"name":"Token Refresh","id":"2e7e7903-5a60-4b34-b91f-0f2387136187","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"refresh\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoicmVmcmVzaCIsImV4cCI6MTY5MDU1OTY0MywiaWF0IjoxNjg3OTY3NjQzLCJqdGkiOiI3MDU4NjFiNGJhM2M0MTFlOGFiMmJiNDNmZmYxNzk1OSIsInVzZXJfaWQiOiIxMDQwNDkyNzAxMzYyMzk3MTg0In0.t6yFYuY5GLDY5TsAwN-14JIjomMXOKgIxT5xx1rsX80\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://tweetmark.acel.dev/api/users/token_refresh/","description":"<p>Returns a new access token.</p>\n","urlObject":{"path":["users","token_refresh",""],"host":["https://tweetmark.acel.dev/api"],"query":[],"variable":[]}},"response":[],"_postman_id":"2e7e7903-5a60-4b34-b91f-0f2387136187"},{"name":"Get User Details","id":"6c76487a-5205-44d9-92f3-d4ba0525b384","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"JWT ","type":"text"}],"url":"https://tweetmark.acel.dev/api/users/user_details/","description":"<p>Returns the details of the user's twitter account. Specifically:</p>\n<ul>\n<li>name</li>\n<li>username</li>\n<li>id</li>\n<li>profile_image_url</li>\n</ul>\n","urlObject":{"path":["users","user_details",""],"host":["https://tweetmark.acel.dev/api"],"query":[],"variable":[]}},"response":[],"_postman_id":"6c76487a-5205-44d9-92f3-d4ba0525b384"},{"name":"Syncronize Author Details","id":"3210c4be-635b-4cd8-bc3d-4ad432cc8549","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"JWT ","type":"text"}],"url":"https://tweetmark.acel.dev/api/users/syncronize_author_details/","description":"<p>Twitter users very often change their details like name, username, profile picture etc. And this can be an hindrance when searching for a bookmark.  </p>\n<p>This endpoint updates the user details of every tweet that has been bookmarked by the given user.</p>\n","urlObject":{"path":["users","syncronize_author_details",""],"host":["https://tweetmark.acel.dev/api"],"query":[],"variable":[]}},"response":[],"_postman_id":"3210c4be-635b-4cd8-bc3d-4ad432cc8549"}],"id":"286b961f-bed1-48a8-aa9e-6e543135812c","_postman_id":"286b961f-bed1-48a8-aa9e-6e543135812c","description":""},{"name":"Bookmarks","item":[{"name":"Syncronize Bookmarks","id":"766742c3-9f16-46a2-8530-98e97a02b3b7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"JWT ","type":"text"}],"url":"https://tweetmark.acel.dev/api/bookmarks/syncronize_bookmarks/","description":"<p>This fetches all bookmarks of the given user. Saving them in our DB. Also updates their bookmarks (on our DB), deleting and adding new ones based on what is gotten from twitter.</p>\n","urlObject":{"path":["bookmarks","syncronize_bookmarks",""],"host":["https://tweetmark.acel.dev/api"],"query":[],"variable":[]}},"response":[],"_postman_id":"766742c3-9f16-46a2-8530-98e97a02b3b7"},{"name":"Get all Bookmarks","id":"e2216e28-67ba-4997-8f91-6eb25033dca4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"JWT ","type":"text"}],"url":"https://tweetmark.acel.dev/api/bookmarks/get_bookmarks/?page_size=1&page=1","description":"<p>This returns all bookmarks for the given user</p>\n","urlObject":{"path":["bookmarks","get_bookmarks",""],"host":["https://tweetmark.acel.dev/api"],"query":[{"key":"page_size","value":"1"},{"key":"page","value":"1"}],"variable":[]}},"response":[],"_postman_id":"e2216e28-67ba-4997-8f91-6eb25033dca4"},{"name":"Add Bookmark","id":"b9f358e3-64f4-4cd5-a858-c643ebbaf516","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"JWT ","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"tweet_id\": \"1560359417392005123\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://tweetmark.acel.dev/api/bookmarks/add_bookmark/","description":"<p>Adds a tweet to the given user's bookmark. Both on our DB and their twitter account</p>\n","urlObject":{"path":["bookmarks","add_bookmark",""],"host":["https://tweetmark.acel.dev/api"],"query":[],"variable":[]}},"response":[],"_postman_id":"b9f358e3-64f4-4cd5-a858-c643ebbaf516"},{"name":"Remove a Bookmark","id":"9ab18e52-084d-4ed0-b3da-d6541443a3cf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"JWT ","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"tweet_id\": \"1560359417392005123\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://tweetmark.acel.dev/api/bookmarks/remove_bookmark/","description":"<p>Delete's a user's bookmark on our DB and their twitter account</p>\n","urlObject":{"path":["bookmarks","remove_bookmark",""],"host":["https://tweetmark.acel.dev/api"],"query":[],"variable":[]}},"response":[],"_postman_id":"9ab18e52-084d-4ed0-b3da-d6541443a3cf"},{"name":"Search Bookmark","id":"c100314b-e096-4b93-907c-5471e20bb023","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"JWT ","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"author_name\": \"CholoColcho\",\r\n    \"author_username\": \"madridistatvYT\",\r\n    \"folder_name\": \"Food\",\r\n    \"date_from\": \"2022-08-10\",\r\n    \"date_to\": \"2022-08-18\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://tweetmark.acel.dev/api/bookmarks/search_bookmarks/","description":"<p>This searches for a bookmark by any, some or all of the available fields. with the only compulsory field here being the user_id.</p>\n<p>EndFragment</p>\n","urlObject":{"path":["bookmarks","search_bookmarks",""],"host":["https://tweetmark.acel.dev/api"],"query":[],"variable":[]}},"response":[],"_postman_id":"c100314b-e096-4b93-907c-5471e20bb023"}],"id":"4c2337c5-e0e5-4a3d-9995-9684be4d0d62","_postman_id":"4c2337c5-e0e5-4a3d-9995-9684be4d0d62","description":""},{"name":"Folders","item":[{"name":"Create Folder","id":"5f3c5dd6-8053-4dd8-8985-04b1029604af","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"JWT ","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"folder_name\": \"Food\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://tweetmark.acel.dev/api/bookmarks/create_folder/","description":"<p>Creates a folder (on our DB) to store the user's bookmark(s).</p>\n","urlObject":{"path":["bookmarks","create_folder",""],"host":["https://tweetmark.acel.dev/api"],"query":[],"variable":[]}},"response":[],"_postman_id":"5f3c5dd6-8053-4dd8-8985-04b1029604af"},{"name":"Get Folders","id":"ed9d8f42-8211-43fb-a742-532a3da5171b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"JWT ","type":"text"}],"url":"https://tweetmark.acel.dev/api/bookmarks/get_folders/?page_size=10&paginate=False&folder_name=","description":"<p>Returns all folders for the given user.</p>\n","urlObject":{"path":["bookmarks","get_folders",""],"host":["https://tweetmark.acel.dev/api"],"query":[{"key":"page_size","value":"10"},{"key":"paginate","value":"False"},{"key":"folder_name","value":""}],"variable":[]}},"response":[],"_postman_id":"ed9d8f42-8211-43fb-a742-532a3da5171b"},{"name":"Add Bookmark to Folder","id":"8a992b4e-dcbf-44df-aa4d-a1540990ff68","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"JWT ","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"tweet_id\": \"1640068184261763075\",\r\n    \"folder_name\": \"Lies\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://tweetmark.acel.dev/api/bookmarks/add_bookmark_to_folder/","description":"<p>This adds a given tweet to the folder given. If the folder does not exist, a new one is created for the user.</p>\n","urlObject":{"path":["bookmarks","add_bookmark_to_folder",""],"host":["https://tweetmark.acel.dev/api"],"query":[],"variable":[]}},"response":[],"_postman_id":"8a992b4e-dcbf-44df-aa4d-a1540990ff68"},{"name":"Get Bookmarks in Folder","id":"832b317a-61bb-4a62-9735-e08b1750be97","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"JWT ","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"folder_name\": \"Food\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://tweetmark.acel.dev/api/bookmarks/get_bookmarks_in_folder/?page_size=5","description":"<p>Returns all the tweets in the given folder.</p>\n","urlObject":{"path":["bookmarks","get_bookmarks_in_folder",""],"host":["https://tweetmark.acel.dev/api"],"query":[{"key":"page_size","value":"5"}],"variable":[]}},"response":[],"_postman_id":"832b317a-61bb-4a62-9735-e08b1750be97"},{"name":"Remove Bookmark in Folder","id":"2d56ecdc-432a-4854-b2ac-960f13b9f4cf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"JWT ","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"tweet_id\": \"1560359417392005123\",\r\n    \"folder_name\": \"Fod\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://tweetmark.acel.dev/api/bookmarks/remove_bookmark_in_folder/","description":"<p>This removes a bookmark from a folder but still keeps it in their list of bookmarks.</p>\n","urlObject":{"path":["bookmarks","remove_bookmark_in_folder",""],"host":["https://tweetmark.acel.dev/api"],"query":[],"variable":[]}},"response":[],"_postman_id":"2d56ecdc-432a-4854-b2ac-960f13b9f4cf"},{"name":"Delete a Folder","id":"8d15fe6c-c1f7-4544-a4bb-3664d845c6c0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"JWT ","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"folder_name\": \"Fod\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://tweetmark.acel.dev/api/bookmarks/delete_folder/","description":"<p>This deletes a folder and it's contents while not deleting the bookmarks from the user's list of bookmarks.</p>\n","urlObject":{"path":["bookmarks","delete_folder",""],"host":["https://tweetmark.acel.dev/api"],"query":[],"variable":[]}},"response":[],"_postman_id":"8d15fe6c-c1f7-4544-a4bb-3664d845c6c0"},{"name":"Move Bookmark from Folder to Folder","id":"0681594f-0e7b-4bef-8265-3cec92eef842","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Authorization","value":"JWT ","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"tweet_id\": \"1560359417392005123\",\r\n    \"folder_name_from\": \"Food\",\r\n    \"folder_name_to\": \"Travel\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://tweetmark.acel.dev/api/bookmarks/move_from_folder_to_folder/","description":"<p>This moves a bookmark from one folder to another.</p>\n","urlObject":{"path":["bookmarks","move_from_folder_to_folder",""],"host":["https://tweetmark.acel.dev/api"],"query":[],"variable":[]}},"response":[],"_postman_id":"0681594f-0e7b-4bef-8265-3cec92eef842"}],"id":"bf1f20e3-bb55-45b3-a70b-15bcff3b037b","_postman_id":"bf1f20e3-bb55-45b3-a70b-15bcff3b037b","description":""}],"event":[{"listen":"prerequest","script":{"id":"1af1d182-0213-4b7d-93c3-e6f0fca3dd54","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"ecf20084-eda1-4b23-be4c-a1011ba3d656","type":"text/javascript","exec":[""]}}],"variable":[{"key":"base_url","value":"https://tweetmark.acel.dev/api","type":"string"},{"key":"jwt_token","value":"","type":"string"},{"value":"","type":"string"}]}