FastAPI class¶
Here's the reference information for theFastAPI class, with all its parameters, attributes and methods.
You can import theFastAPI class directly fromfastapi:
fromfastapiimportFastAPIfastapi.FastAPI¶
FastAPI(*,debug=False,routes=None,title="FastAPI",summary=None,description="",version="0.1.0",openapi_url="/openapi.json",openapi_tags=None,servers=None,dependencies=None,default_response_class=Default(JSONResponse),redirect_slashes=True,docs_url="/docs",redoc_url="/redoc",swagger_ui_oauth2_redirect_url="/docs/oauth2-redirect",swagger_ui_init_oauth=None,middleware=None,exception_handlers=None,on_startup=None,on_shutdown=None,lifespan=None,terms_of_service=None,contact=None,license_info=None,openapi_prefix="",root_path="",root_path_in_servers=True,responses=None,callbacks=None,webhooks=None,deprecated=None,include_in_schema=True,swagger_ui_parameters=None,generate_unique_id_function=Default(generate_unique_id),separate_input_output_schemas=True,openapi_external_docs=None,**extra) Bases:Starlette
FastAPI app class, the main entrypoint to use FastAPI.
Read more in theFastAPI docs for First Steps.
Example¶
fromfastapiimportFastAPIapp=FastAPI()| PARAMETER | DESCRIPTION |
|---|---|
debug | Boolean indicating if debug tracebacks should be returned on servererrors. Read more in theStarlette docs for Applications. TYPE: |
routes | Note: you probably shouldn't use this parameter, it is inheritedfrom Starlette and supported for compatibility. A list of routes to serve incoming HTTP and WebSocket requests. TYPE: |
title | The title of the API. It will be added to the generated OpenAPI (e.g. visible at Read more in theFastAPI docs for Metadata and Docs URLs. Example TYPE: |
summary | A short summary of the API. It will be added to the generated OpenAPI (e.g. visible at Read more in theFastAPI docs for Metadata and Docs URLs. Example TYPE: |
description | A description of the API. Supports Markdown (usingCommonMark syntax). It will be added to the generated OpenAPI (e.g. visible at Read more in theFastAPI docs for Metadata and Docs URLs. Example TYPE: |
version | The version of the API. Note This is the version of your application, not the version ofthe OpenAPI specification nor the version of FastAPI being used. It will be added to the generated OpenAPI (e.g. visible at Read more in theFastAPI docs for Metadata and Docs URLs. Example TYPE: |
openapi_url | The URL where the OpenAPI schema will be served from. If you set it to Read more in theFastAPI docs for Metadata and Docs URLs. Example TYPE: |
openapi_tags | A list of tags used by OpenAPI, these are the same
The order of the tags can be used to specify the order shown intools like Swagger UI, used in the automatic path It's not required to specify all the tags used. The tags that are not declared MAY be organized randomly or basedon the tools' logic. Each tag name in the list MUST be unique. The value of each item is a
Read more in theFastAPI docs for Metadata and Docs URLs. Example TYPE: |
servers | A You would use it, for example, if your application is served fromdifferent domains and you want to use the same Swagger UI in thebrowser to interact with each of them (instead of having multiplebrowser tabs open). Or if you want to leave fixed the possible URLs. If the servers
Each item in the
Read more in theFastAPI docs for Behind a Proxy. Example TYPE: |
dependencies | A list of global dependencies, they will be applied to eachpath operation, including in sub-routers. Read more about it in theFastAPI docs for Global Dependencies. Example TYPE: |
default_response_class | The default response class to be used. Read more in theFastAPI docs for Custom Response - HTML, Stream, File, others. Example TYPE: |
redirect_slashes | Whether to detect and redirect slashes in URLs when the client doesn'tuse the same format. Example With this app, if a client goes to TYPE: |
docs_url | The path to the automatic interactive API documentation.It is handled in the browser by Swagger UI. The default URL is If Read more in theFastAPI docs for Metadata and Docs URLs. Example TYPE: |
redoc_url | The path to the alternative automatic interactive API documentationprovided by ReDoc. The default URL is If Read more in theFastAPI docs for Metadata and Docs URLs. Example TYPE: |
swagger_ui_oauth2_redirect_url | The OAuth2 redirect endpoint for the Swagger UI. By default it is This is only used if you use OAuth2 (with the "Authorize" button)with Swagger UI. TYPE: |
swagger_ui_init_oauth | OAuth2 configuration for the Swagger UI, by default shown at Read more about the available configuration options in theSwagger UI docs. TYPE: |
middleware | List of middleware to be added when creating the application. In FastAPI you would normally do this with Read more in theFastAPI docs for Middleware. TYPE: |
exception_handlers | A dictionary with handlers for exceptions. In FastAPI, you would normally use the decorator Read more in theFastAPI docs for Handling Errors. TYPE: |
on_startup | A list of startup event handler functions. You should instead use the Read more in theFastAPI docs for TYPE: |
on_shutdown | A list of shutdown event handler functions. You should instead use the Read more in theFastAPI docs for TYPE: |
lifespan | A Read more in theFastAPI docs for TYPE: |
terms_of_service | A URL to the Terms of Service for your API. It will be added to the generated OpenAPI (e.g. visible at Read more at theFastAPI docs for Metadata and Docs URLs. Example TYPE: |
contact | A dictionary with the contact information for the exposed API. It can contain several fields.
It will be added to the generated OpenAPI (e.g. visible at Read more at theFastAPI docs for Metadata and Docs URLs. Example TYPE: |
license_info | A dictionary with the license information for the exposed API. It can contain several fields.
It will be added to the generated OpenAPI (e.g. visible at Read more at theFastAPI docs for Metadata and Docs URLs. Example TYPE: |
openapi_prefix | A URL prefix for the OpenAPI URL. TYPE: |
root_path | A path prefix handled by a proxy that is not seen by the applicationbut is seen by external clients, which affects things like Swagger UI. Read more about it at theFastAPI docs for Behind a Proxy. Example TYPE: |
root_path_in_servers | To disable automatically generating the URLs in the Read more about it in theFastAPI docs for Behind a Proxy. Example TYPE: |
responses | Additional responses to be shown in OpenAPI. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for Additional Responses in OpenAPI. And in theFastAPI docs for Bigger Applications. TYPE: |
callbacks | OpenAPI callbacks that should apply to allpath operations. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for OpenAPI Callbacks. TYPE: |
webhooks | Add OpenAPI webhooks. This is similar to It will be added to the generated OpenAPI (e.g. visible at Note: This is available since OpenAPI 3.1.0, FastAPI 0.99.0. Read more about it in theFastAPI docs for OpenAPI Webhooks. TYPE: |
deprecated | Mark allpath operations as deprecated. You probably don't need it,but it's available. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for Path Operation Configuration. TYPE: |
include_in_schema | To include (or not) all thepath operations in the generated OpenAPI.You probably don't need it, but it's available. This affects the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for Query Parameters and String Validations. TYPE: |
swagger_ui_parameters | Parameters to configure Swagger UI, the autogenerated interactive APIdocumentation (by default at Read more about it in theFastAPI docs about how to Configure Swagger UI. TYPE: |
generate_unique_id_function | Customize the function used to generate unique IDs for thepathoperations shown in the generated OpenAPI. This is particularly useful when automatically generating clients orSDKs for your API. Read more about it in theFastAPI docs about how to Generate Clients. TYPE: |
separate_input_output_schemas | Whether to generate separate OpenAPI schemas for request body andresponse body when the results would be more precise. This is particularly useful when automatically generating clients. For example, if you have a model like: When But when using In this case, there would be two different schemas, one for input andanother one for output. Read more about it in theFastAPI docs about how to separate schemas for input and output TYPE: |
openapi_external_docs | This field allows you to provide additional external documentation links.If provided, it must be a dictionary containing:
Example: TYPE: |
**extra | Extra keyword arguments to be stored in the app, not used by FastAPIanywhere. TYPE: |
Source code infastapi/applications.py
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995 | |
openapi_versioninstance-attribute¶
openapi_version='3.1.0'The version string of OpenAPI.
FastAPI will generate OpenAPI version 3.1.0, and will output that asthe OpenAPI version. But some tools, even though they might becompatible with OpenAPI 3.1.0, might not recognize it as a valid.
So you could override this value to trick those tools into usingthe generated OpenAPI. Have in mind that this is a hack. But if youavoid using features added in OpenAPI 3.1.0, it might work for youruse case.
This is not passed as a parameter to theFastAPI class to avoidgiving the false idea that FastAPI would generate a different OpenAPIschema. It is only available as an attribute.
Example
fromfastapiimportFastAPIapp=FastAPI()app.openapi_version="3.0.2"webhooksinstance-attribute¶
webhooks=webhooksorAPIRouter()Theapp.webhooks attribute is anAPIRouter with thepathoperations that will be used just for documentation of webhooks.
Read more about it in theFastAPI docs for OpenAPI Webhooks.
stateinstance-attribute¶
state=State()A state object for the application. This is the same object for theentire application, it doesn't change from request to request.
You normally wouldn't use this in FastAPI, for most of the cases youwould instead use FastAPI dependencies.
This is simply inherited from Starlette.
Read more about it in theStarlette docs for Applications.
dependency_overridesinstance-attribute¶
dependency_overrides={}A dictionary with overrides for the dependencies.
Each key is the original dependency callable, and the value is theactual dependency that should be called.
This is for testing, to replace expensive dependencies with testingversions.
Read more about it in theFastAPI docs for Testing Dependencies with Overrides.
openapi¶
openapi()Generate the OpenAPI schema of the application. This is called by FastAPIinternally.
The first time it is called it stores the result in the attributeapp.openapi_schema, and next times it is called, it just returns that sameresult. To avoid the cost of generating the schema every time.
If you need to modify the generated OpenAPI schema, you could modify it.
Read more in theFastAPI docs for OpenAPI.
Source code infastapi/applications.py
10451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076 | |
websocket¶
websocket(path,name=None,*,dependencies=None)Decorate a WebSocket function.
Read more about it in theFastAPI docs for WebSockets.
Example
fromfastapiimportFastAPI,WebSocketapp=FastAPI()@app.websocket("/ws")asyncdefwebsocket_endpoint(websocket:WebSocket):awaitwebsocket.accept()whileTrue:data=awaitwebsocket.receive_text()awaitwebsocket.send_text(f"Message text was:{data}")| PARAMETER | DESCRIPTION |
|---|---|
path | WebSocket path. TYPE: |
name | A name for the WebSocket. Only used internally. TYPE: |
dependencies | A list of dependencies (using Read more about it in theFastAPI docs for WebSockets. TYPE: |
Source code infastapi/applications.py
1268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331 | |
include_router¶
include_router(router,*,prefix="",tags=None,dependencies=None,responses=None,deprecated=None,include_in_schema=True,default_response_class=Default(JSONResponse),callbacks=None,generate_unique_id_function=Default(generate_unique_id))Include anAPIRouter in the same app.
Read more about it in theFastAPI docs for Bigger Applications.
Example¶
fromfastapiimportFastAPIfrom.usersimportusers_routerapp=FastAPI()app.include_router(users_router)| PARAMETER | DESCRIPTION |
|---|---|
router | The TYPE: |
prefix | An optional path prefix for the router. TYPE: |
tags | A list of tags to be applied to all thepath operations in thisrouter. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for Path Operation Configuration. TYPE: |
dependencies | A list of dependencies (using Read more about it in theFastAPI docs for Bigger Applications - Multiple Files. Example TYPE: |
responses | Additional responses to be shown in OpenAPI. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for Additional Responses in OpenAPI. And in theFastAPI docs for Bigger Applications. TYPE: |
deprecated | Mark all thepath operations in this router as deprecated. It will be added to the generated OpenAPI (e.g. visible at Example TYPE: |
include_in_schema | Include (or not) all thepath operations in this router in thegenerated OpenAPI schema. This affects the generated OpenAPI (e.g. visible at Example TYPE: |
default_response_class | Default response class to be used for thepath operations in thisrouter. Read more in theFastAPI docs for Custom Response - HTML, Stream, File, others. Example TYPE: |
callbacks | List ofpath operations that will be used as OpenAPI callbacks. This is only for OpenAPI documentation, the callbacks won't be useddirectly. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for OpenAPI Callbacks. TYPE: |
generate_unique_id_function | Customize the function used to generate unique IDs for thepathoperations shown in the generated OpenAPI. This is particularly useful when automatically generating clients orSDKs for your API. Read more about it in theFastAPI docs about how to Generate Clients. TYPE: |
Source code infastapi/applications.py
133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536 | |
get¶
get(path,*,response_model=Default(None),status_code=None,tags=None,dependencies=None,summary=None,description=None,response_description="Successful Response",responses=None,deprecated=None,operation_id=None,response_model_include=None,response_model_exclude=None,response_model_by_alias=True,response_model_exclude_unset=False,response_model_exclude_defaults=False,response_model_exclude_none=False,include_in_schema=True,response_class=Default(JSONResponse),name=None,callbacks=None,openapi_extra=None,generate_unique_id_function=Default(generate_unique_id))Add apath operation using an HTTP GET operation.
Example¶
fromfastapiimportFastAPIapp=FastAPI()@app.get("/items/")defread_items():return[{"name":"Empanada"},{"name":"Arepa"}]| PARAMETER | DESCRIPTION |
|---|---|
path | The URL path to be used for thispath operation. For example, in TYPE: |
response_model | The type to use for the response. It could be any valid Pydanticfield type. So, it doesn't have tobe a Pydantic model, it could be other things, like a It will be used for:
Read more about it in theFastAPI docs for Response Model. TYPE: |
status_code | The default status code to be used for the response. You could override the status code by returning a response directly. Read more about it in theFastAPI docs for Response Status Code. TYPE: |
tags | A list of tags to be applied to thepath operation. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for Path Operation Configuration. TYPE: |
dependencies | A list of dependencies (using Read more about it in theFastAPI docs for Dependencies in path operation decorators. TYPE: |
summary | A summary for thepath operation. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for Path Operation Configuration. TYPE: |
description | A description for thepath operation. If not provided, it will be extracted automatically from the docstringof thepath operation function. It can contain Markdown. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for Path Operation Configuration. TYPE: |
response_description | The description for the default response. It will be added to the generated OpenAPI (e.g. visible at TYPE: |
responses | Additional responses that could be returned by thispath operation. It will be added to the generated OpenAPI (e.g. visible at TYPE: |
deprecated | Mark thispath operation as deprecated. It will be added to the generated OpenAPI (e.g. visible at TYPE: |
operation_id | Custom operation ID to be used by thispath operation. By default, it is generated automatically. If you provide a custom operation ID, you need to make sure it isunique for the whole API. You can customize theoperation ID generation with the parameter Read more about it in theFastAPI docs about how to Generate Clients. TYPE: |
response_model_include | Configuration passed to Pydantic to include only certain fields in theresponse data. Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_exclude | Configuration passed to Pydantic to exclude certain fields in theresponse data. Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_by_alias | Configuration passed to Pydantic to define if the response modelshould be serialized by alias when an alias is used. Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_exclude_unset | Configuration passed to Pydantic to define if the response datashould have all the fields, including the ones that were not set andhave their default values. This is different from When Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_exclude_defaults | Configuration passed to Pydantic to define if the response datashould have all the fields, including the ones that have the same valueas the default. This is different from When Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_exclude_none | Configuration passed to Pydantic to define if the response data shouldexclude fields set to This is much simpler (less smart) than Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
include_in_schema | Include thispath operation in the generated OpenAPI schema. This affects the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for Query Parameters and String Validations. TYPE: |
response_class | Response class to be used for thispath operation. This will not be used if you return a response directly. Read more about it in theFastAPI docs for Custom Response - HTML, Stream, File, others. TYPE: |
name | Name for thispath operation. Only used internally. TYPE: |
callbacks | List ofpath operations that will be used as OpenAPI callbacks. This is only for OpenAPI documentation, the callbacks won't be useddirectly. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for OpenAPI Callbacks. TYPE: |
openapi_extra | Extra metadata to be included in the OpenAPI schema for thispathoperation. Read more about it in theFastAPI docs for Path Operation Advanced Configuration. TYPE: |
generate_unique_id_function | Customize the function used to generate unique IDs for thepathoperations shown in the generated OpenAPI. This is particularly useful when automatically generating clients orSDKs for your API. Read more about it in theFastAPI docs about how to Generate Clients. TYPE: |
Source code infastapi/applications.py
153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909 | |
put¶
put(path,*,response_model=Default(None),status_code=None,tags=None,dependencies=None,summary=None,description=None,response_description="Successful Response",responses=None,deprecated=None,operation_id=None,response_model_include=None,response_model_exclude=None,response_model_by_alias=True,response_model_exclude_unset=False,response_model_exclude_defaults=False,response_model_exclude_none=False,include_in_schema=True,response_class=Default(JSONResponse),name=None,callbacks=None,openapi_extra=None,generate_unique_id_function=Default(generate_unique_id))Add apath operation using an HTTP PUT operation.
Example¶
fromfastapiimportFastAPIfrompydanticimportBaseModelclassItem(BaseModel):name:strdescription:str|None=Noneapp=FastAPI()@app.put("/items/{item_id}")defreplace_item(item_id:str,item:Item):return{"message":"Item replaced","id":item_id}| PARAMETER | DESCRIPTION |
|---|---|
path | The URL path to be used for thispath operation. For example, in TYPE: |
response_model | The type to use for the response. It could be any valid Pydanticfield type. So, it doesn't have tobe a Pydantic model, it could be other things, like a It will be used for:
Read more about it in theFastAPI docs for Response Model. TYPE: |
status_code | The default status code to be used for the response. You could override the status code by returning a response directly. Read more about it in theFastAPI docs for Response Status Code. TYPE: |
tags | A list of tags to be applied to thepath operation. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for Path Operation Configuration. TYPE: |
dependencies | A list of dependencies (using Read more about it in theFastAPI docs for Dependencies in path operation decorators. TYPE: |
summary | A summary for thepath operation. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for Path Operation Configuration. TYPE: |
description | A description for thepath operation. If not provided, it will be extracted automatically from the docstringof thepath operation function. It can contain Markdown. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for Path Operation Configuration. TYPE: |
response_description | The description for the default response. It will be added to the generated OpenAPI (e.g. visible at TYPE: |
responses | Additional responses that could be returned by thispath operation. It will be added to the generated OpenAPI (e.g. visible at TYPE: |
deprecated | Mark thispath operation as deprecated. It will be added to the generated OpenAPI (e.g. visible at TYPE: |
operation_id | Custom operation ID to be used by thispath operation. By default, it is generated automatically. If you provide a custom operation ID, you need to make sure it isunique for the whole API. You can customize theoperation ID generation with the parameter Read more about it in theFastAPI docs about how to Generate Clients. TYPE: |
response_model_include | Configuration passed to Pydantic to include only certain fields in theresponse data. Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_exclude | Configuration passed to Pydantic to exclude certain fields in theresponse data. Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_by_alias | Configuration passed to Pydantic to define if the response modelshould be serialized by alias when an alias is used. Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_exclude_unset | Configuration passed to Pydantic to define if the response datashould have all the fields, including the ones that were not set andhave their default values. This is different from When Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_exclude_defaults | Configuration passed to Pydantic to define if the response datashould have all the fields, including the ones that have the same valueas the default. This is different from When Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_exclude_none | Configuration passed to Pydantic to define if the response data shouldexclude fields set to This is much simpler (less smart) than Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
include_in_schema | Include thispath operation in the generated OpenAPI schema. This affects the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for Query Parameters and String Validations. TYPE: |
response_class | Response class to be used for thispath operation. This will not be used if you return a response directly. Read more about it in theFastAPI docs for Custom Response - HTML, Stream, File, others. TYPE: |
name | Name for thispath operation. Only used internally. TYPE: |
callbacks | List ofpath operations that will be used as OpenAPI callbacks. This is only for OpenAPI documentation, the callbacks won't be useddirectly. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for OpenAPI Callbacks. TYPE: |
openapi_extra | Extra metadata to be included in the OpenAPI schema for thispathoperation. Read more about it in theFastAPI docs for Path Operation Advanced Configuration. TYPE: |
generate_unique_id_function | Customize the function used to generate unique IDs for thepathoperations shown in the generated OpenAPI. This is particularly useful when automatically generating clients orSDKs for your API. Read more about it in theFastAPI docs about how to Generate Clients. TYPE: |
Source code infastapi/applications.py
19111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287 | |
post¶
post(path,*,response_model=Default(None),status_code=None,tags=None,dependencies=None,summary=None,description=None,response_description="Successful Response",responses=None,deprecated=None,operation_id=None,response_model_include=None,response_model_exclude=None,response_model_by_alias=True,response_model_exclude_unset=False,response_model_exclude_defaults=False,response_model_exclude_none=False,include_in_schema=True,response_class=Default(JSONResponse),name=None,callbacks=None,openapi_extra=None,generate_unique_id_function=Default(generate_unique_id))Add apath operation using an HTTP POST operation.
Example¶
fromfastapiimportFastAPIfrompydanticimportBaseModelclassItem(BaseModel):name:strdescription:str|None=Noneapp=FastAPI()@app.post("/items/")defcreate_item(item:Item):return{"message":"Item created"}| PARAMETER | DESCRIPTION |
|---|---|
path | The URL path to be used for thispath operation. For example, in TYPE: |
response_model | The type to use for the response. It could be any valid Pydanticfield type. So, it doesn't have tobe a Pydantic model, it could be other things, like a It will be used for:
Read more about it in theFastAPI docs for Response Model. TYPE: |
status_code | The default status code to be used for the response. You could override the status code by returning a response directly. Read more about it in theFastAPI docs for Response Status Code. TYPE: |
tags | A list of tags to be applied to thepath operation. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for Path Operation Configuration. TYPE: |
dependencies | A list of dependencies (using Read more about it in theFastAPI docs for Dependencies in path operation decorators. TYPE: |
summary | A summary for thepath operation. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for Path Operation Configuration. TYPE: |
description | A description for thepath operation. If not provided, it will be extracted automatically from the docstringof thepath operation function. It can contain Markdown. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for Path Operation Configuration. TYPE: |
response_description | The description for the default response. It will be added to the generated OpenAPI (e.g. visible at TYPE: |
responses | Additional responses that could be returned by thispath operation. It will be added to the generated OpenAPI (e.g. visible at TYPE: |
deprecated | Mark thispath operation as deprecated. It will be added to the generated OpenAPI (e.g. visible at TYPE: |
operation_id | Custom operation ID to be used by thispath operation. By default, it is generated automatically. If you provide a custom operation ID, you need to make sure it isunique for the whole API. You can customize theoperation ID generation with the parameter Read more about it in theFastAPI docs about how to Generate Clients. TYPE: |
response_model_include | Configuration passed to Pydantic to include only certain fields in theresponse data. Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_exclude | Configuration passed to Pydantic to exclude certain fields in theresponse data. Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_by_alias | Configuration passed to Pydantic to define if the response modelshould be serialized by alias when an alias is used. Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_exclude_unset | Configuration passed to Pydantic to define if the response datashould have all the fields, including the ones that were not set andhave their default values. This is different from When Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_exclude_defaults | Configuration passed to Pydantic to define if the response datashould have all the fields, including the ones that have the same valueas the default. This is different from When Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_exclude_none | Configuration passed to Pydantic to define if the response data shouldexclude fields set to This is much simpler (less smart) than Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
include_in_schema | Include thispath operation in the generated OpenAPI schema. This affects the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for Query Parameters and String Validations. TYPE: |
response_class | Response class to be used for thispath operation. This will not be used if you return a response directly. Read more about it in theFastAPI docs for Custom Response - HTML, Stream, File, others. TYPE: |
name | Name for thispath operation. Only used internally. TYPE: |
callbacks | List ofpath operations that will be used as OpenAPI callbacks. This is only for OpenAPI documentation, the callbacks won't be useddirectly. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for OpenAPI Callbacks. TYPE: |
openapi_extra | Extra metadata to be included in the OpenAPI schema for thispathoperation. Read more about it in theFastAPI docs for Path Operation Advanced Configuration. TYPE: |
generate_unique_id_function | Customize the function used to generate unique IDs for thepathoperations shown in the generated OpenAPI. This is particularly useful when automatically generating clients orSDKs for your API. Read more about it in theFastAPI docs about how to Generate Clients. TYPE: |
Source code infastapi/applications.py
22892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665 | |
delete¶
delete(path,*,response_model=Default(None),status_code=None,tags=None,dependencies=None,summary=None,description=None,response_description="Successful Response",responses=None,deprecated=None,operation_id=None,response_model_include=None,response_model_exclude=None,response_model_by_alias=True,response_model_exclude_unset=False,response_model_exclude_defaults=False,response_model_exclude_none=False,include_in_schema=True,response_class=Default(JSONResponse),name=None,callbacks=None,openapi_extra=None,generate_unique_id_function=Default(generate_unique_id))Add apath operation using an HTTP DELETE operation.
Example¶
fromfastapiimportFastAPIapp=FastAPI()@app.delete("/items/{item_id}")defdelete_item(item_id:str):return{"message":"Item deleted"}| PARAMETER | DESCRIPTION |
|---|---|
path | The URL path to be used for thispath operation. For example, in TYPE: |
response_model | The type to use for the response. It could be any valid Pydanticfield type. So, it doesn't have tobe a Pydantic model, it could be other things, like a It will be used for:
Read more about it in theFastAPI docs for Response Model. TYPE: |
status_code | The default status code to be used for the response. You could override the status code by returning a response directly. Read more about it in theFastAPI docs for Response Status Code. TYPE: |
tags | A list of tags to be applied to thepath operation. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for Path Operation Configuration. TYPE: |
dependencies | A list of dependencies (using Read more about it in theFastAPI docs for Dependencies in path operation decorators. TYPE: |
summary | A summary for thepath operation. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for Path Operation Configuration. TYPE: |
description | A description for thepath operation. If not provided, it will be extracted automatically from the docstringof thepath operation function. It can contain Markdown. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for Path Operation Configuration. TYPE: |
response_description | The description for the default response. It will be added to the generated OpenAPI (e.g. visible at TYPE: |
responses | Additional responses that could be returned by thispath operation. It will be added to the generated OpenAPI (e.g. visible at TYPE: |
deprecated | Mark thispath operation as deprecated. It will be added to the generated OpenAPI (e.g. visible at TYPE: |
operation_id | Custom operation ID to be used by thispath operation. By default, it is generated automatically. If you provide a custom operation ID, you need to make sure it isunique for the whole API. You can customize theoperation ID generation with the parameter Read more about it in theFastAPI docs about how to Generate Clients. TYPE: |
response_model_include | Configuration passed to Pydantic to include only certain fields in theresponse data. Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_exclude | Configuration passed to Pydantic to exclude certain fields in theresponse data. Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_by_alias | Configuration passed to Pydantic to define if the response modelshould be serialized by alias when an alias is used. Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_exclude_unset | Configuration passed to Pydantic to define if the response datashould have all the fields, including the ones that were not set andhave their default values. This is different from When Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_exclude_defaults | Configuration passed to Pydantic to define if the response datashould have all the fields, including the ones that have the same valueas the default. This is different from When Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_exclude_none | Configuration passed to Pydantic to define if the response data shouldexclude fields set to This is much simpler (less smart) than Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
include_in_schema | Include thispath operation in the generated OpenAPI schema. This affects the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for Query Parameters and String Validations. TYPE: |
response_class | Response class to be used for thispath operation. This will not be used if you return a response directly. Read more about it in theFastAPI docs for Custom Response - HTML, Stream, File, others. TYPE: |
name | Name for thispath operation. Only used internally. TYPE: |
callbacks | List ofpath operations that will be used as OpenAPI callbacks. This is only for OpenAPI documentation, the callbacks won't be useddirectly. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for OpenAPI Callbacks. TYPE: |
openapi_extra | Extra metadata to be included in the OpenAPI schema for thispathoperation. Read more about it in theFastAPI docs for Path Operation Advanced Configuration. TYPE: |
generate_unique_id_function | Customize the function used to generate unique IDs for thepathoperations shown in the generated OpenAPI. This is particularly useful when automatically generating clients orSDKs for your API. Read more about it in theFastAPI docs about how to Generate Clients. TYPE: |
Source code infastapi/applications.py
266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038 | |
options¶
options(path,*,response_model=Default(None),status_code=None,tags=None,dependencies=None,summary=None,description=None,response_description="Successful Response",responses=None,deprecated=None,operation_id=None,response_model_include=None,response_model_exclude=None,response_model_by_alias=True,response_model_exclude_unset=False,response_model_exclude_defaults=False,response_model_exclude_none=False,include_in_schema=True,response_class=Default(JSONResponse),name=None,callbacks=None,openapi_extra=None,generate_unique_id_function=Default(generate_unique_id))Add apath operation using an HTTP OPTIONS operation.
Example¶
fromfastapiimportFastAPIapp=FastAPI()@app.options("/items/")defget_item_options():return{"additions":["Aji","Guacamole"]}| PARAMETER | DESCRIPTION |
|---|---|
path | The URL path to be used for thispath operation. For example, in TYPE: |
response_model | The type to use for the response. It could be any valid Pydanticfield type. So, it doesn't have tobe a Pydantic model, it could be other things, like a It will be used for:
Read more about it in theFastAPI docs for Response Model. TYPE: |
status_code | The default status code to be used for the response. You could override the status code by returning a response directly. Read more about it in theFastAPI docs for Response Status Code. TYPE: |
tags | A list of tags to be applied to thepath operation. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for Path Operation Configuration. TYPE: |
dependencies | A list of dependencies (using Read more about it in theFastAPI docs for Dependencies in path operation decorators. TYPE: |
summary | A summary for thepath operation. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for Path Operation Configuration. TYPE: |
description | A description for thepath operation. If not provided, it will be extracted automatically from the docstringof thepath operation function. It can contain Markdown. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for Path Operation Configuration. TYPE: |
response_description | The description for the default response. It will be added to the generated OpenAPI (e.g. visible at TYPE: |
responses | Additional responses that could be returned by thispath operation. It will be added to the generated OpenAPI (e.g. visible at TYPE: |
deprecated | Mark thispath operation as deprecated. It will be added to the generated OpenAPI (e.g. visible at TYPE: |
operation_id | Custom operation ID to be used by thispath operation. By default, it is generated automatically. If you provide a custom operation ID, you need to make sure it isunique for the whole API. You can customize theoperation ID generation with the parameter Read more about it in theFastAPI docs about how to Generate Clients. TYPE: |
response_model_include | Configuration passed to Pydantic to include only certain fields in theresponse data. Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_exclude | Configuration passed to Pydantic to exclude certain fields in theresponse data. Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_by_alias | Configuration passed to Pydantic to define if the response modelshould be serialized by alias when an alias is used. Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_exclude_unset | Configuration passed to Pydantic to define if the response datashould have all the fields, including the ones that were not set andhave their default values. This is different from When Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_exclude_defaults | Configuration passed to Pydantic to define if the response datashould have all the fields, including the ones that have the same valueas the default. This is different from When Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_exclude_none | Configuration passed to Pydantic to define if the response data shouldexclude fields set to This is much simpler (less smart) than Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
include_in_schema | Include thispath operation in the generated OpenAPI schema. This affects the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for Query Parameters and String Validations. TYPE: |
response_class | Response class to be used for thispath operation. This will not be used if you return a response directly. Read more about it in theFastAPI docs for Custom Response - HTML, Stream, File, others. TYPE: |
name | Name for thispath operation. Only used internally. TYPE: |
callbacks | List ofpath operations that will be used as OpenAPI callbacks. This is only for OpenAPI documentation, the callbacks won't be useddirectly. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for OpenAPI Callbacks. TYPE: |
openapi_extra | Extra metadata to be included in the OpenAPI schema for thispathoperation. Read more about it in theFastAPI docs for Path Operation Advanced Configuration. TYPE: |
generate_unique_id_function | Customize the function used to generate unique IDs for thepathoperations shown in the generated OpenAPI. This is particularly useful when automatically generating clients orSDKs for your API. Read more about it in theFastAPI docs about how to Generate Clients. TYPE: |
Source code infastapi/applications.py
304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411 | |
head¶
head(path,*,response_model=Default(None),status_code=None,tags=None,dependencies=None,summary=None,description=None,response_description="Successful Response",responses=None,deprecated=None,operation_id=None,response_model_include=None,response_model_exclude=None,response_model_by_alias=True,response_model_exclude_unset=False,response_model_exclude_defaults=False,response_model_exclude_none=False,include_in_schema=True,response_class=Default(JSONResponse),name=None,callbacks=None,openapi_extra=None,generate_unique_id_function=Default(generate_unique_id))Add apath operation using an HTTP HEAD operation.
Example¶
fromfastapiimportFastAPI,Responseapp=FastAPI()@app.head("/items/",status_code=204)defget_items_headers(response:Response):response.headers["X-Cat-Dog"]="Alone in the world"| PARAMETER | DESCRIPTION |
|---|---|
path | The URL path to be used for thispath operation. For example, in TYPE: |
response_model | The type to use for the response. It could be any valid Pydanticfield type. So, it doesn't have tobe a Pydantic model, it could be other things, like a It will be used for:
Read more about it in theFastAPI docs for Response Model. TYPE: |
status_code | The default status code to be used for the response. You could override the status code by returning a response directly. Read more about it in theFastAPI docs for Response Status Code. TYPE: |
tags | A list of tags to be applied to thepath operation. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for Path Operation Configuration. TYPE: |
dependencies | A list of dependencies (using Read more about it in theFastAPI docs for Dependencies in path operation decorators. TYPE: |
summary | A summary for thepath operation. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for Path Operation Configuration. TYPE: |
description | A description for thepath operation. If not provided, it will be extracted automatically from the docstringof thepath operation function. It can contain Markdown. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for Path Operation Configuration. TYPE: |
response_description | The description for the default response. It will be added to the generated OpenAPI (e.g. visible at TYPE: |
responses | Additional responses that could be returned by thispath operation. It will be added to the generated OpenAPI (e.g. visible at TYPE: |
deprecated | Mark thispath operation as deprecated. It will be added to the generated OpenAPI (e.g. visible at TYPE: |
operation_id | Custom operation ID to be used by thispath operation. By default, it is generated automatically. If you provide a custom operation ID, you need to make sure it isunique for the whole API. You can customize theoperation ID generation with the parameter Read more about it in theFastAPI docs about how to Generate Clients. TYPE: |
response_model_include | Configuration passed to Pydantic to include only certain fields in theresponse data. Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_exclude | Configuration passed to Pydantic to exclude certain fields in theresponse data. Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_by_alias | Configuration passed to Pydantic to define if the response modelshould be serialized by alias when an alias is used. Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_exclude_unset | Configuration passed to Pydantic to define if the response datashould have all the fields, including the ones that were not set andhave their default values. This is different from When Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_exclude_defaults | Configuration passed to Pydantic to define if the response datashould have all the fields, including the ones that have the same valueas the default. This is different from When Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_exclude_none | Configuration passed to Pydantic to define if the response data shouldexclude fields set to This is much simpler (less smart) than Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
include_in_schema | Include thispath operation in the generated OpenAPI schema. This affects the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for Query Parameters and String Validations. TYPE: |
response_class | Response class to be used for thispath operation. This will not be used if you return a response directly. Read more about it in theFastAPI docs for Custom Response - HTML, Stream, File, others. TYPE: |
name | Name for thispath operation. Only used internally. TYPE: |
callbacks | List ofpath operations that will be used as OpenAPI callbacks. This is only for OpenAPI documentation, the callbacks won't be useddirectly. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for OpenAPI Callbacks. TYPE: |
openapi_extra | Extra metadata to be included in the OpenAPI schema for thispathoperation. Read more about it in theFastAPI docs for Path Operation Advanced Configuration. TYPE: |
generate_unique_id_function | Customize the function used to generate unique IDs for thepathoperations shown in the generated OpenAPI. This is particularly useful when automatically generating clients orSDKs for your API. Read more about it in theFastAPI docs about how to Generate Clients. TYPE: |
Source code infastapi/applications.py
341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784 | |
patch¶
patch(path,*,response_model=Default(None),status_code=None,tags=None,dependencies=None,summary=None,description=None,response_description="Successful Response",responses=None,deprecated=None,operation_id=None,response_model_include=None,response_model_exclude=None,response_model_by_alias=True,response_model_exclude_unset=False,response_model_exclude_defaults=False,response_model_exclude_none=False,include_in_schema=True,response_class=Default(JSONResponse),name=None,callbacks=None,openapi_extra=None,generate_unique_id_function=Default(generate_unique_id))Add apath operation using an HTTP PATCH operation.
Example¶
fromfastapiimportFastAPIfrompydanticimportBaseModelclassItem(BaseModel):name:strdescription:str|None=Noneapp=FastAPI()@app.patch("/items/")defupdate_item(item:Item):return{"message":"Item updated in place"}| PARAMETER | DESCRIPTION |
|---|---|
path | The URL path to be used for thispath operation. For example, in TYPE: |
response_model | The type to use for the response. It could be any valid Pydanticfield type. So, it doesn't have tobe a Pydantic model, it could be other things, like a It will be used for:
Read more about it in theFastAPI docs for Response Model. TYPE: |
status_code | The default status code to be used for the response. You could override the status code by returning a response directly. Read more about it in theFastAPI docs for Response Status Code. TYPE: |
tags | A list of tags to be applied to thepath operation. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for Path Operation Configuration. TYPE: |
dependencies | A list of dependencies (using Read more about it in theFastAPI docs for Dependencies in path operation decorators. TYPE: |
summary | A summary for thepath operation. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for Path Operation Configuration. TYPE: |
description | A description for thepath operation. If not provided, it will be extracted automatically from the docstringof thepath operation function. It can contain Markdown. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for Path Operation Configuration. TYPE: |
response_description | The description for the default response. It will be added to the generated OpenAPI (e.g. visible at TYPE: |
responses | Additional responses that could be returned by thispath operation. It will be added to the generated OpenAPI (e.g. visible at TYPE: |
deprecated | Mark thispath operation as deprecated. It will be added to the generated OpenAPI (e.g. visible at TYPE: |
operation_id | Custom operation ID to be used by thispath operation. By default, it is generated automatically. If you provide a custom operation ID, you need to make sure it isunique for the whole API. You can customize theoperation ID generation with the parameter Read more about it in theFastAPI docs about how to Generate Clients. TYPE: |
response_model_include | Configuration passed to Pydantic to include only certain fields in theresponse data. Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_exclude | Configuration passed to Pydantic to exclude certain fields in theresponse data. Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_by_alias | Configuration passed to Pydantic to define if the response modelshould be serialized by alias when an alias is used. Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_exclude_unset | Configuration passed to Pydantic to define if the response datashould have all the fields, including the ones that were not set andhave their default values. This is different from When Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_exclude_defaults | Configuration passed to Pydantic to define if the response datashould have all the fields, including the ones that have the same valueas the default. This is different from When Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_exclude_none | Configuration passed to Pydantic to define if the response data shouldexclude fields set to This is much simpler (less smart) than Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
include_in_schema | Include thispath operation in the generated OpenAPI schema. This affects the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for Query Parameters and String Validations. TYPE: |
response_class | Response class to be used for thispath operation. This will not be used if you return a response directly. Read more about it in theFastAPI docs for Custom Response - HTML, Stream, File, others. TYPE: |
name | Name for thispath operation. Only used internally. TYPE: |
callbacks | List ofpath operations that will be used as OpenAPI callbacks. This is only for OpenAPI documentation, the callbacks won't be useddirectly. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for OpenAPI Callbacks. TYPE: |
openapi_extra | Extra metadata to be included in the OpenAPI schema for thispathoperation. Read more about it in theFastAPI docs for Path Operation Advanced Configuration. TYPE: |
generate_unique_id_function | Customize the function used to generate unique IDs for thepathoperations shown in the generated OpenAPI. This is particularly useful when automatically generating clients orSDKs for your API. Read more about it in theFastAPI docs about how to Generate Clients. TYPE: |
Source code infastapi/applications.py
37863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162 | |
trace¶
trace(path,*,response_model=Default(None),status_code=None,tags=None,dependencies=None,summary=None,description=None,response_description="Successful Response",responses=None,deprecated=None,operation_id=None,response_model_include=None,response_model_exclude=None,response_model_by_alias=True,response_model_exclude_unset=False,response_model_exclude_defaults=False,response_model_exclude_none=False,include_in_schema=True,response_class=Default(JSONResponse),name=None,callbacks=None,openapi_extra=None,generate_unique_id_function=Default(generate_unique_id))Add apath operation using an HTTP TRACE operation.
Example¶
fromfastapiimportFastAPIapp=FastAPI()@app.trace("/items/{item_id}")deftrace_item(item_id:str):returnNone| PARAMETER | DESCRIPTION |
|---|---|
path | The URL path to be used for thispath operation. For example, in TYPE: |
response_model | The type to use for the response. It could be any valid Pydanticfield type. So, it doesn't have tobe a Pydantic model, it could be other things, like a It will be used for:
Read more about it in theFastAPI docs for Response Model. TYPE: |
status_code | The default status code to be used for the response. You could override the status code by returning a response directly. Read more about it in theFastAPI docs for Response Status Code. TYPE: |
tags | A list of tags to be applied to thepath operation. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for Path Operation Configuration. TYPE: |
dependencies | A list of dependencies (using Read more about it in theFastAPI docs for Dependencies in path operation decorators. TYPE: |
summary | A summary for thepath operation. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for Path Operation Configuration. TYPE: |
description | A description for thepath operation. If not provided, it will be extracted automatically from the docstringof thepath operation function. It can contain Markdown. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for Path Operation Configuration. TYPE: |
response_description | The description for the default response. It will be added to the generated OpenAPI (e.g. visible at TYPE: |
responses | Additional responses that could be returned by thispath operation. It will be added to the generated OpenAPI (e.g. visible at TYPE: |
deprecated | Mark thispath operation as deprecated. It will be added to the generated OpenAPI (e.g. visible at TYPE: |
operation_id | Custom operation ID to be used by thispath operation. By default, it is generated automatically. If you provide a custom operation ID, you need to make sure it isunique for the whole API. You can customize theoperation ID generation with the parameter Read more about it in theFastAPI docs about how to Generate Clients. TYPE: |
response_model_include | Configuration passed to Pydantic to include only certain fields in theresponse data. Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_exclude | Configuration passed to Pydantic to exclude certain fields in theresponse data. Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_by_alias | Configuration passed to Pydantic to define if the response modelshould be serialized by alias when an alias is used. Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_exclude_unset | Configuration passed to Pydantic to define if the response datashould have all the fields, including the ones that were not set andhave their default values. This is different from When Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_exclude_defaults | Configuration passed to Pydantic to define if the response datashould have all the fields, including the ones that have the same valueas the default. This is different from When Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
response_model_exclude_none | Configuration passed to Pydantic to define if the response data shouldexclude fields set to This is much simpler (less smart) than Read more about it in theFastAPI docs for Response Model - Return Type. TYPE: |
include_in_schema | Include thispath operation in the generated OpenAPI schema. This affects the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for Query Parameters and String Validations. TYPE: |
response_class | Response class to be used for thispath operation. This will not be used if you return a response directly. Read more about it in theFastAPI docs for Custom Response - HTML, Stream, File, others. TYPE: |
name | Name for thispath operation. Only used internally. TYPE: |
callbacks | List ofpath operations that will be used as OpenAPI callbacks. This is only for OpenAPI documentation, the callbacks won't be useddirectly. It will be added to the generated OpenAPI (e.g. visible at Read more about it in theFastAPI docs for OpenAPI Callbacks. TYPE: |
openapi_extra | Extra metadata to be included in the OpenAPI schema for thispathoperation. Read more about it in theFastAPI docs for Path Operation Advanced Configuration. TYPE: |
generate_unique_id_function | Customize the function used to generate unique IDs for thepathoperations shown in the generated OpenAPI. This is particularly useful when automatically generating clients orSDKs for your API. Read more about it in theFastAPI docs about how to Generate Clients. TYPE: |
Source code infastapi/applications.py
416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535 | |
on_event¶
on_event(event_type)Add an event handler for the application.
on_event is deprecated, uselifespan event handlers instead.
Read more about it in theFastAPI docs for Lifespan Events.
| PARAMETER | DESCRIPTION |
|---|---|
event_type | The type of event. TYPE: |
Source code infastapi/applications.py
4546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573 | |
middleware¶
middleware(middleware_type)Add a middleware to the application.
Read more about it in theFastAPI docs for Middleware.
Example¶
importtimefromtypingimportAwaitable,CallablefromfastapiimportFastAPI,Request,Responseapp=FastAPI()@app.middleware("http")asyncdefadd_process_time_header(request:Request,call_next:Callable[[Request],Awaitable[Response]])->Response:start_time=time.time()response=awaitcall_next(request)process_time=time.time()-start_timeresponse.headers["X-Process-Time"]=str(process_time)returnresponse| PARAMETER | DESCRIPTION |
|---|---|
middleware_type | The type of middleware. Currently only supports TYPE: |
Source code infastapi/applications.py
457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619 | |
exception_handler¶
exception_handler(exc_class_or_status_code)Add an exception handler to the app.
Read more about it in theFastAPI docs for Handling Errors.
Example¶
fromfastapiimportFastAPI,Requestfromfastapi.responsesimportJSONResponseclassUnicornException(Exception):def__init__(self,name:str):self.name=nameapp=FastAPI()@app.exception_handler(UnicornException)asyncdefunicorn_exception_handler(request:Request,exc:UnicornException):returnJSONResponse(status_code=418,content={"message":f"Oops!{exc.name} did something. There goes a rainbow..."},)| PARAMETER | DESCRIPTION |
|---|---|
exc_class_or_status_code | The Exception class this would handle, or a status code. TYPE: |
Source code infastapi/applications.py
4621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666 | |







