Home / Function/ api_route() — fastapi Function Reference

api_route() — fastapi Function Reference

Architecture documentation for the api_route() function in routing.py from the fastapi codebase.

Function python FastAPI Routing calls 2 called by 9

Entity Profile

Dependency Diagram

graph TD
  6a8dad5e_61e5_8086_e2a6_e7db4a0c2ceb["api_route()"]
  ecadd3bc_0c58_b4e5_06d8_57da79199adc["APIRouter"]
  6a8dad5e_61e5_8086_e2a6_e7db4a0c2ceb -->|defined in| ecadd3bc_0c58_b4e5_06d8_57da79199adc
  17bcf28f_7595_a117_1722_327988604d26["api_route()"]
  17bcf28f_7595_a117_1722_327988604d26 -->|calls| 6a8dad5e_61e5_8086_e2a6_e7db4a0c2ceb
  1b892f95_174f_a6fa_5ff9_9cd8b88e8ee0["get()"]
  1b892f95_174f_a6fa_5ff9_9cd8b88e8ee0 -->|calls| 6a8dad5e_61e5_8086_e2a6_e7db4a0c2ceb
  c1007317_485d_af85_4574_92026d01331d["put()"]
  c1007317_485d_af85_4574_92026d01331d -->|calls| 6a8dad5e_61e5_8086_e2a6_e7db4a0c2ceb
  12dce19e_74a0_f6cd_7c8f_689f6d3bd491["post()"]
  12dce19e_74a0_f6cd_7c8f_689f6d3bd491 -->|calls| 6a8dad5e_61e5_8086_e2a6_e7db4a0c2ceb
  7976336e_039f_c69e_acb3_2df2820fae83["delete()"]
  7976336e_039f_c69e_acb3_2df2820fae83 -->|calls| 6a8dad5e_61e5_8086_e2a6_e7db4a0c2ceb
  30dd5917_7bd2_dda4_e8f5_42f8618c5ed8["options()"]
  30dd5917_7bd2_dda4_e8f5_42f8618c5ed8 -->|calls| 6a8dad5e_61e5_8086_e2a6_e7db4a0c2ceb
  36211ab6_1627_aac7_93a9_dc398d2b88a2["head()"]
  36211ab6_1627_aac7_93a9_dc398d2b88a2 -->|calls| 6a8dad5e_61e5_8086_e2a6_e7db4a0c2ceb
  c5bafab2_5f69_c237_195d_2a065cbb446e["patch()"]
  c5bafab2_5f69_c237_195d_2a065cbb446e -->|calls| 6a8dad5e_61e5_8086_e2a6_e7db4a0c2ceb
  1605c2e4_0694_395a_b3dc_f4a9f4da045c["trace()"]
  1605c2e4_0694_395a_b3dc_f4a9f4da045c -->|calls| 6a8dad5e_61e5_8086_e2a6_e7db4a0c2ceb
  27778071_8d5b_35e0_a46c_5aa1fbf21fac["add_api_route()"]
  6a8dad5e_61e5_8086_e2a6_e7db4a0c2ceb -->|calls| 27778071_8d5b_35e0_a46c_5aa1fbf21fac
  28261a63_2ba9_f1ff_1d1b_475348a45a65["Default()"]
  6a8dad5e_61e5_8086_e2a6_e7db4a0c2ceb -->|calls| 28261a63_2ba9_f1ff_1d1b_475348a45a65
  style 6a8dad5e_61e5_8086_e2a6_e7db4a0c2ceb fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

fastapi/routing.py lines 1102–1162

    def api_route(
        self,
        path: str,
        *,
        response_model: Any = Default(None),
        status_code: Optional[int] = None,
        tags: Optional[list[Union[str, Enum]]] = None,
        dependencies: Optional[Sequence[params.Depends]] = None,
        summary: Optional[str] = None,
        description: Optional[str] = None,
        response_description: str = "Successful Response",
        responses: Optional[dict[Union[int, str], dict[str, Any]]] = None,
        deprecated: Optional[bool] = None,
        methods: Optional[list[str]] = None,
        operation_id: Optional[str] = None,
        response_model_include: Optional[IncEx] = None,
        response_model_exclude: Optional[IncEx] = None,
        response_model_by_alias: bool = True,
        response_model_exclude_unset: bool = False,
        response_model_exclude_defaults: bool = False,
        response_model_exclude_none: bool = False,
        include_in_schema: bool = True,
        response_class: type[Response] = Default(JSONResponse),
        name: Optional[str] = None,
        callbacks: Optional[list[BaseRoute]] = None,
        openapi_extra: Optional[dict[str, Any]] = None,
        generate_unique_id_function: Callable[[APIRoute], str] = Default(
            generate_unique_id
        ),
    ) -> Callable[[DecoratedCallable], DecoratedCallable]:
        def decorator(func: DecoratedCallable) -> DecoratedCallable:
            self.add_api_route(
                path,
                func,
                response_model=response_model,
                status_code=status_code,
                tags=tags,
                dependencies=dependencies,
                summary=summary,
                description=description,
                response_description=response_description,
                responses=responses,
                deprecated=deprecated,
                methods=methods,
                operation_id=operation_id,
                response_model_include=response_model_include,
                response_model_exclude=response_model_exclude,
                response_model_by_alias=response_model_by_alias,
                response_model_exclude_unset=response_model_exclude_unset,
                response_model_exclude_defaults=response_model_exclude_defaults,
                response_model_exclude_none=response_model_exclude_none,
                include_in_schema=include_in_schema,
                response_class=response_class,
                name=name,
                callbacks=callbacks,
                openapi_extra=openapi_extra,
                generate_unique_id_function=generate_unique_id_function,
            )
            return func

        return decorator

Domain

Subdomains

Defined In

Frequently Asked Questions

What does api_route() do?
api_route() is a function in the fastapi codebase, defined in fastapi/routing.py.
Where is api_route() defined?
api_route() is defined in fastapi/routing.py at line 1102.
What does api_route() call?
api_route() calls 2 function(s): Default, add_api_route.
What calls api_route()?
api_route() is called by 9 function(s): api_route, delete, get, head, options, patch, post, put, and 1 more.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free