Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

The `deprecated` field from OpenAPI operations is parsed but not exposed to templates

Open
#1,412 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
58/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Stale
Tech stack
python
Domain
tooling

Research direction

Start with the Operation model in openapi_python_client/schema/openapi_schema_pydantic/operation.py and the Endpoint dataclass and constructor in openapi_python_client/parser/openapi.py. Trace how operation data reaches the endpoint passed to Jinja templates, then verify that a deprecated operation exposes endpoint.deprecated and defaults to false when unspecified.

Written by the indexing model from the issue text.

Description

Describe the bug

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: getExample
      deprecated: true
      responses:
        '200':
          description: OK

Desktop (please complete the following information):

  • OS: macOS 26.3
  • Python Version: 3.9.6
  • openapi-python-client version: 0.28.2
Dominant language
Python
Stars
2k
Forks
293
Avg merge
34m
Merged PRs (30d)
1

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from openapi-generators/openapi-python-client

All issues in openapi-generators/openapi-python-client

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.