Skip to main content

Path

Declare a path parameter for a path operation. Path parameters are always required and are extracted from the URL path.

Signature

Parameters

Any
default:"..."
Default value if the parameter field is not set. This doesn’t affect Path parameters as the value is always required. The parameter is available only for compatibility.
str | None
default:"None"
An alternative name for the parameter field. This will be used to extract the data and for the generated OpenAPI. Particularly useful when you can’t use the name you want because it is a Python reserved keyword.
str | None
default:"None"
Human-readable title for the parameter.
str | None
default:"None"
Human-readable description for the parameter.
float | None
default:"None"
Greater than validation. If set, the value must be greater than this. Only applicable to numbers.
float | None
default:"None"
Greater than or equal validation. If set, the value must be greater than or equal to this. Only applicable to numbers.
float | None
default:"None"
Less than validation. If set, the value must be less than this. Only applicable to numbers.
float | None
default:"None"
Less than or equal validation. If set, the value must be less than or equal to this. Only applicable to numbers.
int | None
default:"None"
Minimum length for strings.
int | None
default:"None"
Maximum length for strings.
str | None
default:"None"
RegEx pattern for strings.
str | None
default:"None"
Parameter field name for discriminating the type in a tagged union.
bool | None
default:"None"
If True, strict validation is applied to the field.
float | None
default:"None"
Value must be a multiple of this. Only applicable to numbers.
bool | None
default:"None"
Allow inf, -inf, nan. Only applicable to numbers.
int | None
default:"None"
Maximum number of allowed digits for numbers.
int | None
default:"None"
Maximum number of decimal places allowed for numbers.
list[Any] | None
default:"None"
Example values for this field.
bool | str | None
default:"None"
Mark this parameter field as deprecated. It will affect the generated OpenAPI (visible at /docs).
bool
default:"True"
Whether to include this parameter field in the generated OpenAPI.
dict[str, Any] | None
default:"None"
Any additional JSON schema data.

Examples

Basic Path Parameter

Path Parameter with Metadata

Numeric Validations

The item_id must be greater than 0 and less than or equal to 1000.

String Validations

The username must be between 3 and 20 characters and can only contain alphanumeric characters and underscores.

Important Notes

Path parameters are always required. You cannot make them optional or provide default values.
Path parameters are extracted from the URL path template defined in the route decorator (e.g., /items/{item_id}).