{"openapi":"3.0.0","info":{"version":"1.0.0","title":"User API"},"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer"}},"schemas":{"User":{"type":"object","properties":{"id":{"type":"string","example":"123"},"username":{"type":"string","example":"John Doe"},"email":{"type":"string","example":"blabla@gmail.com"},"password":{"type":"string","minLength":8,"example":"password123"},"admin":{"type":"string","example":"False"},"token":{"type":"string"}},"required":["id","username","email","password","admin","token"]}},"parameters":{}},"paths":{"/register":{"post":{"tags":["Register"],"requestBody":{"description":"Register a new user","content":{"application/json":{"example":{"username":"JohnDoe","email":"blabla@gmail.com","password":"password123"}}}},"responses":{"200":{"description":"Registration successful","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Registration successful"}},"required":["message"]}}}}}}},"/login":{"post":{"tags":["Login"],"requestBody":{"description":"Login as a user","content":{"application/json":{"example":{"username":"JohnDoe","password":"password123"}}}},"responses":{"200":{"description":"Succesfull login","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Login successful"},"token":{"type":"string","example":"Bearer TOKEN"}},"required":["message","token"]}}}}}}},"/user":{"get":{"tags":["User"],"security":[{"Bearer":[]}],"parameters":[{"schema":{"type":"string","example":"TOKEN"},"required":true,"name":"authorization","in":"header"}],"responses":{"200":{"description":"Retrive all users","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Login successful"},"token":{"type":"string","example":"Bearer TOKEN"}},"required":["message","token"]}}}}}}},"/user/{id}":{"patch":{"tags":["Update"],"security":[{"Bearer":[]}],"requestBody":{"description":"Update a user","content":{"application/json":{"example":{"email":"blabla@gmail.com","password":"password123","admin":"True"}}}},"parameters":[{"schema":{"type":"string","minLength":1,"example":"12"},"required":true,"name":"id","in":"path"},{"schema":{"type":"string","example":"TOKEN"},"required":true,"name":"authorization","in":"header"}],"responses":{"200":{"description":"Update the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"401":{"description":"Unauthorized"}}},"get":{"tags":["User"],"security":[{"Bearer":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"example":"12"},"required":true,"name":"id","in":"path"},{"schema":{"type":"string","example":"TOKEN"},"required":true,"name":"authorization","in":"header"}],"responses":{"200":{"description":"Retrieve the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"401":{"description":"Unauthorized"}}}}}}