mirror of
https://github.com/open-webui/open-webui.git
synced 2026-05-06 19:08:59 -05:00
[GH-ISSUE #20359] issue: OpenAPI spec invalid: duplicate operationId and missing path parameter Summary #19170
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @mephmanx on GitHub (Jan 3, 2026).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/20359
Check Existing Issues
Installation Method
Docker
Open WebUI Version
latest
Ollama Version (if applicable)
No response
Operating System
ubuntu 24.04
Browser (if applicable)
No response
Confirmation
README.md.Expected Behavior
swagger doc on the /docs url passes validation
Actual Behavior
The OpenWebUI openapi.json served at openapi.json fails OpenAPI validation. Gravitee’s admission webhook rejects it as an invalid Swagger doc. Local validation reports:
Duplicate operationId under /openai/{path}
Missing path parameter definition for {file_name} in /api/v1/files/{id}/content/{file_name}
Environment
OpenWebUI version: 0.1.0 (from openapi.json info)
Endpoint tested: https://open-webui.teleport.app.suncoast.systems/openapi.json (same issue via cluster service)
Steps to reproduce
openapi.json > openapi.json
Validate with OpenAPI validator:
from openapi_spec_validator import validate_spec
import json
validate_spec(json.load(open("openapi.json")))
Actual result
Validation fails with errors similar to:
DuplicateOperationIDError: Operation ID 'proxy_openai__path__put' for 'delete' in '/openai/{path}' is not unique
UnresolvableParameterError: Path parameter 'file_name' for 'get' operation in '/api/v1/files/{id}/content/{file_name}' was not resolved
Expected result
openapi.json should validate cleanly so tooling (e.g., Gravitee/GKO) can import and render docs.
Suggested fixes
Ensure each operation has a unique operationId (e.g., differentiate by method for /openai/{path}).
Add missing path parameter definitions, e.g. for {file_name} in /api/v1/files/{id}/content/{file_name} (either path-level or per‑operation parameters).
Steps to Reproduce
access /docs url
Logs & Screenshots
no logs or docs
Additional Information
No response