{"swagger":"2.0","info":{"version":"1.0.0","title":"Rent A Car API","description":"Rent A Car Management System","termsOfService":"http://www.CourseName.com/#","contact":{"name":"CourseName","email":"developer@CourseName.com"},"license":{"name":"ISC Licence"}},"host":"127.0.0.1:8000","basePath":"/","schemes":["http","https"],"securityDefinitions":{"Token":{"type":"apiKey","in":"header","name":"Authorization","description":"Simple Token Authentication * Example: <b>Token ...tokenKey...</b>"},"Bearer":{"type":"apiKey","in":"header","name":"Authorization","description":"JWT Authentication * Example: <b>Bearer ...accessToken...</b>"}},"consumes":["application/json"],"produces":["application/json"],"paths":{"/auth/login":{"post":{"tags":["Authentication"],"summary":"Login","description":"Login with username (or email) and password for get simpleToken and JWT","parameters":[{"name":"body","in":"body","required":true,"schema":{"type":"object","properties":{"username":{"type":"string","example":"test"},"password":{"type":"string","example":"aA12345.?"}}}}],"responses":{"200":{"description":"OK"}}}},"/auth/register":{"post":{"tags":["Authentication"],"summary":"Register User","description":"","parameters":[{"name":"body","in":"body","required":true,"schema":{"type":"object","properties":{"username":{"type":"string","example":"test"},"password":{"type":"string","example":"1234"},"email":{"type":"string","example":"test@site.com"},"isActive":{"type":"boolean","example":true},"isStaff":{"type":"boolean","example":false},"isAdmin":{"type":"boolean","example":false}}}}],"responses":{"201":{"description":"Created"}}}},"/auth/refresh":{"post":{"tags":["Authentication"],"summary":"JWT: Refresh","description":"Refresh accessToken with  ","parameters":[{"name":"body","in":"body","required":true,"schema":{"type":"object","properties":{"refresh":{"type":"string","example":"...refreshToken..."}}}}],"responses":{"200":{"description":"OK"}}}},"/auth/logout":{"get":{"tags":["Authentication"],"summary":"Logout","description":"","responses":{"200":{"description":"OK"}}}},"/users/":{"get":{"tags":["Users"],"summary":"List Users","description":"\r  You can send query with endpoint for search[], sort[], page and limit.\r  <ul> Examples:\r  <li>URL/?<b>search[field1]=value1&search[field2]=value2</b></li>\r  <li>URL/?<b>sort[field1]=1&sort[field2]=-1</b></li>\r  <li>URL/?<b>page=2&limit=1</b></li>\r  </ul>\r  ","responses":{"200":{"description":"OK"}}}},"/users/{id}":{"get":{"tags":["Users"],"summary":"Get Single User","description":"","parameters":[{"name":"id","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK"}}},"put":{"tags":["Users"],"summary":"Update User","description":"","parameters":[{"name":"id","in":"path","required":true,"type":"string"},{"name":"body","in":"body","required":true,"schema":{"type":"object","properties":{"username":{"type":"string","example":"test"},"password":{"type":"string","example":"1234"},"email":{"type":"string","example":"test@site.com"},"isActive":{"type":"boolean","example":true},"isStaff":{"type":"boolean","example":false},"isAdmin":{"type":"boolean","example":false}}}}],"responses":{"202":{"description":"Accepted"}}},"delete":{"tags":["Users"],"summary":"Delete User","description":"","parameters":[{"name":"id","in":"path","required":true,"type":"string"}],"responses":{"204":{"description":"No Content"},"404":{"description":"Not Found"}}},"patch":{"tags":["Users"],"summary":"Update User","description":"","parameters":[{"name":"id","in":"path","required":true,"type":"string"},{"name":"body","in":"body","required":true,"schema":{"type":"object","properties":{"username":{"type":"string","example":"test"},"password":{"type":"string","example":"1234"},"email":{"type":"string","example":"test@site.com"},"isActive":{"type":"boolean","example":true},"isStaff":{"type":"boolean","example":false},"isAdmin":{"type":"boolean","example":false}}}}],"responses":{"202":{"description":"Accepted"}}}},"/cars/":{"get":{"tags":["Cars"],"summary":"List Cars","description":"\r  You can send query with endpoint for search[], sort[], page and limit.\r  <ul> Examples:\r  <li>URL/?<b>search[field1]=value1&search[field2]=value2</b></li>\r  <li>URL/?<b>sort[field1]=1&sort[field2]=-1</b></li>\r  <li>URL/?<b>page=2&limit=1</b></li>\r  </ul>\r  ","responses":{"200":{"description":"OK"}}},"post":{"tags":["Cars"],"summary":"Create a Car","description":"","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/Car"}}],"responses":{"201":{"description":"Created"}}}},"/cars/{id}":{"get":{"tags":["Cars"],"summary":"Get Single Car","description":"","parameters":[{"name":"id","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK"}}},"put":{"tags":["Cars"],"summary":"Update Car","description":"","parameters":[{"name":"id","in":"path","required":true,"type":"string"},{"name":"body","in":"body","required":true,"schema":{"type":"object","properties":{"username":{"type":"string","example":"test"},"password":{"type":"string","example":"1234"},"email":{"type":"string","example":"test@site.com"},"isActive":{"type":"boolean","example":true},"isStaff":{"type":"boolean","example":false},"isAdmin":{"type":"boolean","example":false}}}}],"responses":{"202":{"description":"Accepted"}}},"delete":{"tags":["Cars"],"summary":"Delete Car","description":"","parameters":[{"name":"id","in":"path","required":true,"type":"string"}],"responses":{"204":{"description":"No Content"},"404":{"description":"Not Found"}}},"patch":{"tags":["Cars"],"summary":"Update Car","description":"","parameters":[{"name":"id","in":"path","required":true,"type":"string"},{"name":"body","in":"body","required":true,"schema":{"type":"object","properties":{"username":{"type":"string","example":"test"},"password":{"type":"string","example":"1234"},"email":{"type":"string","example":"test@site.com"},"isActive":{"type":"boolean","example":true},"isStaff":{"type":"boolean","example":false},"isAdmin":{"type":"boolean","example":false}}}}],"responses":{"202":{"description":"Accepted"}}}},"/reservations/":{"get":{"tags":["Reservations"],"summary":"List Reservations","description":"\r  You can send query with endpoint for search[], sort[], page and limit.\r  <ul> Examples:\r  <li>URL/?<b>search[field1]=value1&search[field2]=value2</b></li>\r  <li>URL/?<b>sort[field1]=1&sort[field2]=-1</b></li>\r  <li>URL/?<b>page=2&limit=1</b></li>\r  </ul>\r  ","responses":{"200":{"description":"OK"}}},"post":{"tags":["Reservations"],"summary":"Create a Car","description":"","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/Reservation"}}],"responses":{"201":{"description":"Created"}}}},"/reservations/{id}":{"get":{"tags":["Reservations"],"summary":"Get Single Reservation","description":"","parameters":[{"name":"id","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK"}}},"put":{"tags":["Reservations"],"summary":"Update Reservation","description":"","parameters":[{"name":"id","in":"path","required":true,"type":"string"},{"name":"body","in":"body","required":true,"schema":{"type":"object","properties":{"username":{"type":"string","example":"test"},"password":{"type":"string","example":"1234"},"email":{"type":"string","example":"test@site.com"},"isActive":{"type":"boolean","example":true},"isStaff":{"type":"boolean","example":false},"isAdmin":{"type":"boolean","example":false}}}}],"responses":{"202":{"description":"Accepted"}}},"delete":{"tags":["Reservations"],"summary":"Delete Reservation","description":"","parameters":[{"name":"id","in":"path","required":true,"type":"string"}],"responses":{"204":{"description":"No Content"},"404":{"description":"Not Found"}}},"patch":{"tags":["Reservations"],"summary":"Update Reservation","description":"","parameters":[{"name":"id","in":"path","required":true,"type":"string"},{"name":"body","in":"body","required":true,"schema":{"type":"object","properties":{"username":{"type":"string","example":"test"},"password":{"type":"string","example":"1234"},"email":{"type":"string","example":"test@site.com"},"isActive":{"type":"boolean","example":true},"isStaff":{"type":"boolean","example":false},"isAdmin":{"type":"boolean","example":false}}}}],"responses":{"202":{"description":"Accepted"}}}}},"definitions":{"User":{"type":"object","properties":{"username":{"type":"object","properties":{"type":{"type":"function"},"trim":{"type":"boolean","example":true},"required":{"type":"boolean","example":true},"unique":{"type":"boolean","example":true}}},"password":{"type":"object","properties":{"type":{"type":"function"},"trim":{"type":"boolean","example":true},"required":{"type":"boolean","example":true},"set":{"type":"function"}}},"email":{"type":"object","properties":{"type":{"type":"function"},"trim":{"type":"boolean","example":true},"required":{"type":"array","example":[true,"An Email address is required"],"items":{"type":"string"}},"unique":{"type":"array","example":[true,"There is this email. Email field must be unique"],"items":{"type":"string"}},"validate":{"type":"array","example":[null,"Email format is not valid"],"items":{"type":"string"}}}},"isActive":{"type":"object","properties":{"type":{"type":"function"},"default":{"type":"boolean","example":true}}},"isStaff":{"type":"object","properties":{"type":{"type":"function"},"default":{"type":"boolean","example":false}}},"isAdmin":{"type":"object","properties":{"type":{"type":"function"},"default":{"type":"boolean","example":false}}}}}},"security":[{"Token":[]},{"Bearer":[]}]}