Skip to main content

Param

This class serves as a base for defining request parameters, extending metadata capabilities for data validation and OpenAPI schema generation. It supports a wide range of constraints such as numeric limits, string patterns, and metadata like titles, descriptions, and examples. By inheriting from field information structures, it integrates seamlessly with validation and serialization workflows.

Attributes

AttributeTypeDescription
in_[ParamTypes](paramtypes.md?sid=fastapi_params_paramtypes)The location of the parameter in the HTTP request, defined by the ParamTypes enum.

Constructor

Signature

def Param(
default: Any = Undefined,
default_factory: Callable[[], Any]| None = _Unset,
annotation: Any | None = None,
alias: str | None = None,
alias_priority: int | None = _Unset,
validation_alias: str | AliasPath | AliasChoices | None = None,
serialization_alias: str | None = None,
title: str | None = None,
description: str | None = None,
gt: float | None = None,
ge: float | None = None,
lt: float | None = None,
le: float | None = None,
min_length: int | None = None,
max_length: int | None = None,
pattern: str | None = None,
regex: str | None = None,
discriminator: str | None = None,
strict: bool | None = _Unset,
multiple_of: float | None = _Unset,
allow_inf_nan: bool | None = _Unset,
max_digits: int | None = _Unset,
decimal_places: int | None = _Unset,
examples: list[Any]| None = None,
example: Any | None = _Unset,
openapi_examples: dict[str, [Example](../openapi/models/example.md?sid=fastapi_openapi_models_example)]| None = None,
deprecated: deprecated | str | bool | None = None,
include_in_schema: bool = True,
json_schema_extra: dict[str, Any]| None = None,
extra: Any
) - > null

Parameters

NameTypeDescription
defaultAny = UndefinedThe default value for the parameter.
default_factory`Callable[[], Any]None` = _Unset
annotation`AnyNone` = None
alias`strNone` = None
alias_priority`intNone` = _Unset
validation_alias`strAliasPath
serialization_alias`strNone` = None
title`strNone` = None
description`strNone` = None
gt`floatNone` = None
ge`floatNone` = None
lt`floatNone` = None
le`floatNone` = None
min_length`intNone` = None
max_length`intNone` = None
pattern`strNone` = None
regex`strNone` = None
discriminator`strNone` = None
strict`boolNone` = _Unset
multiple_of`floatNone` = _Unset
allow_inf_nan`boolNone` = _Unset
max_digits`intNone` = _Unset
decimal_places`intNone` = _Unset
examples`list[Any]None` = None
example`AnyNone` = _Unset
openapi_examples`dict[str, Example]None` = None
deprecated`deprecatedstr
include_in_schemabool = TrueWhether to include this parameter in the generated JSON schema.
json_schema_extra`dict[str, Any]None` = None
extraAnyAdditional keyword arguments.

Signature

def Param(
default: Any = Undefined,
default_factory: Callable[[], Any]| None = _Unset,
annotation: Any | None = None,
alias: str | None = None,
alias_priority: int | None = _Unset,
validation_alias: str | AliasPath | AliasChoices | None = None,
serialization_alias: str | None = None,
title: str | None = None,
description: str | None = None,
gt: float | None = None,
ge: float | None = None,
lt: float | None = None,
le: float | None = None,
min_length: int | None = None,
max_length: int | None = None,
pattern: str | None = None,
regex: str | None = None,
discriminator: str | None = None,
strict: bool | None = _Unset,
multiple_of: float | None = _Unset,
allow_inf_nan: bool | None = _Unset,
max_digits: int | None = _Unset,
decimal_places: int | None = _Unset,
examples: list[Any]| None = None,
example: Any | None = _Unset,
openapi_examples: dict[str, [Example](../openapi/models/example.md?sid=fastapi_openapi_models_example)]| None = None,
deprecated: deprecated | str | bool | None = None,
include_in_schema: bool = True,
json_schema_extra: dict[str, Any]| None = None,
extra: Any
) - > null

Parameters

NameTypeDescription
defaultAny = UndefinedThe fixed default value to use if the parameter is not provided in the request.
default_factory`Callable[[], Any]None` = _Unset
annotation`AnyNone` = None
alias`strNone` = None
alias_priority`intNone` = _Unset
validation_alias`strAliasPath
serialization_alias`strNone` = None
title`strNone` = None
description`strNone` = None
gt`floatNone` = None
ge`floatNone` = None
lt`floatNone` = None
le`floatNone` = None
min_length`intNone` = None
max_length`intNone` = None
pattern`strNone` = None
regex`strNone` = None
discriminator`strNone` = None
strict`boolNone` = _Unset
multiple_of`floatNone` = _Unset
allow_inf_nan`boolNone` = _Unset
max_digits`intNone` = _Unset
decimal_places`intNone` = _Unset
examples`list[Any]None` = None
example`AnyNone` = _Unset
openapi_examples`dict[str, Example]None` = None
deprecated`deprecatedstr
include_in_schemabool = TrueWhether this parameter should be visible in the generated OpenAPI/JSON schema.
json_schema_extra`dict[str, Any]None` = None
extraAnyArbitrary keyword arguments for additional metadata or custom configuration.