{"service":"bsfile-api","name":"BS File","description":"The BSafe Group drive: files and folders, sharing, versions, trash and spam, activity, storage and account settings","base_url":"https://file-api.bsafegroup.be","client":"https://file.bsafegroup.be","api":"/api","health":"/health","endpoint_count":43,"endpoints":[{"group":"meta","method":"GET","path":"/","auth":"none","summary":"This document: what the service is and every route it serves"},{"group":"meta","method":"GET","path":"/health","auth":"none","summary":"Whether the service is up and can reach its database"},{"group":"meta","method":"HEAD","path":"/health","auth":"none","summary":"The same, for monitors that ask with HEAD"},{"group":"meta","method":"GET","path":"/api/health","auth":"none","summary":"The same, under the API prefix"},{"group":"meta","method":"HEAD","path":"/api/health","auth":"none","summary":"The same again, for HEAD"},{"group":"meta","method":"OPTIONS","path":"/*","auth":"none","summary":"CORS preflight, answered for every path"},{"group":"auth","method":"POST","path":"/api/auth/register","auth":"none","summary":"Create an account and return a session"},{"group":"auth","method":"POST","path":"/api/auth/login","auth":"none","summary":"Exchange an email and password for a session"},{"group":"auth","method":"POST","path":"/api/auth/password/reset","auth":"none","summary":"Ask for a reset link, sent by mail"},{"group":"auth","method":"POST","path":"/api/auth/password/confirm","auth":"none","summary":"Set a new password from a reset token"},{"group":"auth","method":"GET","path":"/api/auth/me","auth":"bearer","summary":"The account behind the token"},{"group":"account","method":"PATCH","path":"/api/account","auth":"bearer","summary":"Change the name, company or colour on the account"},{"group":"account","method":"POST","path":"/api/account/sessions/revoke","auth":"bearer","summary":"End every other session and reissue this one"},{"group":"account","method":"DELETE","path":"/api/account","auth":"bearer","summary":"Delete the account and everything in it, password required"},{"group":"account","method":"GET","path":"/api/preferences","auth":"bearer","summary":"Settings that follow the account between devices"},{"group":"account","method":"PUT","path":"/api/preferences","auth":"bearer","summary":"Change those settings"},{"group":"account","method":"GET","path":"/api/storage","auth":"bearer","summary":"Bytes used against the plan, broken down by kind"},{"group":"account","method":"GET","path":"/api/computers","auth":"bearer","summary":"Computers syncing folders into this account"},{"group":"account","method":"GET","path":"/api/users","auth":"bearer","summary":"Find colleagues by name or address, to share with"},{"group":"items","method":"GET","path":"/api/items","auth":"bearer","summary":"List a folder, or a view: recent, starred, shared, trash, spam, search"},{"group":"items","method":"POST","path":"/api/items","auth":"bearer","summary":"Create a folder, or a file with its content"},{"group":"items","method":"GET","path":"/api/items/:id","auth":"bearer","summary":"One item, with who it is shared with"},{"group":"items","method":"PATCH","path":"/api/items/:id","auth":"bearer","summary":"Rename, star, colour or describe an item"},{"group":"items","method":"GET","path":"/api/items/:id/path","auth":"bearer","summary":"The folders above an item, for breadcrumbs"},{"group":"items","method":"POST","path":"/api/items/:id/open","auth":"bearer","summary":"Record that an item was opened, which is what makes it recent"},{"group":"items","method":"GET","path":"/api/counts","auth":"bearer","summary":"How many items each view holds, for the sidebar"},{"group":"content","method":"GET","path":"/api/items/:id/content","auth":"bearer","summary":"The file's bytes, base64 encoded"},{"group":"content","method":"POST","path":"/api/items/:id/content","auth":"bearer","summary":"Replace those bytes and keep the old ones as a version"},{"group":"content","method":"GET","path":"/api/items/:id/versions","auth":"bearer","summary":"Every version kept for a file"},{"group":"content","method":"POST","path":"/api/items/:id/versions/:version/restore","auth":"bearer","summary":"Make an older version the current one"},{"group":"organise","method":"POST","path":"/api/items/move","auth":"bearer","summary":"Move items into a folder"},{"group":"organise","method":"POST","path":"/api/items/copy","auth":"bearer","summary":"Copy items, folders with everything inside them"},{"group":"organise","method":"POST","path":"/api/items/trash","auth":"bearer","summary":"Move items to the trash"},{"group":"organise","method":"POST","path":"/api/items/restore","auth":"bearer","summary":"Put trashed items back where they were"},{"group":"organise","method":"POST","path":"/api/items/spam","auth":"bearer","summary":"Mark items as spam"},{"group":"organise","method":"POST","path":"/api/items/not-spam","auth":"bearer","summary":"Take items out of spam"},{"group":"organise","method":"POST","path":"/api/items/delete","auth":"bearer","summary":"Delete items and their content for good"},{"group":"organise","method":"POST","path":"/api/trash/empty","auth":"bearer","summary":"Empty the trash"},{"group":"sharing","method":"GET","path":"/api/items/:id/shares","auth":"bearer","summary":"Who an item is shared with, and how"},{"group":"sharing","method":"PUT","path":"/api/items/:id/shares","auth":"bearer","summary":"Replace that list, owner only"},{"group":"activity","method":"GET","path":"/api/activity","auth":"bearer","summary":"What has happened across the account"},{"group":"activity","method":"POST","path":"/api/activity/read","auth":"bearer","summary":"Mark the activity feed as read"},{"group":"activity","method":"GET","path":"/api/items/:id/activity","auth":"bearer","summary":"What has happened to one item"}]}