forked from Chewing_Bever/rusty-bever
1.3 KiB
1.3 KiB
API Design
This file describes the API that the software adheres to. All routes are defined under a shared api namespace.
(A) means the route can only be accessed by an admin user.
v1
Authentification
- POST
/auth/login- generate new JWT & refresh token pair given user credentials - POST
/auth/refresh- generate new JWT & refresh token pair given valid refresh token
Posts
- GET
/posts?<offset>&<limit>- get list of posts from the default feed given offset & limit - GET
/posts?<section_id_or_shortname>&<offset>&<limit>- get list of posts of a specific section - (A) POST
/posts- create a new post - GET
/posts/<id>- get a specific post - (A) DELETE
/posts/<id>- delete a post - (A) PATCH
/posts/<id>- patch a post
Sections
- GET
/sections?<offset>&<limit>- get list of sections - GET
/sections/<id_or_shortname>- get specific section - (A) POST
/sections- create a new section - (A) PATCH
/sections/<id_or_shortname>- patch a section - (A) DELETE
/sections/<id_or_shortname>- delete a section (what happens with posts?)
Users
- (A) GET
/users?<offset>&<limit> - (A) POST
/users - (A) GET
/users/<id_or_username> - (A) PATCH
/users/<id_or_username> - (A) DELETE
/users/<id_or_username>
Feeds
WIP