The `deprecated` field from OpenAPI operations is parsed but not exposed to templates · Issue #1412 · openapi-generators/openapi-python-client · GitHub
The deprecated field on OpenAPI operation objects is parsed into the Operation schema model (operation.py#L31), but it is never carried over to the Endpoint dataclass that is passed to Jinja templates (openapi.py#L132-L152).
This means there is no way to check endpoint.deprecated in a custom template to conditionally emit deprecation warnings, docstring annotations, or @deprecated decorators.
The Endpoint dataclass is missing a deprecated: bool field, and the constructor at openapi.py#L419-L427 does not pass data.deprecated through.
Expected behavior
The Endpoint dataclass should include a deprecated: bool = False field, populated from data.deprecated during construction, so that templates can use {% if endpoint.deprecated %} to customize output for deprecated operations.
OpenAPI Spec File
Any spec with a deprecated operation, for example:
paths:
/example:
get:
operationId: getExampledeprecated: trueresponses:
'200':
description: OK
Desktop (please complete the following information):
Activity
nimeshnayaju commented on Mar 11, 2026
Created a PR to address this: #1413