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
| Name | Type | Description |
|---|---|---|
| default | Any = Undefined | Default value if the parameter field is not set. |
| default_factory | `Callable[[], Any] | None` = _Unset |
| alias | `str | None` = null |
| alias_priority | `int | None` = _Unset |
| validation_alias | `str | AliasPath |
| serialization_alias | `str | None` = null |
| convert_underscores | bool = true | Automatically convert underscores to hyphens in the parameter field name to match standard HTTP header naming conventions. |
| 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 |
| include_in_schema | bool = true | Whether to include this header parameter in the generated OpenAPI documentation. |
| json_schema_extra | `dict[str, Any] | None` = null |
Returns
| Type | Description |
|---|---|
Any | A parameter metadata object used by FastAPI to extract and validate header data from the request. |