14 KiB
Non-JSON OpenAPI Responses
Scope: endpoints emitted by api/dev/generate_swagger_specs.py into the generated console, openapi, service, and web specs.
The current Flask-RESTX generator still emits these response entries under application/json. The schema model names below record the actual runtime response intent so contract generation does not treat them as missing annotations.
Binary And Audio
| Spec | Method | Path | Runtime response | Schema |
|---|---|---|---|---|
| console | POST | /apps/{app_id}/text-to-audio |
Audio stream, usually audio/mpeg |
AudioBinaryResponse |
| console | POST | /installed-apps/{installed_app_id}/text-to-audio |
Audio stream, usually audio/mpeg |
AudioBinaryResponse |
| console | POST | /trial-apps/{app_id}/text-to-audio |
Audio stream, usually audio/mpeg |
AudioBinaryResponse |
| web | POST | /text-to-audio |
Audio stream, usually audio/mpeg |
AudioBinaryResponse |
| service | POST | /text-to-audio |
Audio stream, usually audio/mpeg |
AudioBinaryResponse |
| console | POST | /datasets/{dataset_id}/documents/download-zip |
application/zip attachment |
BinaryFileResponse |
| service | POST | /datasets/{dataset_id}/documents/download-zip |
application/zip attachment |
BinaryFileResponse |
| service | GET | /files/{file_id}/preview |
Original file MIME type, optionally attachment | BinaryFileResponse |
| console | GET | /workspaces/current/plugin/icon |
Plugin asset MIME type | BinaryFileResponse |
| console | GET | /workspaces/current/plugin/asset |
application/octet-stream |
BinaryFileResponse |
| console | GET | /workspaces/current/tool-provider/builtin/{provider}/icon |
Tool icon MIME type | BinaryFileResponse |
| console | GET | /workspaces/current/trigger-provider/{provider}/icon |
Trigger icon response | BinaryFileResponse |
| console | GET | /workspaces/{tenant_id}/model-providers/{provider}/{icon_type}/{lang} |
Model provider icon MIME type | BinaryFileResponse |
Text File Exports
| Spec | Method | Path | Runtime response | Schema |
|---|---|---|---|---|
| console | GET | /apps/{app_id}/feedbacks/export |
text/csv attachment by default; format=json returns JSON attachment |
TextFileResponse |
| console | GET | /workspaces/current/customized-snippets/{snippet_id}/export |
application/x-yaml attachment |
TextFileResponse |
Fixed SSE Streams
| Spec | Method | Path | Runtime response | Schema |
|---|---|---|---|---|
| console | GET | /workflow/{workflow_run_id}/events |
text/event-stream |
EventStreamResponse |
| console | GET | /apps/{app_id}/workflows/draft/runs/{run_id}/node-outputs/events |
text/event-stream |
EventStreamResponse |
| console | GET | /apps/{app_id}/workflows/published/runs/{run_id}/node-outputs/events |
text/event-stream |
EventStreamResponse |
| openapi | POST | /apps/{app_id}/run |
text/event-stream |
EventStreamResponse |
| openapi | GET | /apps/{app_id}/tasks/{task_id}/events |
text/event-stream |
EventStreamResponse |
| service | GET | /workflow/{task_id}/events |
text/event-stream |
EventStreamResponse |
| web | GET | /workflow/{task_id}/events |
text/event-stream |
EventStreamResponse |
Generated Responses With Streaming Variants
These endpoints call helper.compact_generate_response(...). They return JSON in blocking mode and text/event-stream in streaming mode. Some console/debug paths always pass streaming=True.
| Spec | Method | Path | Streaming behavior | Schema |
|---|---|---|---|---|
| console | POST | /apps/{app_id}/completion-messages |
response_mode=streaming |
GeneratedAppResponse |
| console | POST | /apps/{app_id}/advanced-chat/workflows/draft/run |
Always streaming | GeneratedAppResponse |
| console | POST | /apps/{app_id}/advanced-chat/workflows/draft/iteration/nodes/{node_id}/run |
Always streaming | GeneratedAppResponse |
| console | POST | /apps/{app_id}/advanced-chat/workflows/draft/loop/nodes/{node_id}/run |
Always streaming | GeneratedAppResponse |
| console | POST | /apps/{app_id}/workflows/draft/run |
Always streaming | GeneratedAppResponse |
| console | POST | /apps/{app_id}/workflows/draft/iteration/nodes/{node_id}/run |
Always streaming | GeneratedAppResponse |
| console | POST | /apps/{app_id}/workflows/draft/loop/nodes/{node_id}/run |
Always streaming | GeneratedAppResponse |
| console | POST | /apps/{app_id}/workflows/draft/trigger/run |
Returns waiting JSON until an event arrives; then streams workflow events | GeneratedAppResponse |
| console | POST | /apps/{app_id}/workflows/draft/trigger/run-all |
Returns waiting JSON until an event arrives; then streams workflow events | GeneratedAppResponse |
| console | GET | /installed-apps/{installed_app_id}/messages/{message_id}/more-like-this |
response_mode=streaming |
GeneratedAppResponse |
| console | POST | /installed-apps/{installed_app_id}/completion-messages |
response_mode=streaming |
GeneratedAppResponse |
| console | POST | /installed-apps/{installed_app_id}/chat-messages |
Always streaming | GeneratedAppResponse |
| console | POST | /installed-apps/{installed_app_id}/workflows/run |
Always streaming | GeneratedAppResponse |
| console | POST | /trial-apps/{app_id}/chat-messages |
Always streaming | GeneratedAppResponse |
| console | POST | /trial-apps/{app_id}/completion-messages |
response_mode=streaming |
GeneratedAppResponse |
| console | POST | /trial-apps/{app_id}/workflows/run |
Always streaming | GeneratedAppResponse |
| console | POST | /snippets/{snippet_id}/workflows/draft/run |
Always streaming | GeneratedAppResponse |
| console | POST | /snippets/{snippet_id}/workflows/draft/iteration/nodes/{node_id}/run |
Always streaming | GeneratedAppResponse |
| console | POST | /snippets/{snippet_id}/workflows/draft/loop/nodes/{node_id}/run |
Always streaming | GeneratedAppResponse |
| console | POST | /rag/pipelines/{pipeline_id}/workflows/draft/run |
Always streaming | RagPipelineOpaqueResponse |
| console | POST | /rag/pipelines/{pipeline_id}/workflows/published/run |
response_mode=streaming |
RagPipelineOpaqueResponse |
| console | POST | /rag/pipelines/{pipeline_id}/workflows/draft/iteration/nodes/{node_id}/run |
Always streaming | RagPipelineOpaqueResponse |
| console | POST | /rag/pipelines/{pipeline_id}/workflows/draft/loop/nodes/{node_id}/run |
Always streaming | RagPipelineOpaqueResponse |
| console | POST | /rag/pipelines/{pipeline_id}/workflows/draft/datasource/nodes/{node_id}/run |
Always streaming | RagPipelineOpaqueResponse |
| console | POST | /rag/pipelines/{pipeline_id}/workflows/published/datasource/nodes/{node_id}/run |
Always streaming | RagPipelineOpaqueResponse |
| service | POST | /completion-messages |
response_mode=streaming |
GeneratedAppResponse |
| service | POST | /chat-messages |
response_mode=streaming; agent apps are streaming-only |
GeneratedAppResponse |
| service | POST | /workflows/run |
response_mode=streaming |
GeneratedAppResponse |
| service | POST | /workflows/{workflow_id}/run |
response_mode=streaming |
GeneratedAppResponse |
| service | POST | /datasets/{dataset_id}/pipeline/run |
response_mode=streaming |
GeneratedAppResponse |
| service | POST | /datasets/{dataset_id}/pipeline/datasource/nodes/{node_id}/run |
Always streaming | GeneratedAppResponse |
| web | POST | /completion-messages |
response_mode=streaming |
GeneratedAppResponse |
| web | POST | /chat-messages |
response_mode=streaming; agent apps are streaming-only |
GeneratedAppResponse |
| web | GET | /messages/{message_id}/more-like-this |
response_mode=streaming |
GeneratedAppResponse |
| web | POST | /workflows/run |
Always streaming | GeneratedAppResponse |
Redirects Not Included In Generated Contracts
These console endpoints are browser redirect flows with no 2xx success response. They are documented in the backend OpenAPI as 302 responses with RedirectResponse, but openapi-ts.api.config.ts excludes 3xx-only operations from the oRPC contract input because they are not JSON contract operations.
| Spec | Method | Path | Runtime response | Schema |
|---|---|---|---|---|
| console | GET | /mcp/oauth/callback |
Redirect to console OAuth result page | RedirectResponse |
| console | GET | /oauth/authorize/{provider} |
Redirect to OAuth authorization URL | RedirectResponse |
| console | GET | /oauth/data-source/callback/{provider} |
Redirect to console with data source OAuth result | RedirectResponse |
| console | GET | /oauth/login/{provider} |
Redirect to OAuth authorization URL | RedirectResponse |
| console | GET | /oauth/plugin/{provider_id}/datasource/callback |
Redirect to console OAuth callback page | RedirectResponse |
| console | GET | /oauth/plugin/{provider}/tool/callback |
Redirect to console tool OAuth result page | RedirectResponse |
| console | GET | /oauth/plugin/{provider}/trigger/callback |
Redirect to console trigger OAuth result page | RedirectResponse |