{"owner":"fastapi","repo":"full-stack-fastapi-template","hasSpec":true,"specFile":"backend/app/api/routes/*.py (FastAPI / Python Routes)","branch":"main","format":"json","version":"3.0.0 (FastAPI / Python)","title":"full-stack-fastapi-template REST API","description":"OpenAPI 3.0.0 specification synthesized deterministically from FastAPI / Python router source definitions (20 routes discovered across 5 router files).","pathsCount":12,"endpoints":[{"method":"POST","path":"/login/login/access-token","summary":"POST /login/login/access-token","file":"backend/app/api/routes/login.py"},{"method":"POST","path":"/login/login/test-token","summary":"POST /login/login/test-token","file":"backend/app/api/routes/login.py"},{"method":"POST","path":"/login/password-recovery/{email}","summary":"POST /login/password-recovery/{email}","file":"backend/app/api/routes/login.py"},{"method":"POST","path":"/login/reset-password/","summary":"POST /login/reset-password/","file":"backend/app/api/routes/login.py"},{"method":"POST","path":"/login/password-recovery-html-content/{email}","summary":"POST /login/password-recovery-html-content/{email}","file":"backend/app/api/routes/login.py"},{"method":"GET","path":"/users/","summary":"GET /users/","file":"backend/app/api/routes/users.py"},{"method":"POST","path":"/users/","summary":"POST /users/","file":"backend/app/api/routes/users.py"},{"method":"PATCH","path":"/users/me","summary":"PATCH /users/me","file":"backend/app/api/routes/users.py"},{"method":"PATCH","path":"/users/me/password","summary":"PATCH /users/me/password","file":"backend/app/api/routes/users.py"},{"method":"GET","path":"/users/me","summary":"GET /users/me","file":"backend/app/api/routes/users.py"},{"method":"DELETE","path":"/users/me","summary":"DELETE /users/me","file":"backend/app/api/routes/users.py"},{"method":"POST","path":"/users/signup","summary":"POST /users/signup","file":"backend/app/api/routes/users.py"},{"method":"GET","path":"/users/{user_id}","summary":"GET /users/{user_id}","file":"backend/app/api/routes/users.py"},{"method":"PATCH","path":"/users/{user_id}","summary":"PATCH /users/{user_id}","file":"backend/app/api/routes/users.py"},{"method":"DELETE","path":"/users/{user_id}","summary":"DELETE /users/{user_id}","file":"backend/app/api/routes/users.py"},{"method":"GET","path":"/items/","summary":"GET /items/","file":"backend/app/api/routes/items.py"},{"method":"GET","path":"/items/{id}","summary":"GET /items/{id}","file":"backend/app/api/routes/items.py"},{"method":"POST","path":"/items/","summary":"POST /items/","file":"backend/app/api/routes/items.py"},{"method":"PUT","path":"/items/{id}","summary":"PUT /items/{id}","file":"backend/app/api/routes/items.py"},{"method":"DELETE","path":"/items/{id}","summary":"DELETE /items/{id}","file":"backend/app/api/routes/items.py"}],"spec":{"openapi":"3.0.0","info":{"title":"full-stack-fastapi-template REST API","version":"1.0.0","description":"OpenAPI 3.0.0 specification synthesized deterministically from FastAPI / Python router source definitions (20 routes discovered across 5 router files)."},"paths":{"/login/login/access-token":{"post":{"summary":"POST /login/login/access-token","description":"Route definition extracted from `backend/app/api/routes/login.py`","responses":{"200":{"description":"Successful response"},"400":{"description":"Bad request / validation error"}}}},"/login/login/test-token":{"post":{"summary":"POST /login/login/test-token","description":"Route definition extracted from `backend/app/api/routes/login.py`","responses":{"200":{"description":"Successful response"},"400":{"description":"Bad request / validation error"}}}},"/login/password-recovery/{email}":{"post":{"summary":"POST /login/password-recovery/{email}","description":"Route definition extracted from `backend/app/api/routes/login.py`","responses":{"200":{"description":"Successful response"},"400":{"description":"Bad request / validation error"}}}},"/login/reset-password/":{"post":{"summary":"POST /login/reset-password/","description":"Route definition extracted from `backend/app/api/routes/login.py`","responses":{"200":{"description":"Successful response"},"400":{"description":"Bad request / validation error"}}}},"/login/password-recovery-html-content/{email}":{"post":{"summary":"POST /login/password-recovery-html-content/{email}","description":"Route definition extracted from `backend/app/api/routes/login.py`","responses":{"200":{"description":"Successful response"},"400":{"description":"Bad request / validation error"}}}},"/users/":{"get":{"summary":"GET /users/","description":"Route definition extracted from `backend/app/api/routes/users.py`","responses":{"200":{"description":"Successful response"},"400":{"description":"Bad request / validation error"}}},"post":{"summary":"POST /users/","description":"Route definition extracted from `backend/app/api/routes/users.py`","responses":{"200":{"description":"Successful response"},"400":{"description":"Bad request / validation error"}}}},"/users/me":{"patch":{"summary":"PATCH /users/me","description":"Route definition extracted from `backend/app/api/routes/users.py`","responses":{"200":{"description":"Successful response"},"400":{"description":"Bad request / validation error"}}},"get":{"summary":"GET /users/me","description":"Route definition extracted from `backend/app/api/routes/users.py`","responses":{"200":{"description":"Successful response"},"400":{"description":"Bad request / validation error"}}},"delete":{"summary":"DELETE /users/me","description":"Route definition extracted from `backend/app/api/routes/users.py`","responses":{"200":{"description":"Successful response"},"400":{"description":"Bad request / validation error"}}}},"/users/me/password":{"patch":{"summary":"PATCH /users/me/password","description":"Route definition extracted from `backend/app/api/routes/users.py`","responses":{"200":{"description":"Successful response"},"400":{"description":"Bad request / validation error"}}}},"/users/signup":{"post":{"summary":"POST /users/signup","description":"Route definition extracted from `backend/app/api/routes/users.py`","responses":{"200":{"description":"Successful response"},"400":{"description":"Bad request / validation error"}}}},"/users/{user_id}":{"get":{"summary":"GET /users/{user_id}","description":"Route definition extracted from `backend/app/api/routes/users.py`","responses":{"200":{"description":"Successful response"},"400":{"description":"Bad request / validation error"}}},"patch":{"summary":"PATCH /users/{user_id}","description":"Route definition extracted from `backend/app/api/routes/users.py`","responses":{"200":{"description":"Successful response"},"400":{"description":"Bad request / validation error"}}},"delete":{"summary":"DELETE /users/{user_id}","description":"Route definition extracted from `backend/app/api/routes/users.py`","responses":{"200":{"description":"Successful response"},"400":{"description":"Bad request / validation error"}}}},"/items/":{"get":{"summary":"GET /items/","description":"Route definition extracted from `backend/app/api/routes/items.py`","responses":{"200":{"description":"Successful response"},"400":{"description":"Bad request / validation error"}}},"post":{"summary":"POST /items/","description":"Route definition extracted from `backend/app/api/routes/items.py`","responses":{"200":{"description":"Successful response"},"400":{"description":"Bad request / validation error"}}}},"/items/{id}":{"get":{"summary":"GET /items/{id}","description":"Route definition extracted from `backend/app/api/routes/items.py`","responses":{"200":{"description":"Successful response"},"400":{"description":"Bad request / validation error"}}},"put":{"summary":"PUT /items/{id}","description":"Route definition extracted from `backend/app/api/routes/items.py`","responses":{"200":{"description":"Successful response"},"400":{"description":"Bad request / validation error"}}},"delete":{"summary":"DELETE /items/{id}","description":"Route definition extracted from `backend/app/api/routes/items.py`","responses":{"200":{"description":"Successful response"},"400":{"description":"Bad request / validation error"}}}}}}}