full-stack-fastapi-template OpenAPI & REST API Specification

GitHub

Full-stack web application template with FastAPI, React, SQLModel, PostgreSQL, Vite, Tailwind CSS, shadcn/ui, FastAPI Cloud, and Docker Compose.

Raw JSON API

full-stack-fastapi-template REST API Specification

Located in backend/app/api/routes/*.py (FastAPI / Python Routes) on branch main

3.0.0 (FastAPI / Python) JSON 12 Endpoints 7.9 KB

Operations & Route Endpoints (20)

POST /login/login/access-token
POST /login/login/access-token
POST /login/login/test-token
POST /login/login/test-token
POST /login/password-recovery/{email}
POST /login/password-recovery/{email}
POST /login/reset-password/
POST /login/reset-password/
POST /login/password-recovery-html-content/{email}
POST /login/password-recovery-html-content/{email}
GET /users/
GET /users/
POST /users/
POST /users/
PATCH /users/me
PATCH /users/me
PATCH /users/me/password
PATCH /users/me/password
GET /users/me
GET /users/me
DELETE /users/me
DELETE /users/me
POST /users/signup
POST /users/signup
GET /users/{user_id}
GET /users/{user_id}
PATCH /users/{user_id}
PATCH /users/{user_id}
DELETE /users/{user_id}
DELETE /users/{user_id}
GET /items/
GET /items/
GET /items/{id}
GET /items/{id}
POST /items/
POST /items/
PUT /items/{id}
PUT /items/{id}
DELETE /items/{id}
DELETE /items/{id}
Raw JSON Specification
{
  "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"
          }
        }
      }
    }
  }
}