FastAPI
Features
Learn
Tutorial - User Guide
Tutorial - User GuideFirst StepsPath ParametersQuery ParametersRequest BodyQuery Parameters and String ValidationsPath Parameters and Numeric ValidationsQuery Parameter ModelsBody - Multiple ParametersBody - FieldsBody - Nested ModelsDeclare Request Example DataExtra Data TypesCookie ParametersHeader ParametersCookie Parameter ModelsHeader Parameter ModelsResponse Model - Return TypeExtra ModelsResponse Status CodeForm DataForm ModelsRequest FilesRequest Forms and FilesHandling ErrorsPath Operation ConfigurationJSON Compatible EncoderBody - Updates
Dependencies
Security
Advanced User Guide
Advanced User GuideStream DataPath Operation Advanced ConfigurationAdditional Status CodesReturn a Response DirectlyCustom Response - HTML, Stream, File, othersAdditional Responses in OpenAPIResponse CookiesResponse HeadersResponse - Change Status CodeAdvanced Dependencies
Advanced Security
Using the Request DirectlyUsing DataclassesAdvanced MiddlewareSub Applications - MountsBehind a ProxyTemplatesWebSocketsLifespan EventsTesting WebSocketsTesting Events: lifespan and startup - shutdownTesting Dependencies with OverridesAsync TestsSettings and Environment VariablesOpenAPI CallbacksOpenAPI WebhooksIncluding WSGI - Flask, Django, othersGenerating SDKsAdvanced Python TypesJSON with Bytes as Base64Strict Content-Type Checking
Deployment
How To - Recipes
How To - RecipesGeneral - How To - RecipesMigrate from Pydantic v1 to Pydantic v2GraphQLCustom Request and APIRoute classConditional OpenAPIExtending OpenAPISeparate OpenAPI Schemas for Input and Output or NotCustom Docs UI Static Assets (Self-Hosting)Configure Swagger UITesting a DatabaseUse Old 403 Authentication Error Status Codes
Reference
ReferenceFastAPI class¶Request Parameters¶Status Codes¶UploadFile class¶Exceptions - HTTPException and WebSocketException¶Dependencies - Depends() and Security()¶APIRouter class¶Background Tasks - BackgroundTasks¶Request class¶WebSockets¶HTTPConnection class¶Response class¶Custom Response Classes - File, HTML, Redirect, Streaming, etc.¶Server-Sent Events - EventSourceResponse and ServerSentEvent¶Middleware¶Security Tools¶Encoders - jsonable_encoder¶Static Files - StaticFiles¶Templating - Jinja2Templates¶Test Client - TestClient¶