dify - 💡(How to fix) Fix Swagger HTTP endpoints fail with 500 [1 pull requests]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Error Message

2026-05-08 20:34:39,445 ERROR [api.py:581] fd1129ca4b Unable to render schema Traceback (most recent call last): File "/home/chariri/dify/api/.venv/lib/python3.12/site-packages/flask_restx/api.py", line 576, in schema self._schema = Swagger(self).as_dict() ^^^^^^^^^^^^^^^^^^^^^^^ File "/home/chariri/dify/api/.venv/lib/python3.12/site-packages/flask_restx/swagger.py", line 275, in as_dict serialized = self.serialize_resource( ^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/chariri/dify/api/.venv/lib/python3.12/site-packages/flask_restx/swagger.py", line 482, in serialize_resource path[method] = self.serialize_operation(doc, method) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/chariri/dify/api/.venv/lib/python3.12/site-packages/flask_restx/swagger.py", line 488, in serialize_operation "responses": self.responses_for(doc, method) or None, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/chariri/dify/api/.venv/lib/python3.12/site-packages/flask_restx/swagger.py", line 608, in responses_for schema = self.serialize_schema(model) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/chariri/dify/api/.venv/lib/python3.12/site-packages/flask_restx/swagger.py", line 672, in serialize_schema self.register_model(model) File "/home/chariri/dify/api/.venv/lib/python3.12/site-packages/flask_restx/swagger.py", line 703, in register_model self.register_field(field) File "/home/chariri/dify/api/.venv/lib/python3.12/site-packages/flask_restx/swagger.py", line 711, in register_field self.register_model(field.nested) File "/home/chariri/dify/api/.venv/lib/python3.12/site-packages/flask_restx/swagger.py", line 692, in register_model if name not in self.api.models: ^^^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: unhashable type: 'dict' 2026-05-08 20:34:39,450 INFO [_internal.py:97] fd1129ca4b 127.0.0.1 - - [08/May/2026 20:34:39] "GET /console/api/swagger.json HTTP/1.1" 500 -

Fix Action

Fixed

Code Example

2026-05-08 20:34:39,445 ERROR [api.py:581] fd1129ca4b Unable to render schema
Traceback (most recent call last):
  File "/home/chariri/dify/api/.venv/lib/python3.12/site-packages/flask_restx/api.py", line 576, in __schema__
    self._schema = Swagger(self).as_dict()
                   ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/chariri/dify/api/.venv/lib/python3.12/site-packages/flask_restx/swagger.py", line 275, in as_dict
    serialized = self.serialize_resource(
                 ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/chariri/dify/api/.venv/lib/python3.12/site-packages/flask_restx/swagger.py", line 482, in serialize_resource
    path[method] = self.serialize_operation(doc, method)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/chariri/dify/api/.venv/lib/python3.12/site-packages/flask_restx/swagger.py", line 488, in serialize_operation
    "responses": self.responses_for(doc, method) or None,
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/chariri/dify/api/.venv/lib/python3.12/site-packages/flask_restx/swagger.py", line 608, in responses_for
    schema = self.serialize_schema(model)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/chariri/dify/api/.venv/lib/python3.12/site-packages/flask_restx/swagger.py", line 672, in serialize_schema
    self.register_model(model)
  File "/home/chariri/dify/api/.venv/lib/python3.12/site-packages/flask_restx/swagger.py", line 703, in register_model
    self.register_field(field)
  File "/home/chariri/dify/api/.venv/lib/python3.12/site-packages/flask_restx/swagger.py", line 711, in register_field
    self.register_model(field.nested)
  File "/home/chariri/dify/api/.venv/lib/python3.12/site-packages/flask_restx/swagger.py", line 692, in register_model
    if name not in self.api.models:
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: unhashable type: 'dict'
2026-05-08 20:34:39,450 INFO [_internal.py:97] fd1129ca4b 127.0.0.1 - - [08/May/2026 20:34:39] "GET /console/api/swagger.json HTTP/1.1" 500 -
RAW_BUFFERClick to expand / collapse

Self Checks

  • I have read the Contributing Guide and Language Policy.
  • This is only for bug report, if you would like to ask a question, please head to Discussions.
  • I have searched for existing issues search for existing issues, including closed ones.
  • I confirm that I am using English to submit this report, otherwise it will be closed.
  • 【中文用户 & Non English User】请使用英语提交,否则会被关闭 :)
  • Please do not modify this template :) and fill in all the required fields.

Dify version

main branch (203b3a94)

Cloud or Self Hosted

Self Hosted (Docker), Self Hosted (Source)

Steps to reproduce

  1. Start the API server
  2. Access /console/api/swagger.json

✔️ Expected Behavior

A Swagger v2 JSON with API documentation is output.

❌ Actual Behavior

500 is returned, and the following is printed in the server log:

2026-05-08 20:34:39,445 ERROR [api.py:581] fd1129ca4b Unable to render schema
Traceback (most recent call last):
  File "/home/chariri/dify/api/.venv/lib/python3.12/site-packages/flask_restx/api.py", line 576, in __schema__
    self._schema = Swagger(self).as_dict()
                   ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/chariri/dify/api/.venv/lib/python3.12/site-packages/flask_restx/swagger.py", line 275, in as_dict
    serialized = self.serialize_resource(
                 ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/chariri/dify/api/.venv/lib/python3.12/site-packages/flask_restx/swagger.py", line 482, in serialize_resource
    path[method] = self.serialize_operation(doc, method)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/chariri/dify/api/.venv/lib/python3.12/site-packages/flask_restx/swagger.py", line 488, in serialize_operation
    "responses": self.responses_for(doc, method) or None,
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/chariri/dify/api/.venv/lib/python3.12/site-packages/flask_restx/swagger.py", line 608, in responses_for
    schema = self.serialize_schema(model)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/chariri/dify/api/.venv/lib/python3.12/site-packages/flask_restx/swagger.py", line 672, in serialize_schema
    self.register_model(model)
  File "/home/chariri/dify/api/.venv/lib/python3.12/site-packages/flask_restx/swagger.py", line 703, in register_model
    self.register_field(field)
  File "/home/chariri/dify/api/.venv/lib/python3.12/site-packages/flask_restx/swagger.py", line 711, in register_field
    self.register_model(field.nested)
  File "/home/chariri/dify/api/.venv/lib/python3.12/site-packages/flask_restx/swagger.py", line 692, in register_model
    if name not in self.api.models:
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: unhashable type: 'dict'
2026-05-08 20:34:39,450 INFO [_internal.py:97] fd1129ca4b 127.0.0.1 - - [08/May/2026 20:34:39] "GET /console/api/swagger.json HTTP/1.1" 500 -

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

dify - 💡(How to fix) Fix Swagger HTTP endpoints fail with 500 [1 pull requests]