Skip to main content

Header

Defines a header parameter for an API endpoint, allowing for custom validation, aliases, and metadata for OpenAPI documentation. It supports automatic conversion of underscores to hyphens and provides extensive configuration for data constraints and schema examples.

def Header(
default: Any = Undefined,
default_factory: Callable[[], Any] | None = _Unset,
alias: str | None = null,
alias_priority: int | None = _Unset,
validation_alias: str | AliasPath | AliasChoices | None = null,
serialization_alias: str | None = null,
convert_underscores: bool = true,
title: str | None = null,
description: str | None = null,
gt: float | None = null,
ge: float | None = null,
lt: float | None = null,
le: float | None = null,
min_length: int | None = null,
max_length: int | None = null,
pattern: str | None = null,
regex: str | None = null,
discriminator: str | None = null,
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 = null,
example: Any | None = _Unset,
openapi_examples: dict[str, Example] | None = null,
deprecated: deprecated | str | bool | None = null,
include_in_schema: bool = true,
json_schema_extra: dict[str, Any] | None = null
) - > Any

Defines an HTTP header parameter for a path operation, allowing for validation, metadata, and automatic underscore-to-hyphen conversion.

Parameters

NameTypeDescription
defaultAny = UndefinedDefault value if the parameter field is not set.
default_factory`Callable[[], Any]None` = _Unset
alias`strNone` = null
alias_priority`intNone` = _Unset
validation_alias`strAliasPath
serialization_alias`strNone` = null
convert_underscoresbool = trueAutomatically convert underscores to hyphens in the parameter field name to match standard HTTP header naming conventions.
title`strNone` = null
description`strNone` = null
gt`floatNone` = null
ge`floatNone` = null
lt`floatNone` = null
le`floatNone` = null
min_length`intNone` = null
max_length`intNone` = null
pattern`strNone` = null
regex`strNone` = null
discriminator`strNone` = null
strict`boolNone` = _Unset
multiple_of`floatNone` = _Unset
allow_inf_nan`boolNone` = _Unset
max_digits`intNone` = _Unset
decimal_places`intNone` = _Unset
examples`list[Any]None` = null
example`AnyNone` = _Unset
openapi_examples`dict[str, Example]None` = null
deprecated`deprecatedstr
include_in_schemabool = trueWhether to include this header parameter in the generated OpenAPI documentation.
json_schema_extra`dict[str, Any]None` = null

Returns

TypeDescription
AnyA parameter metadata object used by FastAPI to extract and validate header data from the request.