From 7e99dab42ecd41c32c24aef0f2f6ed15f169743b Mon Sep 17 00:00:00 2001
From: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
Date: Wed, 5 Feb 2025 12:28:08 -0500
Subject: [PATCH] docs: API for v113 (#6093)
* bump-openapi-doc
* docs: Update API Reference documentation with comprehensive examples and explanations
* docs: Update API Reference documentation with consistent curl command formatting
* configure-build
* docs: Improve API reference documentation clarity for flow execution endpoint
* run-result
* webhook-data
* updates-to-stream-and-run
* bump-api-to-114
* note-on-streaming-responses
* Apply suggestions from code review
Co-authored-by: KimberlyFields <46325568+KimberlyFields@users.noreply.github.com>
* fix-broken-link-in-report
---------
Co-authored-by: KimberlyFields <46325568+KimberlyFields@users.noreply.github.com>
---
.../api-reference-api-examples.md | 2203 +++++++++--------
docs/docs/Components/components-data.md | 2 +-
docs/openapi.json | 1694 ++++++++-----
3 files changed, 2253 insertions(+), 1646 deletions(-)
diff --git a/docs/docs/API-Reference/api-reference-api-examples.md b/docs/docs/API-Reference/api-reference-api-examples.md
index ab0307b97..f3a1107f0 100644
--- a/docs/docs/API-Reference/api-reference-api-examples.md
+++ b/docs/docs/API-Reference/api-reference-api-examples.md
@@ -11,9 +11,11 @@ This page provides examples and practices for managing Langflow using the Langfl
The Langflow API's OpenAPI spec can be viewed and tested at your Langflow deployment's `docs` endpoint.
For example, `http://127.0.0.1:7860/docs`.
-## Export values (optional)
+## Export values
-You might find it helpful to set the following environment variables:
+You might find it helpful to set the following environment variables in your terminal.
+
+The examples in this guide use environment variables for these values.
* Export your Langflow URL in your terminal.
Langflow starts by default at `http://127.0.0.1:7860`.
@@ -32,9 +34,9 @@ To find your folder ID, call the Langflow [/api/v1/folders/](#read-folders) endp
```curl
-curl -X 'GET' \
+curl -X GET \
"$LANGFLOW_URL/api/v1/folders/" \
- -H 'accept: application/json'
+ -H "accept: application/json"
```
@@ -75,45 +77,271 @@ Export the generated API key as an environment variable.
export LANGFLOW_API_KEY="sk-..."
```
-The examples in this guide use environment variables for these values.
+## Base
+
+Use the base Langflow API to run your flow and retrieve configuration information.
+
+### Get all components
+
+This operation returns a dictionary of all Langflow components.
+
+
+
+
+```curl
+curl -X GET \
+ "$LANGFLOW_URL/api/v1/all" \
+ -H "accept: application/json"
+```
+
+
+
+```result
+A dictionary of all Langflow components.
+```
+
+
+
+### Run flow
+
+Execute a specified flow by ID or name.
+The flow is executed as a batch, but LLM responses can be streamed.
+For more configuration options when building your flow, use the [`/build` endpoint](/api-reference-api-examples#build-flow) instead.
+
+
+
+
+```curl
+curl -X POST \
+ "$LANGFLOW_URL/api/v1/run/$FLOW_ID?stream=false" \
+ -H "accept: application/json" \
+ -H "Content-Type: application/json" \
+ -d '{}'
+```
+
+
+
+
+```result
+{"session_id":"947eaf64-bc35-4431-ae52-8b30d819915b","outputs":[{"inputs":{},"outputs":[{"results":{"message":{"text_key":"text","data":{"timestamp":"2025-02-04T21:44:02+00:00","sender":"Machine","sender_name":"AI","session_id":"947eaf64-bc35-4431-ae52-8b30d819915b","text":"Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!","files":[],"error":false,"edit":false,"properties":{"text_color":"","background_color":"","edited":false,"source":{"id":"OpenAIModel-g7uMN","display_name":"OpenAI","source":"gpt-4o-mini"},"icon":"OpenAI","allow_markdown":false,"positive_feedback":null,"state":"complete","targets":[]},"category":"message","content_blocks":[],"id":"dcb15280-a16c-489a-9818-bec697fd123e","flow_id":"947eaf64-bc35-4431-ae52-8b30d819915b"},"default_value":"","text":"Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!","sender":"Machine","sender_name":"AI","files":[],"session_id":"947eaf64-bc35-4431-ae52-8b30d819915b","timestamp":"2025-02-04T21:44:02+00:00","flow_id":"947eaf64-bc35-4431-ae52-8b30d819915b","error":false,"edit":false,"properties":{"text_color":"","background_color":"","edited":false,"source":{"id":"OpenAIModel-g7uMN","display_name":"OpenAI","source":"gpt-4o-mini"},"icon":"OpenAI","allow_markdown":false,"positive_feedback":null,"state":"complete","targets":[]},"category":"message","content_blocks":[]}},"artifacts":{"message":"Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!","sender":"Machine","sender_name":"AI","files":[],"type":"object"},"outputs":{"message":{"message":{"timestamp":"2025-02-04T21:44:02","sender":"Machine","sender_name":"AI","session_id":"947eaf64-bc35-4431-ae52-8b30d819915b","text":"Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!","files":[],"error":false,"edit":false,"properties":{"text_color":"","background_color":"","edited":false,"source":{"id":"OpenAIModel-g7uMN","display_name":"OpenAI","source":"gpt-4o-mini"},"icon":"OpenAI","allow_markdown":false,"positive_feedback":null,"state":"complete","targets":[]},"category":"message","content_blocks":[],"id":"dcb15280-a16c-489a-9818-bec697fd123e","flow_id":"947eaf64-bc35-4431-ae52-8b30d819915b"},"type":"message"}},"logs":{"message":[]},"messages":[{"message":"Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!","sender":"Machine","sender_name":"AI","session_id":"947eaf64-bc35-4431-ae52-8b30d819915b","stream_url":null,"component_id":"ChatOutput-HnFx1","files":[],"type":"message"}],"timedelta":null,"duration":null,"component_display_name":"Chat Output","component_id":"ChatOutput-HnFx1","used_frozen_result":false}]}]}
+```
+
+
+
+
+To stream LLM token responses, append the `?stream=true` query parameter to the request. LLM chat responses are streamed back as `token` events until the `end` event closes the connection.
+
+
+
+
+```curl
+curl -X POST \
+ "$LANGFLOW_URL/api/v1/run/$FLOW_ID?stream=true" \
+ -H "accept: application/json" \
+ -H "Content-Type: application/json" \
+ -H "x-api-key: $LANGFLOW_API_KEY" \
+ -d '{"message": "Tell me something interesting!"}'
+```
+
+
+
+
+```result
+{"event": "add_message", "data": {"timestamp": "2025-02-05T14:46:24", "sender": "User", "sender_name": "User", "session_id": "947eaf64-bc35-4431-ae52-8b30d819915b", "text": "Hello", "files": [], "error": false, "edit": false, "properties": {"text_color": "", "background_color": "", "edited": false, "source": {"id": null, "display_name": null, "source": null}, "icon": "", "allow_markdown": false, "positive_feedback": null, "state": "complete", "targets": []}, "category": "message", "content_blocks": [], "id": "1d6044d6-332c-431a-a50c-dcea5deee4ab", "flow_id": "947eaf64-bc35-4431-ae52-8b30d819915b"}}
+
+{"event": "add_message", "data": {"timestamp": "2025-02-05T14:46:24", "sender": "Machine", "sender_name": "AI", "session_id": "947eaf64-bc35-4431-ae52-8b30d819915b", "text": "", "files": [], "error": false, "edit": false, "properties": {"text_color": "", "background_color": "", "edited": false, "source": {"id": "OpenAIModel-g7uMN", "display_name": "OpenAI", "source": "gpt-4o-mini"}, "icon": "OpenAI", "allow_markdown": false, "positive_feedback": null, "state": "complete", "targets": []}, "category": "message", "content_blocks": [], "id": "be9db128-eaac-49db-bfd7-ed63406ebbcf", "flow_id": "947eaf64-bc35-4431-ae52-8b30d819915b"}}
+
+{"event": "token", "data": {"chunk": "", "id": "be9db128-eaac-49db-bfd7-ed63406ebbcf", "timestamp": "2025-02-05 14:46:25 UTC"}}
+
+{"event": "token", "data": {"chunk": "Hello", "id": "be9db128-eaac-49db-bfd7-ed63406ebbcf", "timestamp": "2025-02-05 14:46:25 UTC"}}
+
+{"event": "token", "data": {"chunk": "!", "id": "be9db128-eaac-49db-bfd7-ed63406ebbcf", "timestamp": "2025-02-05 14:46:25 UTC"}}
+
+{"event": "token", "data": {"chunk": " \ud83c\udf1f", "id": "be9db128-eaac-49db-bfd7-ed63406ebbcf", "timestamp": "2025-02-05 14:46:25 UTC"}}
+
+{"event": "end", "data": {"result": {"session_id": "947eaf64-bc35-4431-ae52-8b30d819915b", "outputs": [{"inputs": {}, "outputs": [{"results": {"message": {"text_key": "text", "data": {"timestamp": "2025-02-05T14:46:24+00:00", "sender": "Machine", "sender_name": "AI", "session_id": "947eaf64-bc35-4431-ae52-8b30d819915b", "text": "", "files": [], "error": false, "edit": false, "properties": {"text_color": "", "background_color": "", "edited": false, "source": {"id": "OpenAIModel-g7uMN", "display_name": "OpenAI", "source": "gpt-4o-mini"}, "icon": "OpenAI", "allow_markdown": false, "positive_feedback": null, "state": "complete", "targets": []}, "category": "message", "content_blocks": [], "id": "be9db128-eaac-49db-bfd7-ed63406ebbcf", "flow_id": "947eaf64-bc35-4431-ae52-8b30d819915b"}, "default_value": "", "text": "", "sender": "Machine", "sender_name": "AI", "files": [], "session_id": "947eaf64-bc35-4431-ae52-8b30d819915b", "timestamp": "2025-02-05T14:46:24+00:00", "flow_id": "947eaf64-bc35-4431-ae52-8b30d819915b", "error": false, "edit": false, "properties": {"text_color": "", "background_color": "", "edited": false, "source": {"id": "OpenAIModel-g7uMN", "display_name": "OpenAI", "source": "gpt-4o-mini"}, "icon": "OpenAI", "allow_markdown": false, "positive_feedback": null, "state": "complete", "targets": []}, "category": "message", "content_blocks": []}, "text": ""}, "artifacts": {"message": "", "sender": "Machine", "sender_name": "AI", "stream_url": "/api/v1/build/947eaf64-bc35-4431-ae52-8b30d819915b/ChatOutput-HnFx1/stream", "files": [], "type": "stream"}, "outputs": {"message": {"message": {"timestamp": "2025-02-05T14:46:24", "sender": "Machine", "sender_name": "AI", "session_id": "947eaf64-bc35-4431-ae52-8b30d819915b", "text": "Hello! \ud83c\udf1f I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", "files": [], "error": false, "edit": false, "properties": {"text_color": "", "background_color": "", "edited": false, "source": {"id": "OpenAIModel-g7uMN", "display_name": "OpenAI", "source": "gpt-4o-mini"}, "icon": "OpenAI", "allow_markdown": false, "positive_feedback": null, "state": "complete", "targets": []}, "category": "message", "content_blocks": [], "id": "be9db128-eaac-49db-bfd7-ed63406ebbcf", "flow_id": "947eaf64-bc35-4431-ae52-8b30d819915b"}, "type": "message"}}, "logs": {"message": []}, "messages": [], "timedelta": null, "duration": null, "component_display_name": "Chat Output", "component_id": "ChatOutput-HnFx1", "used_frozen_result": false}]}]}}}
+```
+
+
+
+
+This result is abbreviated, but illustrates where the `end` event completes the LLM's token streaming response.
+
+### Webhook run flow
+
+The webhook endpoint triggers flow execution with an HTTP POST request.
+
+When a **Webhook** component is added to the workspace, a new **Webhook cURL** tab becomes available in the **API** pane that contains an HTTP POST request for triggering the webhook component, similar to the call in this example.
+
+To test the **Webhook** component in your flow, see the [Webhook component](/components-data#webhook).
+
+
+
+
+```curl
+curl -X POST \
+ "$LANGFLOW_URL/api/v1/webhook/$FLOW_ID" \
+ -H "Content-Type: application/json" \
+ -d '{"data": "example-data"}'
+```
+
+
+
+
+```result
+{
+ {"message":"Task started in the background","status":"in progress"}
+}
+```
+
+
+
+
+### Process
+
+:::info
+This endpoint is deprecated. Use the `/run` endpoint instead.
+:::
+
+### Predict
+
+:::info
+This endpoint is deprecated. Use the `/run` endpoint instead.
+:::
+
+### Get task status
+
+Get the status of a task.
+
+
+
+
+```curl
+curl -X GET \
+ "$LANGFLOW_URL/api/v1/task/TASK_ID" \
+ -H "accept: application/json"
+```
+
+
+
+
+```result
+{
+ "status": "Task status",
+ "result": "Task result if completed"
+}
+```
+
+
+
+
+### Create upload file (Deprecated)
+
+:::info
+This endpoint is deprecated. Use the `/file` endpoint instead.
+:::
+
+### Get version
+
+Get the version of the Langflow API.
+
+
+
+
+```curl
+curl -X GET \
+ "$LANGFLOW_URL/api/v1/version" \
+ -H "accept: application/json"
+```
+
+
+
+
+```result
+{
+ "version": "1.1.1",
+ "main_version": "1.1.1",
+ "package": "Langflow"
+}
+```
+
+
+
+
+### Get config
+
+Retrieve the Langflow configuration information.
+
+
+
+
+```curl
+curl -X GET \
+ "$LANGFLOW_URL/api/v1/config" \
+ -H "accept: application/json"
+```
+
+
+
+
+```plain
+{
+ "feature_flags": {
+ "mvp_components": false
+ },
+ "frontend_timeout": 0,
+ "auto_saving": true,
+ "auto_saving_interval": 1000,
+ "health_check_max_retries": 5,
+ "max_file_size_upload": 100
+}
+```
+
+
+
+
## Build
-Use the `/build` endpoint to build vertices and flows.
+Use the `/build` endpoint to build vertices and flows, and execute those flows with streaming event responses.
+
+The `/build` endpoint offers additional configuration for running flows.
+
+For a simpler execution of your flows, use the [`/run` endpoint](/api-reference-api-examples#run-flow) instead.
### Build flow
This example builds a flow with a given `flow_id`.
-LLM chat responses are streamed back as `token` events until the `end` event closes the connection.
-
```curl
-curl -X 'POST' \
+curl -X POST \
"$LANGFLOW_URL/api/v1/build/$FLOW_ID/flow" \
- -H 'accept: application/json' \
- -H 'Content-Type: application/json' \
+ -H "accept: application/json" \
+ -H "Content-Type: application/json" \
-H "x-api-key: $LANGFLOW_API_KEY" \
- -d '{"message": "hello, how are you doing?"}'
+ -d '{"input_value": "hello, how are you doing?"}'
```
```plain
-{"event": "vertices_sorted", "data": {"ids": ["Prompt-CDhMB", "ChatInput-8VNJS"], "to_run": ["ChatOutput-Up0tW", "OpenAIModel-mXCyV", "Prompt-CDhMB", "ChatInput-8VNJS"]}}
+{"event": "vertices_sorted", "data": {"ids": ["ChatInput-TAEvF"], "to_run": ["Prompt-2gtLN", "ChatInput-TAEvF", "ChatOutput-HnFx1", "OpenAIModel-g7uMN"]}}
-{"event": "add_message", "data": {"timestamp": "2025-01-13T21:27:27", "sender": "User", "sender_name": "User", "session_id": "b68d9bfb-6382-455a-869b-b99a3a3a3cf6", "text": "", "files": [], "error": false, "edit": false, "properties": {"text_color": "", "background_color": "", "edited": false, "source": {"id": null, "display_name": null, "source": null}, "icon": "", "allow_markdown": false, "positive_feedback": null, "state": "complete", "targets": []}, "category": "message", "content_blocks": [], "id": "3942f4e3-4fff-4507-bb58-c96c7b6b8515", "flow_id": "b68d9bfb-6382-455a-869b-b99a3a3a3cf6"}}
+{"event": "add_message", "data": {"timestamp": "2025-02-05T14:45:33", "sender": "User", "sender_name": "User", "session_id": "947eaf64-bc35-4431-ae52-8b30d819915b", "text": "Hello", "files": [], "error": false, "edit": false, "properties": {"text_color": "", "background_color": "", "edited": false, "source": {"id": null, "display_name": null, "source": null}, "icon": "", "allow_markdown": false, "positive_feedback": null, "state": "complete", "targets": []}, "category": "message", "content_blocks": [], "id": "12be981b-9816-4361-b0f9-ce65d0ba6cc1", "flow_id": "947eaf64-bc35-4431-ae52-8b30d819915b"}}
-{"event": "end_vertex", "data": {"build_data": {"id": "Prompt-CDhMB", "inactivated_vertices": [], "next_vertices_ids": [], "top_level_vertices": [], "valid": true, "params": "None", "data": {"results": {}, "outputs": {"prompt": {"message": "You are a helpful AI assistant", "type": "text"}}, "logs": {"prompt": []}, "message": {"prompt": {"repr": "You are a helpful AI assistant", "raw": "You are a helpful AI assistant", "type": "text"}}, "artifacts": {"prompt": {"repr": "You are a helpful AI assistant", "raw": "You are a helpful AI assistant", "type": "text"}}, "timedelta": 0.007543042069301009, "duration": "8 ms", "used_frozen_result": false}, "timestamp": "2025-01-13T21:27:27.231841Z"}}}
+{"event": "end_vertex", "data": {"build_data": {"id": "ChatInput-TAEvF", "inactivated_vertices": [], "next_vertices_ids": ["Prompt-2gtLN"], "top_level_vertices": ["Prompt-2gtLN"], "valid": true, "params": "- Files: []\n Message: Hello\n Sender: User\n Sender Name: User\n Type: object\n", "data": {"results": {"message": {"text_key": "text", "data": {"timestamp": "2025-02-05T14:45:33+00:00", "sender": "User", "sender_name": "User", "session_id": "947eaf64-bc35-4431-ae52-8b30d819915b", "text": "Hello", "files": [], "error": false, "edit": false, "properties": {"text_color": "", "background_color": "", "edited": false, "source": {"id": null, "display_name": null, "source": null}, "icon": "", "allow_markdown": false, "positive_feedback": null, "state": "complete", "targets": []}, "category": "message", "content_blocks": [], "id": "12be981b-9816-4361-b0f9-ce65d0ba6cc1", "flow_id": "947eaf64-bc35-4431-ae52-8b30d819915b"}, "default_value": "", "text": "Hello", "sender": "User", "sender_name": "User", "files": [], "session_id": "947eaf64-bc35-4431-ae52-8b30d819915b", "timestamp": "2025-02-05T14:45:33+00:00", "flow_id": "947eaf64-bc35-4431-ae52-8b30d819915b", "error": false, "edit": false, "properties": {"text_color": "", "background_color": "", "edited": false, "source": {"id": null, "display_name": null, "source": null}, "icon": "", "allow_markdown": false, "positive_feedback": null, "state": "complete", "targets": []}, "category": "message", "content_blocks": []}}, "outputs": {"message": {"message": {"timestamp": "2025-02-05T14:45:33+00:00", "sender": "User", "sender_name": "User", "session_id": "947eaf64-bc35-4431-ae52-8b30d819915b", "text": "Hello", "files": [], "error": false, "edit": false, "properties": {"text_color": "", "background_color": "", "edited": false, "source": {"id": null, "display_name": null, "source": null}, "icon": "", "allow_markdown": false, "positive_feedback": null, "state": "complete", "targets": []}, "category": "message", "content_blocks": [], "id": "12be981b-9816-4361-b0f9-ce65d0ba6cc1", "flow_id": "947eaf64-bc35-4431-ae52-8b30d819915b"}, "type": "message"}}, "logs": {"message": []}, "message": {"message": "Hello", "sender": "User", "sender_name": "User", "files": [], "type": "object"}, "artifacts": {"message": "Hello", "sender": "User", "sender_name": "User", "files": [], "type": "object"}, "timedelta": 0.01409304200205952, "duration": "14 ms", "used_frozen_result": false}, "timestamp": "2025-02-05T14:45:33.486696Z"}}}
-{"event": "token", "data": {"chunk": "", "id": "fda55d2e-d24c-498e-92a8-03ca2141265e", "timestamp": "2025-01-13 21:27:27 UTC"}}
+{"event": "end_vertex", "data": {"build_data": {"id": "Prompt-2gtLN", "inactivated_vertices": [], "next_vertices_ids": ["OpenAIModel-g7uMN"], "top_level_vertices": ["OpenAIModel-g7uMN"], "valid": true, "params": "None", "data": {"results": {}, "outputs": {"prompt": {"message": "Answer the user as if you were a GenAI expert, enthusiastic about helping them get started building something fresh.", "type": "text"}}, "logs": {"prompt": []}, "message": {"prompt": {"repr": "Answer the user as if you were a GenAI expert, enthusiastic about helping them get started building something fresh.", "raw": "Answer the user as if you were a GenAI expert, enthusiastic about helping them get started building something fresh.", "type": "text"}}, "artifacts": {"prompt": {"repr": "Answer the user as if you were a GenAI expert, enthusiastic about helping them get started building something fresh.", "raw": "Answer the user as if you were a GenAI expert, enthusiastic about helping them get started building something fresh.", "type": "text"}}, "timedelta": 0.005742790992371738, "duration": "6 ms", "used_frozen_result": false}, "timestamp": "2025-02-05T14:45:33.503829Z"}}}
-{"event": "token", "data": {"chunk": "Hello", "id": "fda55d2e-d24c-498e-92a8-03ca2141265e", "timestamp": "2025-01-13 21:27:27 UTC"}}
+{"event": "end_vertex", "data": {"build_data": {"id": "OpenAIModel-g7uMN", "inactivated_vertices": [], "next_vertices_ids": ["ChatOutput-HnFx1"], "top_level_vertices": ["ChatOutput-HnFx1"], "valid": true, "params": "None", "data": {"results": {}, "outputs": {"text_output": {"message": "Hello! \ud83c\udf1f I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", "type": "text"}, "model_output": {"message": "", "type": "unknown"}}, "logs": {"text_output": []}, "message": {"text_output": {"repr": "Hello! \ud83c\udf1f I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", "raw": "Hello! \ud83c\udf1f I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", "type": "text"}}, "artifacts": {"text_output": {"repr": "Hello! \ud83c\udf1f I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", "raw": "Hello! \ud83c\udf1f I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", "type": "text"}}, "timedelta": 1.8065362079942133, "duration": "1.81 seconds", "used_frozen_result": false}, "timestamp": "2025-02-05T14:45:35.310876Z"}}}
-{"event": "token", "data": {"chunk": "!", "id": "fda55d2e-d24c-498e-92a8-03ca2141265e", "timestamp": "2025-01-13 21:27:27 UTC"}}
+{"event": "add_message", "data": {"timestamp": "2025-02-05T14:45:35", "sender": "Machine", "sender_name": "AI", "session_id": "947eaf64-bc35-4431-ae52-8b30d819915b", "text": "Hello! \ud83c\udf1f I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", "files": [], "error": false, "edit": false, "properties": {"text_color": "", "background_color": "", "edited": false, "source": {"id": "OpenAIModel-g7uMN", "display_name": "OpenAI", "source": "gpt-4o-mini"}, "icon": "OpenAI", "allow_markdown": false, "positive_feedback": null, "state": "complete", "targets": []}, "category": "message", "content_blocks": [], "id": "56db271c-1dab-4a47-8464-d0058ac0943b", "flow_id": "947eaf64-bc35-4431-ae52-8b30d819915b"}}
+
+{"event": "end_vertex", "data": {"build_data": {"id": "ChatOutput-HnFx1", "inactivated_vertices": [], "next_vertices_ids": [], "top_level_vertices": [], "valid": true, "params": "- Files: []\n Message: Hello! \ud83c\udf1f I'm excited to help you get started on your journey to building\n something fresh! What do you have in mind? Whether it's a project, an idea, or\n a concept, let's dive in and make it happen!\n Sender: Machine\n Sender Name: AI\n Type: object\n", "data": {"results": {"message": {"text_key": "text", "data": {"timestamp": "2025-02-05T14:45:35+00:00", "sender": "Machine", "sender_name": "AI", "session_id": "947eaf64-bc35-4431-ae52-8b30d819915b", "text": "Hello! \ud83c\udf1f I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", "files": [], "error": false, "edit": false, "properties": {"text_color": "", "background_color": "", "edited": false, "source": {"id": "OpenAIModel-g7uMN", "display_name": "OpenAI", "source": "gpt-4o-mini"}, "icon": "OpenAI", "allow_markdown": false, "positive_feedback": null, "state": "complete", "targets": []}, "category": "message", "content_blocks": [], "id": "56db271c-1dab-4a47-8464-d0058ac0943b", "flow_id": "947eaf64-bc35-4431-ae52-8b30d819915b"}, "default_value": "", "text": "Hello! \ud83c\udf1f I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", "sender": "Machine", "sender_name": "AI", "files": [], "session_id": "947eaf64-bc35-4431-ae52-8b30d819915b", "timestamp": "2025-02-05T14:45:35+00:00", "flow_id": "947eaf64-bc35-4431-ae52-8b30d819915b", "error": false, "edit": false, "properties": {"text_color": "", "background_color": "", "edited": false, "source": {"id": "OpenAIModel-g7uMN", "display_name": "OpenAI", "source": "gpt-4o-mini"}, "icon": "OpenAI", "allow_markdown": false, "positive_feedback": null, "state": "complete", "targets": []}, "category": "message", "content_blocks": []}}, "outputs": {"message": {"message": {"timestamp": "2025-02-05T14:45:35+00:00", "sender": "Machine", "sender_name": "AI", "session_id": "947eaf64-bc35-4431-ae52-8b30d819915b", "text": "Hello! \ud83c\udf1f I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", "files": [], "error": false, "edit": false, "properties": {"text_color": "", "background_color": "", "edited": false, "source": {"id": "OpenAIModel-g7uMN", "display_name": "OpenAI", "source": "gpt-4o-mini"}, "icon": "OpenAI", "allow_markdown": false, "positive_feedback": null, "state": "complete", "targets": []}, "category": "message", "content_blocks": [], "id": "56db271c-1dab-4a47-8464-d0058ac0943b", "flow_id": "947eaf64-bc35-4431-ae52-8b30d819915b"}, "type": "message"}}, "logs": {"message": []}, "message": {"message": "Hello! \ud83c\udf1f I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", "sender": "Machine", "sender_name": "AI", "files": [], "type": "object"}, "artifacts": {"message": "Hello! \ud83c\udf1f I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", "sender": "Machine", "sender_name": "AI", "files": [], "type": "object"}, "timedelta": 0.02948787499917671, "duration": "29 ms", "used_frozen_result": false}, "timestamp": "2025-02-05T14:45:35.345598Z"}}}
{"event": "end", "data": {}}
```
@@ -125,7 +353,7 @@ This output is abbreviated, but the order of events illustrates how Langflow run
1. Langflow first sorts the vertices by dependencies (edges) in the `vertices_sorted` event:
```
-ChatInput-8VNJS → Prompt-CDhMB → OpenAIModel-mXCyV → ChatOutput-Up0tW
+ChatInput → Prompt → OpenAIModel → ChatOutput
```
2. The Chat Input component receives user input in the `add_message` event.
3. The Prompt component is built and executed with the received input in the `end_vertex` event.
@@ -134,966 +362,51 @@ The `token` event represents individual pieces of text as they're generated by a
5. The clean `end` event tells you the flow executed with no errors.
If your flow executes with errors, the `error` event handler prints the errors to the playground.
-You can also pass values for `start_component_id` and `stop_component_id` in the body of the command to control where the flow run will start and stop.
+### Configure the build endpoint
+
+The `/build` endpoint accepts values for `start_component_id` and `stop_component_id` to control where the flow run will start and stop.
+Setting `stop_component_id` for a component triggers the same behavior as clicking the **Play** button on that component, where all dependent components leading up to that component are also run.
For example, to stop flow execution at the Open AI model component, run the following command:
```curl
-curl -X 'POST' \
+curl -X POST \
"$LANGFLOW_URL/api/v1/build/$FLOW_ID/flow" \
- -H 'accept: application/json' \
- -H 'Content-Type: application/json' \
+ -H "accept: application/json" \
+ -H "Content-Type: application/json" \
-H "x-api-key: $LANGFLOW_API_KEY" \
-d '{"stop_component_id": "OpenAIModel-Uksag"}'
```
-## Flows
-
-Use the `/flows` endpoint to create, read, update, and delete flows.
-
-### Create flow
-
-Create a new flow.
+The `/build` endpoint also accepts inputs for `data` directly, instead of using the values stored in the Langflow database.
+This is useful for running flows without having to pass custom values through the UI.
-
+
```curl
-curl -X 'POST' \
- "$LANGFLOW_URL/api/v1/flows/" \
- -H 'accept: application/json' \
- -H 'Content-Type: application/json' \
+curl -X POST \
+ "$LANGFLOW_URL/api/v1/build/$FLOW_ID/flow" \
+ -H "accept: application/json" \
+ -H "Content-Type: application/json" \
-d '{
- "name": "string2",
- "description": "string",
- "icon": "string",
- "icon_bg_color": "#FF0000",
- "gradient": "string",
- "data": {},
- "is_component": false,
- "updated_at": "2024-12-30T15:48:01.519Z",
- "webhook": false,
- "endpoint_name": "string",
- "tags": [
- "string"
- ],
- "locked": false,
- "user_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
- "folder_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
-}'
-```
-
-
-
-
-```plain
-{
- "name": "Untitled document (2)",
- "description": "Conversational Cartography Unlocked.",
- "icon": null,
- "icon_bg_color": null,
- "gradient": null,
"data": {
- "nodes": [],
- "edges": [],
- "viewport": {
- "zoom": 1,
- "x": 0,
- "y": 0
- }
+ "nodes": [],
+ "edges": []
},
- "is_component": false,
- "updated_at": "2024-12-30T15:48:53+00:00",
- "webhook": false,
- "endpoint_name": null,
- "tags": null,
- "locked": false,
- "id": "91be355a-3cd1-46b2-89c0-6b416391ad95",
- "user_id": "f58396d4-a387-4bb8-b749-f40825c3d9f3",
- "folder_id": "1415de42-8f01-4f36-bf34-539f23e47466"
-}
-```
-
-
-
-
-### Read flows
-
-Retrieve a list of flows with pagination support.
-
-
-
-
-```bash
-curl -X 'GET' \
- "$LANGFLOW_URL/api/v1/flows/?remove_example_flows=false&components_only=false&get_all=true&header_flows=false&page=1&size=50" \
- -H 'accept: application/json'
-```
-
-
-
-
-
-```plain
-A JSON object containing a list of flows.
-```
-
-
-
-To retrieve only the flows from a specific folder, pass `folder_id` in the query string.
-
-
-
-
-
-```bash
-curl -X 'GET' \
- "$LANGFLOW_URL/api/v1/flows/?remove_example_flows=true&components_only=false&get_all=false&folder_id=$FOLDER_ID&header_flows=false&page=1&size=1" \
- -H 'accept: application/json'
-```
-
-
-
-
-
-```plain
-A JSON object containing a list of flows.
-```
-
-
-
-
-### Read flow
-
-Read a specific flow by its ID.
-
-
-
-
-```bash
-curl -X 'GET' \
- "$LANGFLOW_URL/api/v1/flows/$FLOW_ID" \
- -H 'accept: application/json'
-```
-
-
-
-
-
-```json
-{
- "name": "Basic Prompting",
- "description": "Perform basic prompting with an OpenAI model.",
- "icon": "Braces",
- "icon_bg_color": null,
- "gradient": "2",
- "data": {
- "nodes": [
- ...
- ]
- }
-}
-```
-
-
-
-
-### Update flow
-
-Update an existing flow by its ID.
-
-This example changes the value for `endpoint_name` from a random UUID to `my_new_endpoint_name`.
-
-
-
-
-```bash
-curl -X 'PATCH' \
- "$LANGFLOW_URL/api/v1/flows/$FLOW_ID" \
- -H 'accept: application/json' \
- -H 'Content-Type: application/json' \
- -d '{
- "name": "string",
- "description": "string",
- "data": {},
- "folder_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
- "endpoint_name": "my_new_endpoint_name",
- "locked": true
-}'
-```
-
-
-
-
-```json
-{
- "name": "string",
- "description": "string",
- "icon": "Braces",
- "icon_bg_color": null,
- "gradient": "2",
- "data": {},
- "is_component": false,
- "updated_at": "2024-12-30T18:30:22+00:00",
- "webhook": false,
- "endpoint_name": "my_new_endpoint_name",
- "tags": null,
- "locked": true,
- "id": "01ce083d-748b-4b8d-97b6-33adbb6a528a",
- "user_id": "f58396d4-a387-4bb8-b749-f40825c3d9f3",
- "folder_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
-}
-```
-
-
-
-
-### Delete flow
-
-Delete a specific flow by its ID.
-
-
-
-
-```bash
-curl -X 'DELETE' \
- "$LANGFLOW_URL/api/v1/flows/$FLOW_ID" \
- -H 'accept: application/json'
-```
-
-
-
-
-
-```json
-{
- "message": "Flow deleted successfully"
-}
-```
-
-
-
-
-### Create flows
-
-Create multiple new flows.
-
-
-
-
-```curl
-curl -X 'POST' \
- "$LANGFLOW_URL/api/v1/flows/batch/" \
- -H 'accept: application/json' \
- -H 'Content-Type: application/json' \
- -d '{
- "flows": [
- {
- "name": "string",
- "description": "string",
- "icon": "string",
- "icon_bg_color": "string",
- "gradient": "string",
- "data": {},
- "is_component": false,
- "updated_at": "2024-12-30T18:36:02.737Z",
- "webhook": false,
- "endpoint_name": "string",
- "tags": [
- "string"
- ],
- "locked": false,
- "user_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
- "folder_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
- },
- {
- "name": "string",
- "description": "string",
- "icon": "string",
- "icon_bg_color": "string",
- "gradient": "string",
- "data": {},
- "is_component": false,
- "updated_at": "2024-12-30T18:36:02.737Z",
- "webhook": false,
- "endpoint_name": "string",
- "tags": [
- "string"
- ],
- "locked": false,
- "user_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
- "folder_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
+ "inputs": {
+ "input_value": "Your custom input here",
+ "session": "session_id"
}
- ]
-}'
+ }'
```
```json
-[
- {
- // FlowRead objects
- }
-]
-```
+{"event": "vertices_sorted", "data": {"ids": [], "to_run": []}}
-
-
-
-### Upload flows
-
-Upload flows from a file.
-
-This example uploads a local file named `agent-with-astra-db-tool.json`.
-
-
-
-
-```curl
-curl -X 'POST' \
- "$LANGFLOW_URL/api/v1/flows/upload/?folder_id=$FOLDER_ID" \
- -H 'accept: application/json' \
- -H 'Content-Type: multipart/form-data' \
- -F 'file=@agent-with-astra-db-tool.json;type=application/json'
-```
-
-
-
-
-```json
-[
- {
- "name": "agent-with-astra-db-tool",
- "description": "",
- "icon": null,
- "icon_bg_color": null,
- "gradient": null,
- "data": {}
- ...
- }
-]
-```
-
-
-
-To specify a target folder for the flow, include the query parameter `folder_id`.
-The target `folder_id` must already exist before uploading a flow. Call the [/api/v1/folders/](#read-folders) endpoint for a list of available folders.
-
-```curl
-curl -X 'POST' \
- "$LANGFLOW_URL/api/v1/flows/upload/?folder_id=$FOLDER_ID" \
- -H 'accept: application/json' \
- -H 'Content-Type: multipart/form-data' \
- -F 'file=@agent-with-astra-db-tool.json;type=application/json'
-```
-
-### Download all flows
-
-Download all flows as a ZIP file.
-
-This endpoint downloads a ZIP file containing flows for all `flow-id` values listed in the command's body.
-
-
-
-
-```curl
-curl -X 'POST' \
- "$LANGFLOW_URL/api/v1/flows/download/" \
- -H 'accept: application/json' \
- -H 'Content-Type: application/json' \
- -d '[
- "e1e40c77-0541-41a9-88ab-ddb3419398b5", "92f9a4c5-cfc8-4656-ae63-1f0881163c28"
-]' \
- --output langflow-flows.zip
-```
-
-
-
-
-```plain
- % Total % Received % Xferd Average Speed Time Time Time Current
- Dload Upload Total Spent Left Speed
-100 76437 0 76353 100 84 4516k 5088 --:--:-- --:--:-- --:--:-- 4665k
-```
-
-
-
-### Read basic examples
-
-Retrieve a list of basic example flows.
-
-
-
-
-```curl
-curl -X 'GET' \
- "$LANGFLOW_URL/api/v1/flows/basic_examples/" \
- -H 'accept: application/json'
-```
-
-
-
-
-```plain
-A list of example flows.
-```
-
-
-
-
-
-## Monitor
-
-Use the `/monitor` endpoint to monitor and modify messages passed between Langflow components, vertex builds, and transactions.
-
-### Get Vertex builds
-
-Retrieve Vertex builds for a specific flow.
-
-
-
-
-```curl
-curl -X 'GET' \
- "$LANGFLOW_URL/api/v1/monitor/builds?flow_id=$FLOW_ID" \
- -H 'accept: application/json'
-```
-
-
-
-
-```plain
-{"vertex_builds":{"ChatInput-NCmix":[{"data":{"results":{"message":{"text_key":"text","data":{"timestamp":"2024-12-23 19:10:57","sender":"User","sender_name":"User","session_id":"01ce083d-748b-4b8d-97b6-33adbb6a528a","text":"Hello","files":[],"error":"False","edit":"False","properties":{"text_color":"","background_color":"","edited":"False","source":{"id":"None","display_name":"None","source":"None"},"icon":"","allow_markdown":"False","positive_feedback":"None","state":"complete","targets":[]},"category":"message","content_blocks":[],"id":"c95bed34-f906-4aa6-84e4-68553f6db772","flow_id":"01ce083d-748b-4b8d-97b6-33adbb6a528a"},"default_value":"","text":"Hello","sender":"User","sender_name":"User","files":[],"session_id":"01ce083d-748b-4b8d-97b6-33adbb6a528a","timestamp":"2024-12-23 19:10:57+00:00","flow_id":"01ce083d-748b-4b8d-97b6-33adbb6a528a","error":"False","edit":"False","properties":{"text_color":"","background_color":"","edited":"False","source":{"id":"None","display_name":"None","source":"None"},"icon":"","allow_markdown":"False","positive_feedback":"None","state":"complete","targets":[]},"category":"message","content_blocks":[]}},"outputs":{"message":{"message":{"timestamp":"2024-12-23T19:10:57","sender":"User","sender_name":"User","session_id":"01ce083d-748b-4b8d-97b6-33adbb6a528a","text":"Hello","files":[],"error":false,"edit":false,"properties":{"text_color":"","background_color":"","edited":false,"source":{"id":null,"display_name":null,"source":null},"icon":"","allow_markdown":false,"positive_feedback":null,"state":"complete","targets":[]},"category":"message","content_blocks":[],"id":"c95bed34-f906-4aa6-84e4-68553f6db772","flow_id":"01ce083d-748b-4b8d-97b6-33adbb6a528a"},"type":"object"}},"logs":{"message":[]},"message":{"message":"Hello","sender":"User","sender_name":"User","files":[],"type":"object"},"artifacts":{"message":"Hello","sender":"User","sender_name":"User","files":[],"type":"object"},"timedelta":0.015060124918818474,"duration":"15 ms","used_frozen_result":false},"artifacts":{"message":"Hello","sender":"User","sender_name":"User","files":[],"type":"object"},"params":"- Files: []\n Message: Hello\n Sender: User\n Sender Name: User\n Type: object\n","valid":true,"build_id":"40aa200e-74db-4651-b698-f80301d2b26b","id":"ChatInput-NCmix","timestamp":"2024-12-23T19:10:58.772766Z","flow_id":"01ce083d-748b-4b8d-97b6-33adbb6a528a"}],"Prompt-BEn9c":[{"data":{"results":{},"outputs":{"prompt":{"message":"Answer the user as if you were a GenAI expert, enthusiastic about helping them get started building something fresh.","type":"text"}},"logs":{"prompt":[]},"message":{"prompt":{"repr":"Answer the user as if you were a GenAI expert, enthusiastic about helping them get started building something fresh.","raw":"Answer the user as if you were a GenAI expert, enthusiastic about helping them get started building something fresh.","type":"text"}},"artifacts":{"prompt":{"repr":"Answer the user as if you were a GenAI expert, enthusiastic about helping them get started building something fresh.","raw":"Answer the user as if you were a GenAI expert, enthusiastic about helping them get started building something fresh.","type":"text"}},"timedelta":0.0057758750626817346,"duration":"6 ms","used_frozen_result":false},"artifacts":{"prompt":{"repr":"Answer the user as if you were a GenAI expert, enthusiastic about helping them get started building something fresh.","raw":"Answer the user as if you were a GenAI expert, enthusiastic about helping them get started building something fresh.","type":"text"}},"params":"None","valid":true,"build_id":"39bbbfde-97fd-42a5-a9ed-d42a5c5d532b","id":"Prompt-BEn9c","timestamp":"2024-12-23T19:10:58.781019Z","flow_id":"01ce083d-748b-4b8d-97b6-33adbb6a528a"}],"OpenAIModel-7AjrN":[{"data":{"results":{},"outputs":{"text_output":{"message":"Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!","type":"text"},"model_output":{"message":"","type":"unknown"}},"logs":{"text_output":[]},"message":{"text_output":{"repr":"Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!","raw":"Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!","type":"text"}},"artifacts":{"text_output":{"repr":"Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!","raw":"Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!","type":"text"}},"timedelta":1.034765167045407,"duration":"1.03 seconds","used_frozen_result":false},"artifacts":{"text_output":{"repr":"Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!","raw":"Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!","type":"text"}},"params":"None","valid":true,"build_id":"4f0ae730-a266-4d35-b89f-7b825c620a0f","id":"OpenAIModel-7AjrN","timestamp":"2024-12-23T19:10:58.790484Z","flow_id":"01ce083d-748b-4b8d-97b6-33adbb6a528a"}],"ChatOutput-sfUhT":[{"data":{"results":{"message":{"text_key":"text","data":{"timestamp":"2024-12-23 19:10:58","sender":"Machine","sender_name":"AI","session_id":"01ce083d-748b-4b8d-97b6-33adbb6a528a","text":"Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!","files":[],"error":"False","edit":"False","properties":{"text_color":"","background_color":"","edited":"False","source":{"id":"OpenAIModel-7AjrN","display_name":"OpenAI","source":"gpt-4o-mini"},"icon":"OpenAI","allow_markdown":"False","positive_feedback":"None","state":"complete","targets":[]},"category":"message","content_blocks":[],"id":"5688356d-9f30-40ca-9907-79a7a2fc16fd","flow_id":"01ce083d-748b-4b8d-97b6-33adbb6a528a"},"default_value":"","text":"Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!","sender":"Machine","sender_name":"AI","files":[],"session_id":"01ce083d-748b-4b8d-97b6-33adbb6a528a","timestamp":"2024-12-23 19:10:58+00:00","flow_id":"01ce083d-748b-4b8d-97b6-33adbb6a528a","error":"False","edit":"False","properties":{"text_color":"","background_color":"","edited":"False","source":{"id":"OpenAIModel-7AjrN","display_name":"OpenAI","source":"gpt-4o-mini"},"icon":"OpenAI","allow_markdown":"False","positive_feedback":"None","state":"complete","targets":[]},"category":"message","content_blocks":[]}},"outputs":{"message":{"message":{"timestamp":"2024-12-23T19:10:58","sender":"Machine","sender_name":"AI","session_id":"01ce083d-748b-4b8d-97b6-33adbb6a528a","text":"Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!","files":[],"error":false,"edit":false,"properties":{"text_color":"","background_color":"","edited":false,"source":{"id":"OpenAIModel-7AjrN","display_name":"OpenAI","source":"gpt-4o-mini"},"icon":"OpenAI","allow_markdown":false,"positive_feedback":null,"state":"complete","targets":[]},"category":"message","content_blocks":[],"id":"5688356d-9f30-40ca-9907-79a7a2fc16fd","flow_id":"01ce083d-748b-4b8d-97b6-33adbb6a528a"},"type":"object"}},"logs":{"message":[]},"message":{"message":"Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!","sender":"Machine","sender_name":"AI","files":[],"type":"object"},"artifacts":{"message":"Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!","sender":"Machine","sender_name":"AI","files":[],"type":"object"},"timedelta":0.017838125000707805,"duration":"18 ms","used_frozen_result":false},"artifacts":{"message":"Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!","sender":"Machine","sender_name":"AI","files":[],"type":"object"},"params":"- Files: []\n Message: Hello! 🌟 I'm excited to help you get started on your journey to building\n something fresh! What do you have in mind? Whether it's a project, an idea, or\n a concept, let's dive in and make it happen!\n Sender: Machine\n Sender Name: AI\n Type: object\n","valid":true,"build_id":"1e8b908b-aba7-403b-9e9b-eca92bb78668","id":"ChatOutput-sfUhT","timestamp":"2024-12-23T19:10:58.813268Z","flow_id":"01ce083d-748b-4b8d-97b6-33adbb6a528a"}]}}
-```
-
-
-
-
-### Delete Vertex builds
-
-Delete Vertex builds for a specific flow.
-
-
-
-
-```curl
-curl -X 'DELETE' \
- "$LANGFLOW_URL/api/v1/monitor/builds?flow_id=$FLOW_ID" \
- -H 'accept: */*'
-```
-
-
-
-
-```plain
-204 No Content
-```
-
-
-
-
-### Get messages
-
-Retrieve messages with optional filters.
-
-
-
-
-```curl
-curl -X 'GET' \
- 'http://127.0.0.1:7860/api/v1/monitor/messages' \
- -H 'accept: application/json'
-```
-
-
-
-
-```plain
-A list of all messages.
-```
-
-
-
-
-You can filter messages by `flow_id`, `session_id`, `sender`, and `sender_name`.
-Results can be ordered with the `order_by` query string.
-
-This example retrieves messages sent by `Machine` and `AI` in a given chat session (`session_id`) and orders the messages by timestamp.
-
-
-
-
-```curl
-curl -X "GET" \
- "$LANGFLOW_URL/api/v1/monitor/messages?flow_id=$FLOW_ID&session_id=01ce083d-748b-4b8d-97b6-33adbb6a528a&sender=Machine&sender_name=AI&order_by=timestamp" \
- -H "accept: application/json"
-```
-
-
-
-
-```plain
-[
- {
- "id": "1c1d6134-9b8b-4079-931c-84dcaddf19ba",
- "flow_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a",
- "timestamp": "2024-12-23 19:20:11 UTC",
- "sender": "Machine",
- "sender_name": "AI",
- "session_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a",
- "text": "Hello! It's great to see you here! What exciting project or idea are you thinking about diving into today? Whether it's something fresh and innovative or a classic concept with a twist, I'm here to help you get started! Let's brainstorm together!",
- "files": "[]",
- "edit": false,
- "properties": {
- "text_color": "",
- "background_color": "",
- "edited": false,
- "source": {
- "id": "OpenAIModel-7AjrN",
- "display_name": "OpenAI",
- "source": "gpt-4o-mini"
- },
- "icon": "OpenAI",
- "allow_markdown": false,
- "positive_feedback": null,
- "state": "complete",
- "targets": []
- },
- "category": "message",
- "content_blocks": []
- }
-]
-```
-
-
-
-
-### Delete messages
-
-Delete specific messages by their IDs.
-
-This example deletes the message retrieved in the previous Get messages example.
-
-
-
-
-```curl
-curl -v -X 'DELETE' \
- '$LANGFLOW_URL/api/v1/monitor/messages' \
- -H 'accept: */*' \
- -H 'Content-Type: application/json' \
- -d '[
- "1c1d6134-9b8b-4079-931c-84dcaddf19ba"
-]'
-```
-
-
-
-```plain
-204 No Content
-```
-
-
-
-
-To delete multiple messages, list the IDs within the array.
-
-```curl
-curl -v -X 'DELETE' \
- '$LANGFLOW_URL/api/v1/monitor/messages' \
- -H 'accept: */*' \
- -H 'Content-Type: application/json' \
- -d '["MESSAGE_ID_1", "MESSAGE_ID_2"]'
-```
-
-### Update message
-
-Update a specific message by its ID.
-
-This example updates the `text` value of message `3ab66cc6-c048-48f8-ab07-570f5af7b160`.
-
-
-
-
-```curl
-curl -X 'PUT' \
- "$LANGFLOW_URL/api/v1/monitor/messages/3ab66cc6-c048-48f8-ab07-570f5af7b160" \
- -H 'accept: application/json' \
- -H 'Content-Type: application/json' \
- -d '{
- "text": "testing 1234"
-}'
-```
-
-
-
-
-```plain
-{"timestamp":"2024-12-23T18:49:06","sender":"string","sender_name":"string","session_id":"01ce083d-748b-4b8d-97b6-33adbb6a528a","text":"testing 1234","files":["string"],"error":true,"edit":true,"properties":{"text_color":"string","background_color":"string","edited":false,"source":{"id":"string","display_name":"string","source":"string"},"icon":"string","allow_markdown":false,"positive_feedback":true,"state":"complete","targets":[]},"category":"message","content_blocks":[],"id":"3ab66cc6-c048-48f8-ab07-570f5af7b160","flow_id":"01ce083d-748b-4b8d-97b6-33adbb6a528a"}
-```
-
-
-
-
-
-### Update session ID
-
-Update the session ID for messages.
-
-This example updates the `session_ID` value `01ce083d-748b-4b8d-97b6-33adbb6a528a` to `different_session_id`.
-
-
-
-
-```curl
-curl -X 'PATCH' \
- "$LANGFLOW_URL/api/v1/monitor/messages/session/01ce083d-748b-4b8d-97b6-33adbb6a528a?new_session_id=different_session_id" \
- -H 'accept: application/json'
-```
-
-
-
-
-```plain
-[
- {
- "id": "8dd7f064-e63a-4773-b472-ca0475249dfd",
- "flow_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a",
- "timestamp": "2024-12-23 18:49:55 UTC",
- "sender": "User",
- "sender_name": "User",
- "session_id": "different_session_id",
- "text": "message",
- "files": "[]",
- "edit": false,
- "properties": {
- "text_color": "",
- "background_color": "",
- "edited": false,
- "source": {
- "id": null,
- "display_name": null,
- "source": null
- },
- "icon": "",
- "allow_markdown": false,
- "positive_feedback": null,
- "state": "complete",
- "targets": []
- },
- "category": "message",
- "content_blocks": []
- },
-]
-```
-
-
-
-
-### Delete messages by session
-
-Delete all messages for a specific session.
-
-
-
-
-```curl
-curl -X 'DELETE' \
- '$LANGFLOW_URL/api/v1/monitor/messages/session/different_session_id_2' \
- -H 'accept: */*'
-```
-
-
-
-
-```plain
-HTTP/1.1 204 No Content
-```
-
-
-
-
-### Get transactions
-
-Retrieve all transactions (interactions between components) for a specific flow.
-
-
-
-
-```curl
-curl -X 'GET' \
- '$LANGFLOW_URL/api/v1/monitor/transactions?flow_id=$FLOW_ID&page=1&size=50' \
- -H 'accept: application/json'
-```
-
-
-
-
-```plain
-{
- "items": [
- {
- "timestamp": "2024-12-23T20:05:01.061Z",
- "vertex_id": "string",
- "target_id": "string",
- "inputs": {},
- "outputs": {},
- "status": "string",
- "error": "string",
- "flow_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
- "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
- }
- ],
- "total": 0,
- "page": 1,
- "size": 1,
- "pages": 0
-}
-```
-
-
-
-
-
-## Folders
-
-Use the `/folders` endpoint to create, read, update, and delete folders.
-
-Folders store your flows and components.
-
-### Read folders
-
-Get a list of Langflow folders.
-
-
-
-
-```curl
-curl -X 'GET' \
- '$LANGFLOW_URL/api/v1/folders/' \
- -H 'accept: application/json'
-```
-
-
-
-
-```plain
-[
- {
- "name": "My Projects",
- "description": "Manage your own projects. Download and upload folders.",
- "id": "1415de42-8f01-4f36-bf34-539f23e47466",
- "parent_id": null
- }
-]
-```
-
-
-
-
-### Create folder
-
-Create a new folder.
-
-
-
-
-```curl
-curl -X 'POST' \
- "$LANGFLOW_URL/api/v1/folders/" \
- -H 'accept: application/json' \
- -H 'Content-Type: application/json' \
- -d '{
- "name": "new_folder_name",
- "description": "string",
- "components_list": [],
- "flows_list": []
-}'
-```
-
-
-
-
-```plain
-{
- "name": "new_folder_name",
- "description": "string",
- "id": "b408ddb9-6266-4431-9be8-e04a62758331",
- "parent_id": null
-}
-```
-
-
-
-
-To add flows and components at folder creation, retrieve the `components_list` and `flows_list` values from the [/api/v1/store/components](#get-all-components) and [/api/v1/flows/read](#read-flows) endpoints and add them to the request body.
-
-Adding a flow to a folder moves the flow from its previous location. The flow is not copied.
-
-```curl
-curl -X 'POST' \
- "$LANGFLOW_URL/api/v1/folders/" \
- -H 'accept: application/json' \
- -H 'Content-Type: application/json' \
- -d '{
- "name": "new_folder_name",
- "description": "string",
- "components_list": [
- "3fa85f64-5717-4562-b3fc-2c963f66afa6"
- ],
- "flows_list": [
- "3fa85f64-5717-4562-b3fc-2c963f66afa6"
- ]
-}'
-```
-
-### Read folder
-
-Retrieve details of a specific folder.
-
-To find the UUID of your folder, call the [read folders](#read-folders) endpoint.
-
-
-
-
-```curl
-curl -X 'GET' \
- '$LANGFLOW_URL/api/v1/folders/$FOLDER_ID' \
- -H 'accept: application/json'
-```
-
-
-
-
-```plain
-[
- {
- "name": "My Projects",
- "description": "Manage your own projects. Download and upload folders.",
- "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
- "parent_id": null
- }
-]
-```
-
-
-
-
-### Update folder
-
-Update the information of a specific folder with a `PATCH` request.
-
-Each PATCH request updates the folder with the values you send.
-Only the fields you include in your request are updated.
-If you send the same values multiple times, the update is still processed, even if the values are unchanged.
-
-
-
-
-```curl
-curl -X 'PATCH' \
- '$LANGFLOW_URL/api/v1/folders/b408ddb9-6266-4431-9be8-e04a62758331' \
- -H 'accept: application/json' \
- -H 'Content-Type: application/json' \
- -d '{
- "name": "string",
- "description": "string",
- "parent_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
- "components": [
- "3fa85f64-5717-4562-b3fc-2c963f66afa6"
- ],
- "flows": [
- "3fa85f64-5717-4562-b3fc-2c963f66afa6"
- ]
-}'
-```
-
-
-
-
-```plain
-{
- "name": "string",
- "description": "string",
- "id": "b408ddb9-6266-4431-9be8-e04a62758331",
- "parent_id": null
-}
-```
-
-
-
-
-### Delete folder
-
-Delete a specific folder.
-
-
-
-
-```curl
-curl -X 'DELETE' \
- '$LANGFLOW_URL/api/v1/folders/$FOLDER_ID' \
- -H 'accept: */*'
-```
-
-
-
-
-```plain
-204 No Content
-```
-
-
-
-
-### Download folder
-
-Download all flows from a folder as a zip file.
-
-The `--output` flag is optional.
-
-
-
-
-```curl
-curl -X 'GET' \
- '$LANGFLOW_URL/api/v1/folders/download/b408ddb9-6266-4431-9be8-e04a62758331' \
- -H 'accept: application/json' \
- --output langflow-folder.zip
-```
-
-
-
-
-```plain
-The folder contents.
-```
-
-
-
-
-### Upload folder
-
-Upload a folder to Langflow.
-
-
-
-
-```curl
-curl -X 'POST' \
- '$LANGFLOW_URL/api/v1/folders/upload/' \
- -H 'accept: application/json' \
- -H 'Content-Type: multipart/form-data' \
- -F 'file=@20241230_135006_langflow_flows.zip;type=application/zip'
-```
-
-
-
-
-
-```plain
-The folder contents are uploaded to Langflow.
+{"event": "end", "data": {}}
```
@@ -1113,11 +426,11 @@ This example uploads `the_oscar_award.csv`.
```curl
-curl -X 'POST' \
- '$LANGFLOW_URL/api/v1/files/upload/$FLOW_ID' \
- -H 'accept: application/json' \
- -H 'Content-Type: multipart/form-data' \
- -F 'file=@the_oscar_award.csv'
+curl -X POST \
+ "$LANGFLOW_URL/api/v1/files/upload/$FLOW_ID" \
+ -H "accept: application/json" \
+ -H "Content-Type: multipart/form-data" \
+ -F "file=@the_oscar_award.csv"
```
@@ -1187,9 +500,9 @@ List all files associated with a specific flow.
```curl
-curl -X 'GET' \
+curl -X GET \
"$LANGFLOW_URL/api/v1/files/list/$FLOW_ID" \
- -H 'accept: application/json'
+ -H "accept: application/json"
```
@@ -1220,9 +533,9 @@ The `--output` flag is optional.
```curl
-curl -X 'GET' \
+curl -X GET \
"$LANGFLOW_URL/api/v1/files/download/$FLOW_ID/2024-12-30_15-19-43_the_oscar_award.csv" \
- -H 'accept: application/json' \
+ -H "accept: application/json" \
--output output-file.csv
```
@@ -1250,9 +563,9 @@ The `--output` flag is optional.
```curl
-curl -X 'GET' \
+curl -X GET \
"$LANGFLOW_URL/api/v1/files/images/$FLOW_ID/2024-12-30_15-42-44_image-file.png" \
- -H 'accept: application/json' \
+ -H "accept: application/json" \
--output output-image.png
```
@@ -1277,9 +590,9 @@ This example deletes the `2024-12-30_15-42-44_image-file.png` file from Langflow
```curl
-curl -X 'DELETE' \
+curl -X DELETE \
"$LANGFLOW_URL/api/v1/files/delete/$FLOW_ID/2024-12-30_15-42-44_image-file.png" \
- -H 'accept: application/json'
+ -H "accept: application/json"
```
@@ -1294,6 +607,620 @@ curl -X 'DELETE' \
+## Flows
+
+Use the `/flows` endpoint to create, read, update, and delete flows.
+
+### Create flow
+
+Create a new flow.
+
+
+
+
+```curl
+curl -X POST \
+ "$LANGFLOW_URL/api/v1/flows/" \
+ -H "accept: application/json" \
+ -H "Content-Type: application/json" \
+ -d '{
+ "name": "string2",
+ "description": "string",
+ "icon": "string",
+ "icon_bg_color": "#FF0000",
+ "gradient": "string",
+ "data": {},
+ "is_component": false,
+ "updated_at": "2024-12-30T15:48:01.519Z",
+ "webhook": false,
+ "endpoint_name": "string",
+ "tags": [
+ "string"
+ ]
+}'
+```
+
+
+
+```plain
+{"name":"string2","description":"string","icon":"string","icon_bg_color":"#FF0000","gradient":"string","data":{},"is_component":false,"updated_at":"2025-02-04T21:07:36+00:00","webhook":false,"endpoint_name":"string","tags":["string"],"locked":false,"id":"e8d81c37-714b-49ae-ba82-e61141f020ee","user_id":"f58396d4-a387-4bb8-b749-f40825c3d9f3","folder_id":"1415de42-8f01-4f36-bf34-539f23e47466"}
+```
+
+
+
+
+### Read flows
+
+Retrieve a list of flows with pagination support.
+
+
+
+
+```bash
+curl -X GET \
+ "$LANGFLOW_URL/api/v1/flows/?remove_example_flows=false&components_only=false&get_all=true&header_flows=false&page=1&size=50" \
+ -H "accept: application/json"
+```
+
+
+
+
+
+```plain
+A JSON object containing a list of flows.
+```
+
+
+
+To retrieve only the flows from a specific folder, pass `folder_id` in the query string.
+
+
+
+
+
+```bash
+curl -X GET \
+ "$LANGFLOW_URL/api/v1/flows/?remove_example_flows=true&components_only=false&get_all=false&folder_id=$FOLDER_ID&header_flows=false&page=1&size=1" \
+ -H "accept: application/json"
+```
+
+
+
+
+
+```plain
+A JSON object containing a list of flows.
+```
+
+
+
+
+### Read flow
+
+Read a specific flow by its ID.
+
+
+
+
+```bash
+curl -X GET \
+ "$LANGFLOW_URL/api/v1/flows/$FLOW_ID" \
+ -H "accept: application/json"
+```
+
+
+
+
+
+```json
+{
+ "name": "Basic Prompting",
+ "description": "Perform basic prompting with an OpenAI model.",
+ "icon": "Braces",
+ "icon_bg_color": null,
+ "gradient": "2",
+ "data": {
+ "nodes": [
+ ...
+ ]
+ }
+}
+```
+
+
+
+
+### Update flow
+
+Update an existing flow by its ID.
+
+This example changes the value for `endpoint_name` from a random UUID to `my_new_endpoint_name`.
+
+
+
+
+```bash
+curl -X PATCH \
+ "$LANGFLOW_URL/api/v1/flows/$FLOW_ID" \
+ -H "accept: application/json" \
+ -H "Content-Type: application/json" \
+ -d '{
+ "name": "string",
+ "description": "string",
+ "data": {},
+ "folder_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
+ "endpoint_name": "my_new_endpoint_name",
+ "locked": true
+}'
+```
+
+
+
+
+```json
+{
+ "name": "string",
+ "description": "string",
+ "icon": "Braces",
+ "icon_bg_color": null,
+ "gradient": "2",
+ "data": {},
+ "is_component": false,
+ "updated_at": "2024-12-30T18:30:22+00:00",
+ "webhook": false,
+ "endpoint_name": "my_new_endpoint_name",
+ "tags": null,
+ "locked": true,
+ "id": "01ce083d-748b-4b8d-97b6-33adbb6a528a",
+ "user_id": "f58396d4-a387-4bb8-b749-f40825c3d9f3",
+ "folder_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
+}
+```
+
+
+
+
+### Delete flow
+
+Delete a specific flow by its ID.
+
+
+
+
+```bash
+curl -X DELETE \
+ "$LANGFLOW_URL/api/v1/flows/$FLOW_ID" \
+ -H "accept: application/json"
+```
+
+
+
+
+
+```json
+{
+ "message": "Flow deleted successfully"
+}
+```
+
+
+
+
+### Create flows
+
+Create multiple new flows.
+
+
+
+
+```curl
+curl -X POST \
+ "$LANGFLOW_URL/api/v1/flows/batch/" \
+ -H "accept: application/json" \
+ -H "Content-Type: application/json" \
+ -d '{
+ "flows": [
+ {
+ "name": "string",
+ "description": "string",
+ "icon": "string",
+ "icon_bg_color": "string",
+ "gradient": "string",
+ "data": {},
+ "is_component": false,
+ "updated_at": "2024-12-30T18:36:02.737Z",
+ "webhook": false,
+ "endpoint_name": "string",
+ "tags": [
+ "string"
+ ],
+ "locked": false,
+ "user_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
+ "folder_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
+ },
+ {
+ "name": "string",
+ "description": "string",
+ "icon": "string",
+ "icon_bg_color": "string",
+ "gradient": "string",
+ "data": {},
+ "is_component": false,
+ "updated_at": "2024-12-30T18:36:02.737Z",
+ "webhook": false,
+ "endpoint_name": "string",
+ "tags": [
+ "string"
+ ],
+ "locked": false,
+ "user_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
+ "folder_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
+ }
+ ]
+}'
+```
+
+
+
+
+```json
+[
+ {
+ // FlowRead objects
+ }
+]
+```
+
+
+
+
+### Upload flows
+
+Upload flows from a file.
+
+This example uploads a local file named `agent-with-astra-db-tool.json`.
+
+
+
+
+```curl
+curl -X POST \
+ "$LANGFLOW_URL/api/v1/flows/upload/?folder_id=$FOLDER_ID" \
+ -H "accept: application/json" \
+ -H "Content-Type: multipart/form-data" \
+ -F "file=@agent-with-astra-db-tool.json;type=application/json"
+```
+
+
+
+
+```json
+[
+ {
+ "name": "agent-with-astra-db-tool",
+ "description": "",
+ "icon": null,
+ "icon_bg_color": null,
+ "gradient": null,
+ "data": {}
+ ...
+ }
+]
+```
+
+
+
+To specify a target folder for the flow, include the query parameter `folder_id`.
+The target `folder_id` must already exist before uploading a flow. Call the [/api/v1/folders/](#read-folders) endpoint for a list of available folders.
+
+```curl
+curl -X POST \
+ "$LANGFLOW_URL/api/v1/flows/upload/?folder_id=$FOLDER_ID" \
+ -H "accept: application/json" \
+ -H "Content-Type: multipart/form-data" \
+ -F "file=@agent-with-astra-db-tool.json;type=application/json"
+```
+
+### Download all flows
+
+Download all flows as a ZIP file.
+
+This endpoint downloads a ZIP file containing flows for all `flow-id` values listed in the command's body.
+
+
+
+
+```curl
+curl -X POST \
+ "$LANGFLOW_URL/api/v1/flows/download/" \
+ -H "accept: application/json" \
+ -H "Content-Type: application/json" \
+ -d '[
+ "e1e40c77-0541-41a9-88ab-ddb3419398b5",
+ "92f9a4c5-cfc8-4656-ae63-1f0881163c28"
+]' \
+ --output langflow-flows.zip
+```
+
+
+
+
+```plain
+ % Total % Received % Xferd Average Speed Time Time Time Current
+ Dload Upload Total Spent Left Speed
+100 76437 0 76353 100 84 4516k 5088 --:--:-- --:--:-- --:--:-- 4665k
+```
+
+
+
+### Read basic examples
+
+Retrieve a list of basic example flows.
+
+
+
+
+```curl
+curl -X GET \
+ "$LANGFLOW_URL/api/v1/flows/basic_examples/" \
+ -H "accept: application/json"
+```
+
+
+
+
+```plain
+A list of example flows.
+```
+
+
+
+
+
+## Folders
+
+Use the `/folders` endpoint to create, read, update, and delete folders.
+
+Folders store your flows and components.
+
+### Read folders
+
+Get a list of Langflow folders.
+
+
+
+
+```curl
+curl -X GET \
+ "$LANGFLOW_URL/api/v1/folders/" \
+ -H "accept: application/json"
+```
+
+
+
+
+```plain
+[
+ {
+ "name": "My Projects",
+ "description": "Manage your own projects. Download and upload folders.",
+ "id": "1415de42-8f01-4f36-bf34-539f23e47466",
+ "parent_id": null
+ }
+]
+```
+
+
+
+
+### Create folder
+
+Create a new folder.
+
+
+
+
+```curl
+curl -X POST \
+ "$LANGFLOW_URL/api/v1/folders/" \
+ -H "accept: application/json" \
+ -H "Content-Type: application/json" \
+ -d '{
+ "name": "new_folder_name",
+ "description": "string",
+ "components_list": [],
+ "flows_list": []
+}'
+```
+
+
+
+
+```plain
+{
+ "name": "new_folder_name",
+ "description": "string",
+ "id": "b408ddb9-6266-4431-9be8-e04a62758331",
+ "parent_id": null
+}
+```
+
+
+
+
+To add flows and components at folder creation, retrieve the `components_list` and `flows_list` values from the [/api/v1/store/components](#get-all-components) and [/api/v1/flows/read](#read-flows) endpoints and add them to the request body.
+
+Adding a flow to a folder moves the flow from its previous location. The flow is not copied.
+
+```curl
+curl -X POST \
+ "$LANGFLOW_URL/api/v1/folders/" \
+ -H "accept: application/json" \
+ -H "Content-Type: application/json" \
+ -d '{
+ "name": "new_folder_name",
+ "description": "string",
+ "components_list": [
+ "3fa85f64-5717-4562-b3fc-2c963f66afa6"
+ ],
+ "flows_list": [
+ "3fa85f64-5717-4562-b3fc-2c963f66afa6"
+ ]
+}'
+```
+
+### Read folder
+
+Retrieve details of a specific folder.
+
+To find the UUID of your folder, call the [read folders](#read-folders) endpoint.
+
+
+
+
+```curl
+curl -X GET \
+ "$LANGFLOW_URL/api/v1/folders/$FOLDER_ID" \
+ -H "accept: application/json"
+```
+
+
+
+
+```plain
+[
+ {
+ "name": "My Projects",
+ "description": "Manage your own projects. Download and upload folders.",
+ "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
+ "parent_id": null
+ }
+]
+```
+
+
+
+
+### Update folder
+
+Update the information of a specific folder with a `PATCH` request.
+
+Each PATCH request updates the folder with the values you send.
+Only the fields you include in your request are updated.
+If you send the same values multiple times, the update is still processed, even if the values are unchanged.
+
+
+
+
+```curl
+curl -X PATCH \
+ "$LANGFLOW_URL/api/v1/folders/b408ddb9-6266-4431-9be8-e04a62758331" \
+ -H "accept: application/json" \
+ -H "Content-Type: application/json" \
+ -d '{
+ "name": "string",
+ "description": "string",
+ "parent_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
+ "components": [
+ "3fa85f64-5717-4562-b3fc-2c963f66afa6"
+ ],
+ "flows": [
+ "3fa85f64-5717-4562-b3fc-2c963f66afa6"
+ ]
+}'
+```
+
+
+
+
+```plain
+{
+ "name": "string",
+ "description": "string",
+ "id": "b408ddb9-6266-4431-9be8-e04a62758331",
+ "parent_id": null
+}
+```
+
+
+
+
+### Delete folder
+
+Delete a specific folder.
+
+
+
+
+```curl
+curl -X DELETE \
+ "$LANGFLOW_URL/api/v1/folders/$FOLDER_ID" \
+ -H "accept: */*"
+```
+
+
+
+
+```plain
+204 No Content
+```
+
+
+
+
+### Download folder
+
+Download all flows from a folder as a zip file.
+
+The `--output` flag is optional.
+
+
+
+
+```curl
+curl -X GET \
+ "$LANGFLOW_URL/api/v1/folders/download/b408ddb9-6266-4431-9be8-e04a62758331" \
+ -H "accept: application/json" \
+ --output langflow-folder.zip
+```
+
+
+
+
+```plain
+The folder contents.
+```
+
+
+
+
+### Upload folder
+
+Upload a folder to Langflow.
+
+
+
+
+```curl
+curl -X POST \
+ "$LANGFLOW_URL/api/v1/folders/upload/" \
+ -H "accept: application/json" \
+ -H "Content-Type: multipart/form-data" \
+ -F "file=@20241230_135006_langflow_flows.zip;type=application/zip"
+```
+
+
+
+
+
+```plain
+The folder contents are uploaded to Langflow.
+```
+
+
+
+
+
## Logs
Retrieve logs for your Langflow flow.
@@ -1324,9 +1251,9 @@ Stream logs in real-time using Server-Sent Events (SSE).
```curl
-curl -X 'GET' \
+curl -X GET \
"$LANGFLOW_URL/logs-stream" \
- -H 'accept: text/event-stream'
+ -H "accept: text/event-stream"
```
@@ -1370,9 +1297,9 @@ With these values, the endpoint returns the last 10 lines of logs.
```curl
-curl -X 'GET' \
+curl -X GET \
"$LANGFLOW_URL/logs?lines_before=0&lines_after=0×tamp=0" \
- -H 'accept: application/json'
+ -H "accept: application/json"
```
@@ -1396,182 +1323,276 @@ curl -X 'GET' \
-## Base
+## Monitor
-Use the base Langflow API for running your flow and retrieving configuration information.
+Use the `/monitor` endpoint to monitor and modify messages passed between Langflow components, vertex builds, and transactions.
-### Get all components
+### Get Vertex builds
-This operation returns a dictionary of all Langflow components.
+Retrieve Vertex builds for a specific flow.
```curl
-curl -X 'GET' \
- "$LANGFLOW_URL/api/v1/all" \
- -H 'accept: application/json'
+curl -X GET \
+ "$LANGFLOW_URL/api/v1/monitor/builds?flow_id=$FLOW_ID" \
+ -H "accept: application/json"
```
-```result
-A dictionary of all Langflow components.
+
+```plain
+{"vertex_builds":{"ChatInput-NCmix":[{"data":{"results":{"message":{"text_key":"text","data":{"timestamp":"2024-12-23 19:10:57","sender":"User","sender_name":"User","session_id":"01ce083d-748b-4b8d-97b6-33adbb6a528a","text":"Hello","files":[],"error":"False","edit":"False","properties":{"text_color":"","background_color":"","edited":"False","source":{"id":"None","display_name":"None","source":"None"},"icon":"","allow_markdown":"False","positive_feedback":"None","state":"complete","targets":[]},"category":"message","content_blocks":[],"id":"c95bed34-f906-4aa6-84e4-68553f6db772","flow_id":"01ce083d-748b-4b8d-97b6-33adbb6a528a"},"default_value":"","text":"Hello","sender":"User","sender_name":"User","files":[],"session_id":"01ce083d-748b-4b8d-97b6-33adbb6a528a","timestamp":"2024-12-23 19:10:57+00:00","flow_id":"01ce083d-748b-4b8d-97b6-33adbb6a528a","error":"False","edit":"False","properties":{"text_color":"","background_color":"","edited":"False","source":{"id":"None","display_name":"None","source":"None"},"icon":"","allow_markdown":"False","positive_feedback":"None","state":"complete","targets":[]},"category":"message","content_blocks":[]}},"outputs":{"message":{"message":{"timestamp":"2024-12-23T19:10:57","sender":"User","sender_name":"User","session_id":"01ce083d-748b-4b8d-97b6-33adbb6a528a","text":"Hello","files":[],"error":false,"edit":false,"properties":{"text_color":"","background_color":"","edited":false,"source":{"id":null,"display_name":null,"source":null},"icon":"","allow_markdown":false,"positive_feedback":null,"state":"complete","targets":[]},"category":"message","content_blocks":[],"id":"c95bed34-f906-4aa6-84e4-68553f6db772","flow_id":"01ce083d-748b-4b8d-97b6-33adbb6a528a"},"type":"object"}},"logs":{"message":[]},"message":{"message":"Hello","sender":"User","sender_name":"User","files":[],"type":"object"},"artifacts":{"message":"Hello","sender":"User","sender_name":"User","files":[],"type":"object"},"timedelta":0.015060124918818474,"duration":"15 ms","used_frozen_result":false},"artifacts":{"message":"Hello","sender":"User","sender_name":"User","files":[],"type":"object"},"params":"- Files: []\n Message: Hello\n Sender: User\n Sender Name: User\n Type: object\n","valid":true,"build_id":"40aa200e-74db-4651-b698-f80301d2b26b","id":"ChatInput-NCmix","timestamp":"2024-12-23T19:10:58.772766Z","flow_id":"01ce083d-748b-4b8d-97b6-33adbb6a528a"}],"Prompt-BEn9c":[{"data":{"results":{},"outputs":{"prompt":{"message":"Answer the user as if you were a GenAI expert, enthusiastic about helping them get started building something fresh.","type":"text"}},"logs":{"prompt":[]},"message":{"prompt":{"repr":"Answer the user as if you were a GenAI expert, enthusiastic about helping them get started building something fresh.","raw":"Answer the user as if you were a GenAI expert, enthusiastic about helping them get started building something fresh.","type":"text"}},"artifacts":{"prompt":{"repr":"Answer the user as if you were a GenAI expert, enthusiastic about helping them get started building something fresh.","raw":"Answer the user as if you were a GenAI expert, enthusiastic about helping them get started building something fresh.","type":"text"}},"timedelta":0.0057758750626817346,"duration":"6 ms","used_frozen_result":false},"artifacts":{"prompt":{"repr":"Answer the user as if you were a GenAI expert, enthusiastic about helping them get started building something fresh.","raw":"Answer the user as if you were a GenAI expert, enthusiastic about helping them get started building something fresh.","type":"text"}},"params":"None","valid":true,"build_id":"39bbbfde-97fd-42a5-a9ed-d42a5c5d532b","id":"Prompt-BEn9c","timestamp":"2024-12-23T19:10:58.781019Z","flow_id":"01ce083d-748b-4b8d-97b6-33adbb6a528a"}],"OpenAIModel-7AjrN":[{"data":{"results":{},"outputs":{"text_output":{"message":"Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!","type":"text"},"model_output":{"message":"","type":"unknown"}},"logs":{"text_output":[]},"message":{"text_output":{"repr":"Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!","raw":"Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!","type":"text"}},"artifacts":{"text_output":{"repr":"Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!","raw":"Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!","type":"text"}},"timedelta":1.034765167045407,"duration":"1.03 seconds","used_frozen_result":false},"artifacts":{"text_output":{"repr":"Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!","raw":"Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!","type":"text"}},"params":"None","valid":true,"build_id":"4f0ae730-a266-4d35-b89f-7b825c620a0f","id":"OpenAIModel-7AjrN","timestamp":"2024-12-23T19:10:58.790484Z","flow_id":"01ce083d-748b-4b8d-97b6-33adbb6a528a"}],"ChatOutput-sfUhT":[{"data":{"results":{"message":{"text_key":"text","data":{"timestamp":"2024-12-23 19:10:58","sender":"Machine","sender_name":"AI","session_id":"01ce083d-748b-4b8d-97b6-33adbb6a528a","text":"Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!","files":[],"error":"False","edit":"False","properties":{"text_color":"","background_color":"","edited":"False","source":{"id":"OpenAIModel-7AjrN","display_name":"OpenAI","source":"gpt-4o-mini"},"icon":"OpenAI","allow_markdown":"False","positive_feedback":"None","state":"complete","targets":[]},"category":"message","content_blocks":[],"id":"5688356d-9f30-40ca-9907-79a7a2fc16fd","flow_id":"01ce083d-748b-4b8d-97b6-33adbb6a528a"},"default_value":"","text":"Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!","sender":"Machine","sender_name":"AI","files":[],"session_id":"01ce083d-748b-4b8d-97b6-33adbb6a528a","timestamp":"2024-12-23 19:10:58+00:00","flow_id":"01ce083d-748b-4b8d-97b6-33adbb6a528a","error":"False","edit":"False","properties":{"text_color":"","background_color":"","edited":"False","source":{"id":"OpenAIModel-7AjrN","display_name":"OpenAI","source":"gpt-4o-mini"},"icon":"OpenAI","allow_markdown":"False","positive_feedback":"None","state":"complete","targets":[]},"category":"message","content_blocks":[]}},"outputs":{"message":{"message":{"timestamp":"2024-12-23T19:10:58","sender":"Machine","sender_name":"AI","session_id":"01ce083d-748b-4b8d-97b6-33adbb6a528a","text":"Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!","files":[],"error":false,"edit":false,"properties":{"text_color":"","background_color":"","edited":false,"source":{"id":"OpenAIModel-7AjrN","display_name":"OpenAI","source":"gpt-4o-mini"},"icon":"OpenAI","allow_markdown":false,"positive_feedback":null,"state":"complete","targets":[]},"category":"message","content_blocks":[],"id":"5688356d-9f30-40ca-9907-79a7a2fc16fd","flow_id":"01ce083d-748b-4b8d-97b6-33adbb6a528a"},"type":"object"}},"logs":{"message":[]},"message":{"message":"Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!","sender":"Machine","sender_name":"AI","files":[],"type":"object"},"artifacts":{"message":"Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!","sender":"Machine","sender_name":"AI","files":[],"type":"object"},"timedelta":0.017838125000707805,"duration":"18 ms","used_frozen_result":false},"artifacts":{"message":"Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!","sender":"Machine","sender_name":"AI","files":[],"type":"object"},"params":"- Files: []\n Message: Hello! 🌟 I'm excited to help you get started on your journey to building\n something fresh! What do you have in mind? Whether it's a project, an idea, or\n a concept, let's dive in and make it happen!\n Sender: Machine\n Sender Name: AI\n Type: object\n","valid":true,"build_id":"1e8b908b-aba7-403b-9e9b-eca92bb78668","id":"ChatOutput-sfUhT","timestamp":"2024-12-23T19:10:58.813268Z","flow_id":"01ce083d-748b-4b8d-97b6-33adbb6a528a"}]}}
```
+
-### Run flow
+### Delete Vertex builds
-Execute a specified flow by ID or name.
+Delete Vertex builds for a specific flow.
```curl
-curl -X 'POST' \
- "$LANGFLOW_URL/api/v1/run/$FLOW_ID?stream=false" \
- -H 'accept: application/json' \
- -H 'Content-Type: application/json' \
+curl -X DELETE \
+ "$LANGFLOW_URL/api/v1/monitor/builds?flow_id=$FLOW_ID" \
+ -H "accept: */*"
+```
+
+
+
+
+```plain
+204 No Content
+```
+
+
+
+
+### Get messages
+
+Retrieve messages with optional filters.
+
+
+
+
+```curl
+curl -X GET \
+ "$LANGFLOW_URL/api/v1/monitor/messages" \
+ -H "accept: application/json"
+```
+
+
+
+
+```plain
+A list of all messages.
+```
+
+
+
+
+You can filter messages by `flow_id`, `session_id`, `sender`, and `sender_name`.
+Results can be ordered with the `order_by` query string.
+
+This example retrieves messages sent by `Machine` and `AI` in a given chat session (`session_id`) and orders the messages by timestamp.
+
+
+
+
+```curl
+curl -X GET \
+ "$LANGFLOW_URL/api/v1/monitor/messages?flow_id=$FLOW_ID&session_id=01ce083d-748b-4b8d-97b6-33adbb6a528a&sender=Machine&sender_name=AI&order_by=timestamp" \
+ -H "accept: application/json"
+```
+
+
+
+
+```plain
+[
+ {
+ "id": "1c1d6134-9b8b-4079-931c-84dcaddf19ba",
+ "flow_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a",
+ "timestamp": "2024-12-23 19:20:11 UTC",
+ "sender": "Machine",
+ "sender_name": "AI",
+ "session_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a",
+ "text": "Hello! It's great to see you here! What exciting project or idea are you thinking about diving into today? Whether it's something fresh and innovative or a classic concept with a twist, I'm here to help you get started! Let's brainstorm together!",
+ "files": "[]",
+ "edit": false,
+ "properties": {
+ "text_color": "",
+ "background_color": "",
+ "edited": false,
+ "source": {
+ "id": "OpenAIModel-7AjrN",
+ "display_name": "OpenAI",
+ "source": "gpt-4o-mini"
+ },
+ "icon": "OpenAI",
+ "allow_markdown": false,
+ "positive_feedback": null,
+ "state": "complete",
+ "targets": []
+ },
+ "category": "message",
+ "content_blocks": []
+ }
+]
+```
+
+
+
+
+### Delete messages
+
+Delete specific messages by their IDs.
+
+This example deletes the message retrieved in the previous Get messages example.
+
+
+
+
+```curl
+curl -v -X DELETE \
+ "$LANGFLOW_URL/api/v1/monitor/messages" \
+ -H "accept: */*" \
+ -H "Content-Type: application/json" \
+ -d '["MESSAGE_ID_1", "MESSAGE_ID_2"]'
+```
+
+
+
+```plain
+204 No Content
+```
+
+
+
+
+### Update message
+
+Update a specific message by its ID.
+
+This example updates the `text` value of message `3ab66cc6-c048-48f8-ab07-570f5af7b160`.
+
+
+
+
+```curl
+curl -X PUT \
+ "$LANGFLOW_URL/api/v1/monitor/messages/3ab66cc6-c048-48f8-ab07-570f5af7b160" \
+ -H "accept: application/json" \
+ -H "Content-Type: application/json" \
-d '{
- "input_value": "string",
- "input_type": "chat",
- "output_type": "chat",
- "output_component": "",
- "tweaks": {
- "Component Name": {
- "parameter_name": "value"
- },
- "component_id": {
- "parameter_name": "value"
- },
- "parameter_name": "value"
- },
- "session_id": "string"
+ "text": "testing 1234"
}'
```
-
+
-```result
-{
- "result": "Flow execution result",
- "session_id": "session_uuid"
-}
+```plain
+{"timestamp":"2024-12-23T18:49:06","sender":"string","sender_name":"string","session_id":"01ce083d-748b-4b8d-97b6-33adbb6a528a","text":"testing 1234","files":["string"],"error":true,"edit":true,"properties":{"text_color":"string","background_color":"string","edited":false,"source":{"id":"string","display_name":"string","source":"string"},"icon":"string","allow_markdown":false,"positive_feedback":true,"state":"complete","targets":[]},"category":"message","content_blocks":[],"id":"3ab66cc6-c048-48f8-ab07-570f5af7b160","flow_id":"01ce083d-748b-4b8d-97b6-33adbb6a528a"}
```
-### Webhook run flow
-The webhook endpoint triggers flow execution with an HTTP POST request.
+### Update session ID
+
+Update the session ID for messages.
+
+This example updates the `session_ID` value `01ce083d-748b-4b8d-97b6-33adbb6a528a` to `different_session_id`.
```curl
-curl -X POST \
- "$LANGFLOW_URL/api/v1/webhook/$FLOW_ID" \
- -H "Content-Type: application/json" \
- -d '{"path": "/tmp/test_file.txt"}'
+curl -X PATCH \
+ "$LANGFLOW_URL/api/v1/monitor/messages/session/01ce083d-748b-4b8d-97b6-33adbb6a528a?new_session_id=different_session_id" \
+ -H "accept: application/json"
```
-```result
-{
- {"message":"Task started in the background","status":"in progress"}
-}
+```plain
+[
+ {
+ "id": "8dd7f064-e63a-4773-b472-ca0475249dfd",
+ "flow_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a",
+ "timestamp": "2024-12-23 18:49:55 UTC",
+ "sender": "User",
+ "sender_name": "User",
+ "session_id": "different_session_id",
+ "text": "message",
+ "files": "[]",
+ "edit": false,
+ "properties": {
+ "text_color": "",
+ "background_color": "",
+ "edited": false,
+ "source": {
+ "id": null,
+ "display_name": null,
+ "source": null
+ },
+ "icon": "",
+ "allow_markdown": false,
+ "positive_feedback": null,
+ "state": "complete",
+ "targets": []
+ },
+ "category": "message",
+ "content_blocks": []
+ },
+]
```
-### Process
+### Delete messages by session
-:::info
-This endpoint is deprecated. Use the `/run` endpoint instead.
-:::
-
-### Predict
-
-:::info
-This endpoint is deprecated. Use the `/run` endpoint instead.
-:::
-
-### Get task status
-
-Get the status of a task.
+Delete all messages for a specific session.
```curl
-curl -X 'GET' \
- "$LANGFLOW_URL/api/v1/task/TASK_ID" \
- -H 'accept: application/json'
+curl -X DELETE \
+ "$LANGFLOW_URL/api/v1/monitor/messages/session/different_session_id_2" \
+ -H "accept: */*"
```
-```result
-{
- "status": "Task status",
- "result": "Task result if completed"
-}
+```plain
+HTTP/1.1 204 No Content
```
-### Create upload file (Deprecated)
+### Get transactions
-:::info
-This endpoint is deprecated. Use the `/file` endpoint instead.
-:::
-
-### Get version
-
-Get the version of the Langflow API.
+Retrieve all transactions (interactions between components) for a specific flow.
```curl
-curl -X 'GET' \
- "$LANGFLOW_URL/api/v1/version" \
- -H 'accept: application/json'
-```
-
-
-
-
-```result
-{
- "version": "1.1.1",
- "main_version": "1.1.1",
- "package": "Langflow"
-}
-```
-
-
-
-
-### Get config
-
-Retrieve the Langflow configuration information.
-
-
-
-
-```curl
-curl -X 'GET' \
- "$LANGFLOW_URL/api/v1/config" \
- -H 'accept: application/json'
+curl -X GET \
+ "$LANGFLOW_URL/api/v1/monitor/transactions?flow_id=$FLOW_ID&page=1&size=50" \
+ -H "accept: application/json"
```
@@ -1579,14 +1600,23 @@ curl -X 'GET' \
```plain
{
- "feature_flags": {
- "mvp_components": false
- },
- "frontend_timeout": 0,
- "auto_saving": true,
- "auto_saving_interval": 1000,
- "health_check_max_retries": 5,
- "max_file_size_upload": 100
+ "items": [
+ {
+ "timestamp": "2024-12-23T20:05:01.061Z",
+ "vertex_id": "string",
+ "target_id": "string",
+ "inputs": {},
+ "outputs": {},
+ "status": "string",
+ "error": "string",
+ "flow_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
+ "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
+ }
+ ],
+ "total": 0,
+ "page": 1,
+ "size": 1,
+ "pages": 0
}
```
@@ -1594,3 +1624,4 @@ curl -X 'GET' \
+
diff --git a/docs/docs/Components/components-data.md b/docs/docs/Components/components-data.md
index 6342e74f3..624eba31f 100644
--- a/docs/docs/Components/components-data.md
+++ b/docs/docs/Components/components-data.md
@@ -210,7 +210,7 @@ curl -X POST \
To test the webhook component:
1. Add a **Webhook** component to the flow.
-2. Connect the **Webhook** component's **Data** output to the **Data** input of a [Data to Message](/components-processing#pasrse-data-data-to-message) component.
+2. Connect the **Webhook** component's **Data** output to the **Data** input of a [Data to Message](/components-processing#parse-data-data-to-message) component.
3. Connect the **Data to Message** component's **Message** output to the **Text** input of a [Chat Output](/components-io#chat-output) component.
4. To send a POST request, copy the code from the **Webhook cURL** tab in the **API** pane and paste it into a terminal.
5. Send the POST request.
diff --git a/docs/openapi.json b/docs/openapi.json
index b5a8b3635..50ce70a46 100644
--- a/docs/openapi.json
+++ b/docs/openapi.json
@@ -1,8 +1,8 @@
{
- "openapi": "3.0.2",
+ "openapi": "3.1.0",
"info": {
"title": "Langflow",
- "version": "1.1.1"
+ "version": "1.1.4"
},
"paths": {
"/api/v1/build/{flow_id}/vertices": {
@@ -13,6 +13,7 @@
"summary": "Retrieve Vertices Order",
"description": "Retrieve the vertices order for a given flow.\n\nArgs:\n flow_id (str): The ID of the flow.\n background_tasks (BackgroundTasks): The background tasks.\n data (Optional[FlowDataRequest], optional): The flow data. Defaults to None.\n stop_component_id (str, optional): The ID of the stop component. Defaults to None.\n start_component_id (str, optional): The ID of the start component. Defaults to None.\n session (AsyncSession, optional): The session dependency.\n\nReturns:\n VerticesOrderResponse: The response containing the ordered vertex IDs and the run ID.\n\nRaises:\n HTTPException: If there is an error checking the build status.",
"operationId": "retrieve_vertices_order_api_v1_build__flow_id__vertices_post",
+ "deprecated": true,
"parameters": [
{
"name": "flow_id",
@@ -32,10 +33,12 @@
"anyOf": [
{
"$ref": "#/components/schemas/FlowDataRequest"
+ },
+ {
+ "type": "null"
}
],
- "title": "Data",
- "nullable": true
+ "title": "Data"
}
},
{
@@ -46,10 +49,12 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Stop Component Id",
- "nullable": true
+ "title": "Stop Component Id"
}
},
{
@@ -60,10 +65,12 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Start Component Id",
- "nullable": true
+ "title": "Start Component Id"
}
}
],
@@ -128,10 +135,12 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Stop Component Id",
- "nullable": true
+ "title": "Stop Component Id"
}
},
{
@@ -142,10 +151,12 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Start Component Id",
- "nullable": true
+ "title": "Start Component Id"
}
},
{
@@ -156,11 +167,13 @@
"anyOf": [
{
"type": "boolean"
+ },
+ {
+ "type": "null"
}
],
"default": true,
- "title": "Log Builds",
- "nullable": true
+ "title": "Log Builds"
}
}
],
@@ -203,6 +216,7 @@
"summary": "Build Vertex",
"description": "Build a vertex instead of the entire graph.\n\nArgs:\n flow_id (str): The ID of the flow.\n vertex_id (str): The ID of the vertex to build.\n background_tasks (BackgroundTasks): The background tasks dependency.\n inputs (Optional[InputValueRequest], optional): The input values for the vertex. Defaults to None.\n files (List[str], optional): The files to use. Defaults to None.\n current_user (Any, optional): The current user dependency. Defaults to Depends(get_current_active_user).\n\nReturns:\n VertexBuildResponse: The response containing the built vertex information.\n\nRaises:\n HTTPException: If there is an error building the vertex.",
"operationId": "build_vertex_api_v1_build__flow_id__vertices__vertex_id__post",
+ "deprecated": true,
"security": [
{
"OAuth2PasswordBearer": []
@@ -276,6 +290,7 @@
"summary": "Build Vertex Stream",
"description": "Build a vertex instead of the entire graph.\n\nThis function is responsible for building a single vertex instead of the entire graph.\nIt takes the `flow_id` and `vertex_id` as required parameters, and an optional `session_id`.\nIt also depends on the `ChatService` and `SessionService` services.\n\nIf `session_id` is not provided, it retrieves the graph from the cache using the `chat_service`.\nIf `session_id` is provided, it loads the session data using the `session_service`.\n\nOnce the graph is obtained, it retrieves the specified vertex using the `vertex_id`.\nIf the vertex does not support streaming, an error is raised.\nIf the vertex has a built result, it sends the result as a chunk.\nIf the vertex is not frozen or not built, it streams the vertex data.\nIf the vertex has a result, it sends the result as a chunk.\nIf none of the above conditions are met, an error is raised.\n\nIf any exception occurs during the process, an error message is sent.\nFinally, the stream is closed.\n\nReturns:\n A `StreamingResponse` object with the streamed vertex data in text/event-stream format.\n\nRaises:\n HTTPException: If an error occurs while building the vertex.",
"operationId": "build_vertex_stream_api_v1_build__flow_id___vertex_id__stream_get",
+ "deprecated": true,
"parameters": [
{
"name": "flow_id",
@@ -392,10 +407,12 @@
{
"type": "string",
"format": "uuid"
+ },
+ {
+ "type": "null"
}
],
- "title": "User Id",
- "nullable": true
+ "title": "User Id"
}
}
],
@@ -406,10 +423,12 @@
"anyOf": [
{
"$ref": "#/components/schemas/SimplifiedAPIRequest"
+ },
+ {
+ "type": "null"
}
],
- "title": "Input Request",
- "nullable": true
+ "title": "Input Request"
}
}
}
@@ -466,10 +485,12 @@
{
"type": "string",
"format": "uuid"
+ },
+ {
+ "type": "null"
}
],
- "title": "User Id",
- "nullable": true
+ "title": "User Id"
}
}
],
@@ -1069,10 +1090,12 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Component Id",
- "nullable": true
+ "title": "Component Id"
}
},
{
@@ -1083,10 +1106,12 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Search",
- "nullable": true
+ "title": "Search"
}
},
{
@@ -1097,10 +1122,12 @@
"anyOf": [
{
"type": "boolean"
+ },
+ {
+ "type": "null"
}
],
- "title": "Private",
- "nullable": true
+ "title": "Private"
}
},
{
@@ -1111,10 +1138,12 @@
"anyOf": [
{
"type": "boolean"
+ },
+ {
+ "type": "null"
}
],
- "title": "Is Component",
- "nullable": true
+ "title": "Is Component"
}
},
{
@@ -1128,10 +1157,12 @@
"items": {
"type": "string"
}
+ },
+ {
+ "type": "null"
}
],
- "title": "Tags",
- "nullable": true
+ "title": "Tags"
}
},
{
@@ -1145,10 +1176,12 @@
"items": {
"type": "string"
}
+ },
+ {
+ "type": "null"
}
],
- "title": "Sort",
- "nullable": true
+ "title": "Sort"
}
},
{
@@ -1182,10 +1215,12 @@
"items": {
"type": "string"
}
+ },
+ {
+ "type": "null"
}
],
- "title": "Fields",
- "nullable": true
+ "title": "Fields"
}
},
{
@@ -1573,10 +1608,12 @@
{
"type": "string",
"format": "uuid"
+ },
+ {
+ "type": "null"
}
],
- "title": "Folder Id",
- "nullable": true
+ "title": "Folder Id"
}
},
{
@@ -1963,10 +2000,12 @@
{
"type": "string",
"format": "uuid"
+ },
+ {
+ "type": "null"
}
],
- "title": "Folder Id",
- "nullable": true
+ "title": "Folder Id"
}
}
],
@@ -3332,10 +3371,12 @@
{
"type": "string",
"format": "uuid"
+ },
+ {
+ "type": "null"
}
],
- "title": "Flow Id",
- "nullable": true
+ "title": "Flow Id"
}
},
{
@@ -3346,10 +3387,12 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Session Id",
- "nullable": true
+ "title": "Session Id"
}
},
{
@@ -3360,10 +3403,12 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Sender",
- "nullable": true
+ "title": "Sender"
}
},
{
@@ -3374,10 +3419,12 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Sender Name",
- "nullable": true
+ "title": "Sender Name"
}
},
{
@@ -3388,11 +3435,13 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
"default": "timestamp",
- "title": "Order By",
- "nullable": true
+ "title": "Order By"
}
}
],
@@ -3862,10 +3911,12 @@
"anyOf": [
{
"type": "integer"
+ },
+ {
+ "type": "null"
}
],
- "title": "Page",
- "nullable": true
+ "title": "Page"
}
},
{
@@ -3876,10 +3927,12 @@
"anyOf": [
{
"type": "integer"
+ },
+ {
+ "type": "null"
}
],
- "title": "Size",
- "nullable": true
+ "title": "Size"
}
}
],
@@ -4349,20 +4402,24 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Name",
- "nullable": true
+ "title": "Name"
},
"last_used_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
+ },
+ {
+ "type": "null"
}
],
- "title": "Last Used At",
- "nullable": true
+ "title": "Last Used At"
},
"total_uses": {
"type": "integer",
@@ -4378,30 +4435,36 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Api Key",
- "nullable": true
+ "title": "Api Key"
},
"user_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
+ },
+ {
+ "type": "null"
}
],
- "title": "User Id",
- "nullable": true
+ "title": "User Id"
},
"created_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
+ },
+ {
+ "type": "null"
}
],
- "title": "Created At",
- "nullable": true
+ "title": "Created At"
}
},
"type": "object",
@@ -4426,20 +4489,24 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Name",
- "nullable": true
+ "title": "Name"
},
"last_used_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
+ },
+ {
+ "type": "null"
}
],
- "title": "Last Used At",
- "nullable": true
+ "title": "Last Used At"
},
"total_uses": {
"type": "integer",
@@ -4518,17 +4585,21 @@
"anyOf": [
{
"$ref": "#/components/schemas/InputValueRequest"
+ },
+ {
+ "type": "null"
}
- ],
- "nullable": true
+ ]
},
"data": {
"anyOf": [
{
"$ref": "#/components/schemas/FlowDataRequest"
+ },
+ {
+ "type": "null"
}
- ],
- "nullable": true
+ ]
},
"files": {
"anyOf": [
@@ -4537,10 +4608,12 @@
"type": "string"
},
"type": "array"
+ },
+ {
+ "type": "null"
}
],
- "title": "Files",
- "nullable": true
+ "title": "Files"
}
},
"type": "object",
@@ -4552,9 +4625,11 @@
"anyOf": [
{
"$ref": "#/components/schemas/InputValueRequest"
+ },
+ {
+ "type": "null"
}
- ],
- "nullable": true
+ ]
},
"files": {
"anyOf": [
@@ -4563,10 +4638,12 @@
"type": "string"
},
"type": "array"
+ },
+ {
+ "type": "null"
}
],
- "title": "Files",
- "nullable": true
+ "title": "Files"
}
},
"type": "object",
@@ -4595,10 +4672,12 @@
"$ref": "#/components/schemas/InputValueRequest"
},
"type": "array"
+ },
+ {
+ "type": "null"
}
],
- "title": "Inputs",
- "nullable": true
+ "title": "Inputs"
},
"outputs": {
"anyOf": [
@@ -4607,18 +4686,22 @@
"type": "string"
},
"type": "array"
+ },
+ {
+ "type": "null"
}
],
- "title": "Outputs",
- "nullable": true
+ "title": "Outputs"
},
"tweaks": {
"anyOf": [
{
"$ref": "#/components/schemas/Tweaks"
+ },
+ {
+ "type": "null"
}
- ],
- "nullable": true
+ ]
},
"stream": {
"type": "boolean",
@@ -4629,10 +4712,12 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Session Id",
- "nullable": true
+ "title": "Session Id"
}
},
"type": "object",
@@ -4645,10 +4730,12 @@
{
"type": "string",
"pattern": "password"
+ },
+ {
+ "type": "null"
}
],
- "title": "Grant Type",
- "nullable": true
+ "title": "Grant Type"
},
"username": {
"type": "string",
@@ -4667,19 +4754,23 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Client Id",
- "nullable": true
+ "title": "Client Id"
},
"client_secret": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Client Secret",
- "nullable": true
+ "title": "Client Secret"
}
},
"type": "object",
@@ -4758,48 +4849,58 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
"title": "Sender",
- "default": "Machine",
- "nullable": true
+ "default": "Machine"
},
"sender_name": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
"title": "Sender Name",
- "default": "AI",
- "nullable": true
+ "default": "AI"
},
"session_id": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Session Id",
- "nullable": true
+ "title": "Session Id"
},
"stream_url": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Stream Url",
- "nullable": true
+ "title": "Stream Url"
},
"component_id": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Component Id",
- "nullable": true
+ "title": "Component Id"
},
"files": {
"items": {
@@ -4918,10 +5019,12 @@
"type": "string"
},
"type": "array"
+ },
+ {
+ "type": "null"
}
],
- "title": "Media Url",
- "nullable": true
+ "title": "Media Url"
}
},
"type": "object",
@@ -4956,10 +5059,12 @@
"anyOf": [
{
"type": "object"
+ },
+ {
+ "type": "null"
}
],
- "title": "Frontend Node",
- "nullable": true
+ "title": "Frontend Node"
}
},
"type": "object",
@@ -4997,47 +5102,57 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Name",
- "nullable": true
+ "title": "Name"
},
"description": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Description",
- "nullable": true
+ "title": "Description"
},
"data": {
"anyOf": [
{
"type": "object"
+ },
+ {
+ "type": "null"
}
],
- "title": "Data",
- "nullable": true
+ "title": "Data"
},
"is_component": {
"anyOf": [
{
"type": "boolean"
+ },
+ {
+ "type": "null"
}
],
- "title": "Is Component",
- "nullable": true
+ "title": "Is Component"
},
"metadata": {
"anyOf": [
{
"type": "object"
+ },
+ {
+ "type": "null"
}
],
"title": "Metadata",
- "default": {},
- "nullable": true
+ "default": {}
}
},
"type": "object",
@@ -5150,86 +5265,104 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Description",
- "nullable": true
+ "title": "Description"
},
"icon": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Icon",
- "nullable": true
+ "title": "Icon"
},
"icon_bg_color": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Icon Bg Color",
- "nullable": true
+ "title": "Icon Bg Color"
},
"gradient": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Gradient",
- "nullable": true
+ "title": "Gradient"
},
"data": {
"anyOf": [
{
"type": "object"
+ },
+ {
+ "type": "null"
}
],
- "title": "Data",
- "nullable": true
+ "title": "Data"
},
"is_component": {
"anyOf": [
{
"type": "boolean"
+ },
+ {
+ "type": "null"
}
],
"title": "Is Component",
- "default": false,
- "nullable": true
+ "default": false
},
"updated_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
+ },
+ {
+ "type": "null"
}
],
- "title": "Updated At",
- "nullable": true
+ "title": "Updated At"
},
"webhook": {
"anyOf": [
{
"type": "boolean"
+ },
+ {
+ "type": "null"
}
],
"title": "Webhook",
"description": "Can be used on the webhook endpoint",
- "default": false,
- "nullable": true
+ "default": false
},
"endpoint_name": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Endpoint Name",
- "nullable": true
+ "title": "Endpoint Name"
},
"tags": {
"anyOf": [
@@ -5238,21 +5371,25 @@
"type": "string"
},
"type": "array"
+ },
+ {
+ "type": "null"
}
],
"title": "Tags",
- "default": [],
- "nullable": true
+ "default": []
},
"locked": {
"anyOf": [
{
"type": "boolean"
+ },
+ {
+ "type": "null"
}
],
"title": "Locked",
- "default": false,
- "nullable": true
+ "default": false
},
"id": {
"type": "string",
@@ -5264,20 +5401,24 @@
{
"type": "string",
"format": "uuid"
+ },
+ {
+ "type": "null"
}
],
- "title": "User Id",
- "nullable": true
+ "title": "User Id"
},
"folder_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
+ },
+ {
+ "type": "null"
}
],
- "title": "Folder Id",
- "nullable": true
+ "title": "Folder Id"
}
},
"type": "object",
@@ -5297,86 +5438,104 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Description",
- "nullable": true
+ "title": "Description"
},
"icon": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Icon",
- "nullable": true
+ "title": "Icon"
},
"icon_bg_color": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Icon Bg Color",
- "nullable": true
+ "title": "Icon Bg Color"
},
"gradient": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Gradient",
- "nullable": true
+ "title": "Gradient"
},
"data": {
"anyOf": [
{
"type": "object"
+ },
+ {
+ "type": "null"
}
],
- "title": "Data",
- "nullable": true
+ "title": "Data"
},
"is_component": {
"anyOf": [
{
"type": "boolean"
+ },
+ {
+ "type": "null"
}
],
"title": "Is Component",
- "default": false,
- "nullable": true
+ "default": false
},
"updated_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
+ },
+ {
+ "type": "null"
}
],
- "title": "Updated At",
- "nullable": true
+ "title": "Updated At"
},
"webhook": {
"anyOf": [
{
"type": "boolean"
+ },
+ {
+ "type": "null"
}
],
"title": "Webhook",
"description": "Can be used on the webhook endpoint",
- "default": false,
- "nullable": true
+ "default": false
},
"endpoint_name": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Endpoint Name",
- "nullable": true
+ "title": "Endpoint Name"
},
"tags": {
"anyOf": [
@@ -5385,40 +5544,48 @@
"type": "string"
},
"type": "array"
+ },
+ {
+ "type": "null"
}
],
- "title": "Tags",
- "nullable": true
+ "title": "Tags"
},
"locked": {
"anyOf": [
{
"type": "boolean"
+ },
+ {
+ "type": "null"
}
],
"title": "Locked",
- "default": false,
- "nullable": true
+ "default": false
},
"user_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
+ },
+ {
+ "type": "null"
}
],
- "title": "User Id",
- "nullable": true
+ "title": "User Id"
},
"folder_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
+ },
+ {
+ "type": "null"
}
],
- "title": "Folder Id",
- "nullable": true
+ "title": "Folder Id"
}
},
"type": "object",
@@ -5447,10 +5614,12 @@
"anyOf": [
{
"type": "object"
+ },
+ {
+ "type": "null"
}
],
- "title": "Viewport",
- "nullable": true
+ "title": "Viewport"
}
},
"type": "object",
@@ -5478,51 +5647,61 @@
{
"type": "string",
"format": "uuid"
+ },
+ {
+ "type": "null"
}
],
"title": "Folder Id",
- "description": "The ID of the folder containing the flow. None if not associated with a folder",
- "nullable": true
+ "description": "The ID of the folder containing the flow. None if not associated with a folder"
},
"is_component": {
"anyOf": [
{
"type": "boolean"
+ },
+ {
+ "type": "null"
}
],
"title": "Is Component",
- "description": "Flag indicating whether the flow is a component",
- "nullable": true
+ "description": "Flag indicating whether the flow is a component"
},
"endpoint_name": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
"title": "Endpoint Name",
- "description": "The name of the endpoint associated with this flow",
- "nullable": true
+ "description": "The name of the endpoint associated with this flow"
},
"description": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
"title": "Description",
- "description": "A description of the flow",
- "nullable": true
+ "description": "A description of the flow"
},
"data": {
"anyOf": [
{
"type": "object"
+ },
+ {
+ "type": "null"
}
],
"title": "Data",
- "description": "The data of the component, if is_component is True",
- "nullable": true
+ "description": "The data of the component, if is_component is True"
}
},
"type": "object",
@@ -5559,86 +5738,104 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Description",
- "nullable": true
+ "title": "Description"
},
"icon": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Icon",
- "nullable": true
+ "title": "Icon"
},
"icon_bg_color": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Icon Bg Color",
- "nullable": true
+ "title": "Icon Bg Color"
},
"gradient": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Gradient",
- "nullable": true
+ "title": "Gradient"
},
"data": {
"anyOf": [
{
"type": "object"
+ },
+ {
+ "type": "null"
}
],
- "title": "Data",
- "nullable": true
+ "title": "Data"
},
"is_component": {
"anyOf": [
{
"type": "boolean"
+ },
+ {
+ "type": "null"
}
],
"title": "Is Component",
- "default": false,
- "nullable": true
+ "default": false
},
"updated_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
+ },
+ {
+ "type": "null"
}
],
- "title": "Updated At",
- "nullable": true
+ "title": "Updated At"
},
"webhook": {
"anyOf": [
{
"type": "boolean"
+ },
+ {
+ "type": "null"
}
],
"title": "Webhook",
"description": "Can be used on the webhook endpoint",
- "default": false,
- "nullable": true
+ "default": false
},
"endpoint_name": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Endpoint Name",
- "nullable": true
+ "title": "Endpoint Name"
},
"tags": {
"anyOf": [
@@ -5647,20 +5844,24 @@
"type": "string"
},
"type": "array"
+ },
+ {
+ "type": "null"
}
],
- "title": "Tags",
- "nullable": true
+ "title": "Tags"
},
"locked": {
"anyOf": [
{
"type": "boolean"
+ },
+ {
+ "type": "null"
}
],
"title": "Locked",
- "default": false,
- "nullable": true
+ "default": false
},
"id": {
"type": "string",
@@ -5672,20 +5873,24 @@
{
"type": "string",
"format": "uuid"
+ },
+ {
+ "type": "null"
}
],
- "title": "User Id",
- "nullable": true
+ "title": "User Id"
},
"folder_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
+ },
+ {
+ "type": "null"
}
],
- "title": "Folder Id",
- "nullable": true
+ "title": "Folder Id"
}
},
"type": "object",
@@ -5703,56 +5908,68 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Name",
- "nullable": true
+ "title": "Name"
},
"description": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Description",
- "nullable": true
+ "title": "Description"
},
"data": {
"anyOf": [
{
"type": "object"
+ },
+ {
+ "type": "null"
}
],
- "title": "Data",
- "nullable": true
+ "title": "Data"
},
"folder_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
+ },
+ {
+ "type": "null"
}
],
- "title": "Folder Id",
- "nullable": true
+ "title": "Folder Id"
},
"endpoint_name": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Endpoint Name",
- "nullable": true
+ "title": "Endpoint Name"
},
"locked": {
"anyOf": [
{
"type": "boolean"
+ },
+ {
+ "type": "null"
}
],
- "title": "Locked",
- "nullable": true
+ "title": "Locked"
}
},
"type": "object",
@@ -5768,10 +5985,12 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Description",
- "nullable": true
+ "title": "Description"
},
"components_list": {
"anyOf": [
@@ -5781,10 +6000,12 @@
"format": "uuid"
},
"type": "array"
+ },
+ {
+ "type": "null"
}
],
- "title": "Components List",
- "nullable": true
+ "title": "Components List"
},
"flows_list": {
"anyOf": [
@@ -5794,10 +6015,12 @@
"format": "uuid"
},
"type": "array"
+ },
+ {
+ "type": "null"
}
],
- "title": "Flows List",
- "nullable": true
+ "title": "Flows List"
}
},
"type": "object",
@@ -5816,10 +6039,12 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Description",
- "nullable": true
+ "title": "Description"
},
"id": {
"type": "string",
@@ -5831,10 +6056,12 @@
{
"type": "string",
"format": "uuid"
+ },
+ {
+ "type": "null"
}
],
- "title": "Parent Id",
- "nullable": true
+ "title": "Parent Id"
}
},
"type": "object",
@@ -5855,10 +6082,12 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Description",
- "nullable": true
+ "title": "Description"
},
"id": {
"type": "string",
@@ -5870,10 +6099,12 @@
{
"type": "string",
"format": "uuid"
+ },
+ {
+ "type": "null"
}
],
- "title": "Parent Id",
- "nullable": true
+ "title": "Parent Id"
},
"flows": {
"items": {
@@ -5898,29 +6129,35 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Name",
- "nullable": true
+ "title": "Name"
},
"description": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Description",
- "nullable": true
+ "title": "Description"
},
"parent_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
+ },
+ {
+ "type": "null"
}
],
- "title": "Parent Id",
- "nullable": true
+ "title": "Parent Id"
},
"components": {
"items": {
@@ -5968,46 +6205,56 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Description",
- "nullable": true
+ "title": "Description"
},
"icon": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Icon",
- "nullable": true
+ "title": "Icon"
},
"is_input": {
"anyOf": [
{
"type": "boolean"
+ },
+ {
+ "type": "null"
}
],
- "title": "Is Input",
- "nullable": true
+ "title": "Is Input"
},
"is_output": {
"anyOf": [
{
"type": "boolean"
+ },
+ {
+ "type": "null"
}
],
- "title": "Is Output",
- "nullable": true
+ "title": "Is Output"
},
"is_composition": {
"anyOf": [
{
"type": "boolean"
+ },
+ {
+ "type": "null"
}
],
- "title": "Is Composition",
- "nullable": true
+ "title": "Is Composition"
},
"base_classes": {
"items": {
@@ -6025,11 +6272,13 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
"title": "Display Name",
- "default": "",
- "nullable": true
+ "default": ""
},
"documentation": {
"type": "string",
@@ -6045,10 +6294,12 @@
"anyOf": [
{
"type": "object"
+ },
+ {
+ "type": "null"
}
],
- "title": "Custom Fields",
- "nullable": true
+ "title": "Custom Fields"
},
"output_types": {
"items": {
@@ -6062,10 +6313,12 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Full Path",
- "nullable": true
+ "title": "Full Path"
},
"pinned": {
"type": "boolean",
@@ -6115,10 +6368,12 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Error",
- "nullable": true
+ "title": "Error"
},
"edited": {
"type": "boolean",
@@ -6153,46 +6408,56 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Description",
- "nullable": true
+ "title": "Description"
},
"icon": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Icon",
- "nullable": true
+ "title": "Icon"
},
"is_input": {
"anyOf": [
{
"type": "boolean"
+ },
+ {
+ "type": "null"
}
],
- "title": "Is Input",
- "nullable": true
+ "title": "Is Input"
},
"is_output": {
"anyOf": [
{
"type": "boolean"
+ },
+ {
+ "type": "null"
}
],
- "title": "Is Output",
- "nullable": true
+ "title": "Is Output"
},
"is_composition": {
"anyOf": [
{
"type": "boolean"
+ },
+ {
+ "type": "null"
}
],
- "title": "Is Composition",
- "nullable": true
+ "title": "Is Composition"
},
"base_classes": {
"items": {
@@ -6224,10 +6489,12 @@
"anyOf": [
{
"type": "object"
+ },
+ {
+ "type": "null"
}
],
- "title": "Custom Fields",
- "nullable": true
+ "title": "Custom Fields"
},
"output_types": {
"items": {
@@ -6241,10 +6508,12 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Full Path",
- "nullable": true
+ "title": "Full Path"
},
"pinned": {
"type": "boolean",
@@ -6294,10 +6563,12 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Error",
- "nullable": true
+ "title": "Error"
},
"edited": {
"type": "boolean",
@@ -6393,19 +6664,23 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Title",
- "nullable": true
+ "title": "Title"
},
"icon": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Icon",
- "nullable": true
+ "title": "Icon"
}
},
"type": "object",
@@ -6441,29 +6716,35 @@
"type": "string"
},
"type": "array"
+ },
+ {
+ "type": "null"
}
],
"title": "Components",
- "default": [],
- "nullable": true
+ "default": []
},
"input_value": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Input Value",
- "nullable": true
+ "title": "Input Value"
},
"session": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Session",
- "nullable": true
+ "title": "Session"
},
"type": {
"anyOf": [
@@ -6474,25 +6755,57 @@
"text",
"any"
]
+ },
+ {
+ "type": "null"
}
],
"title": "Type",
"description": "Defines on which components the input value should be applied. 'any' applies to all input components.",
- "default": "any",
- "nullable": true
+ "default": "any"
}
},
"additionalProperties": false,
"type": "object",
"title": "InputValueRequest",
- "example": {
- "components": [
- "components_id",
- "Component Name"
- ],
- "input_value": "input_value",
- "session": "session_id"
- }
+ "examples": [
+ {
+ "components": [
+ "components_id",
+ "Component Name"
+ ],
+ "input_value": "input_value",
+ "session": "session_id"
+ },
+ {
+ "components": [
+ "Component Name"
+ ],
+ "input_value": "input_value"
+ },
+ {
+ "input_value": "input_value"
+ },
+ {
+ "components": [
+ "Component Name"
+ ],
+ "input_value": "input_value",
+ "session": "session_id"
+ },
+ {
+ "input_value": "input_value",
+ "session": "session_id"
+ },
+ {
+ "input_value": "input_value",
+ "type": "chat"
+ },
+ {
+ "input_value": "{\"key\": \"value\"}",
+ "type": "json"
+ }
+ ]
},
"JSONContent": {
"type": "object"
@@ -6504,75 +6817,91 @@
{
"type": "string",
"format": "uuid"
+ },
+ {
+ "type": "null"
}
],
- "title": "Id",
- "nullable": true
+ "title": "Id"
},
"name": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Name",
- "nullable": true
+ "title": "Name"
},
"description": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Description",
- "nullable": true
+ "title": "Description"
},
"liked_by_count": {
"anyOf": [
{
"type": "integer"
+ },
+ {
+ "type": "null"
}
],
- "title": "Liked By Count",
- "nullable": true
+ "title": "Liked By Count"
},
"liked_by_user": {
"anyOf": [
{
"type": "boolean"
+ },
+ {
+ "type": "null"
}
],
- "title": "Liked By User",
- "nullable": true
+ "title": "Liked By User"
},
"is_component": {
"anyOf": [
{
"type": "boolean"
+ },
+ {
+ "type": "null"
}
],
- "title": "Is Component",
- "nullable": true
+ "title": "Is Component"
},
"metadata": {
"anyOf": [
{
"type": "object"
+ },
+ {
+ "type": "null"
}
],
"title": "Metadata",
- "default": {},
- "nullable": true
+ "default": {}
},
"user_created": {
"anyOf": [
{
"type": "object"
+ },
+ {
+ "type": "null"
}
],
"title": "User Created",
- "default": {},
- "nullable": true
+ "default": {}
},
"tags": {
"anyOf": [
@@ -6581,37 +6910,45 @@
"$ref": "#/components/schemas/TagResponse"
},
"type": "array"
+ },
+ {
+ "type": "null"
}
],
- "title": "Tags",
- "nullable": true
+ "title": "Tags"
},
"downloads_count": {
"anyOf": [
{
"type": "integer"
+ },
+ {
+ "type": "null"
}
],
- "title": "Downloads Count",
- "nullable": true
+ "title": "Downloads Count"
},
"last_tested_version": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Last Tested Version",
- "nullable": true
+ "title": "Last Tested Version"
},
"private": {
"anyOf": [
{
"type": "boolean"
+ },
+ {
+ "type": "null"
}
],
- "title": "Private",
- "nullable": true
+ "title": "Private"
}
},
"type": "object",
@@ -6623,11 +6960,13 @@
"anyOf": [
{
"type": "integer"
+ },
+ {
+ "type": "null"
}
],
"title": "Count",
- "default": 0,
- "nullable": true
+ "default": 0
},
"authorized": {
"type": "boolean",
@@ -6640,10 +6979,12 @@
"$ref": "#/components/schemas/ListComponentResponse"
},
"type": "array"
+ },
+ {
+ "type": "null"
}
],
- "title": "Results",
- "nullable": true
+ "title": "Results"
}
},
"type": "object",
@@ -6685,10 +7026,12 @@
},
{
"$ref": "#/components/schemas/PlaygroundEvent"
+ },
+ {
+ "type": "null"
}
],
- "title": "Message",
- "nullable": true
+ "title": "Message"
},
"type": {
"type": "string",
@@ -6771,10 +7114,12 @@
{
"type": "string",
"format": "uuid"
+ },
+ {
+ "type": "null"
}
],
- "title": "Flow Id",
- "nullable": true
+ "title": "Flow Id"
}
},
"type": "object",
@@ -6798,20 +7143,24 @@
{
"type": "string",
"format": "uuid"
+ },
+ {
+ "type": "null"
}
],
- "title": "Id",
- "nullable": true
+ "title": "Id"
},
"flow_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
+ },
+ {
+ "type": "null"
}
],
- "title": "Flow Id",
- "nullable": true
+ "title": "Flow Id"
},
"timestamp": {
"type": "string",
@@ -6850,18 +7199,22 @@
"anyOf": [
{
"$ref": "#/components/schemas/Properties"
+ },
+ {
+ "type": "null"
}
- ],
- "nullable": true
+ ]
},
"category": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Category",
- "nullable": true
+ "title": "Category"
},
"content_blocks": {
"anyOf": [
@@ -6870,10 +7223,12 @@
"$ref": "#/components/schemas/ContentBlock"
},
"type": "array"
+ },
+ {
+ "type": "null"
}
],
- "title": "Content Blocks",
- "nullable": true
+ "title": "Content Blocks"
}
},
"type": "object",
@@ -6892,37 +7247,45 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Text",
- "nullable": true
+ "title": "Text"
},
"sender": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Sender",
- "nullable": true
+ "title": "Sender"
},
"sender_name": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Sender Name",
- "nullable": true
+ "title": "Sender Name"
},
"session_id": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Session Id",
- "nullable": true
+ "title": "Session Id"
},
"files": {
"anyOf": [
@@ -6931,36 +7294,44 @@
"type": "string"
},
"type": "array"
+ },
+ {
+ "type": "null"
}
],
- "title": "Files",
- "nullable": true
+ "title": "Files"
},
"edit": {
"anyOf": [
{
"type": "boolean"
+ },
+ {
+ "type": "null"
}
],
- "title": "Edit",
- "nullable": true
+ "title": "Edit"
},
"error": {
"anyOf": [
{
"type": "boolean"
+ },
+ {
+ "type": "null"
}
],
- "title": "Error",
- "nullable": true
+ "title": "Error"
},
"properties": {
"anyOf": [
{
"$ref": "#/components/schemas/Properties"
+ },
+ {
+ "type": "null"
}
- ],
- "nullable": true
+ ]
}
},
"type": "object",
@@ -7035,10 +7406,12 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Selected",
- "nullable": true
+ "title": "Selected"
},
"name": {
"type": "string",
@@ -7049,36 +7422,44 @@
"anyOf": [
{
"type": "boolean"
+ },
+ {
+ "type": "null"
}
],
- "title": "Hidden",
- "nullable": true
+ "title": "Hidden"
},
"display_name": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Display Name",
- "nullable": true
+ "title": "Display Name"
},
"method": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Method",
- "nullable": true
+ "title": "Method"
},
"value": {
"anyOf": [
- {}
+ {},
+ {
+ "type": "null"
+ }
],
"title": "Value",
- "default": "__UNDEFINED__",
- "nullable": true
+ "default": "__UNDEFINED__"
},
"cache": {
"type": "boolean",
@@ -7092,15 +7473,22 @@
"type": "string"
},
"type": "array"
+ },
+ {
+ "type": "null"
}
],
- "title": "Required Inputs",
- "nullable": true
+ "title": "Required Inputs"
},
"allows_loop": {
"type": "boolean",
"title": "Allows Loop",
"default": false
+ },
+ "tool_mode": {
+ "type": "boolean",
+ "title": "Tool Mode",
+ "default": true
}
},
"type": "object",
@@ -7158,40 +7546,48 @@
{
"type": "integer",
"minimum": 0.0
+ },
+ {
+ "type": "null"
}
],
- "title": "Total",
- "nullable": true
+ "title": "Total"
},
"page": {
"anyOf": [
{
"type": "integer",
"minimum": 1.0
+ },
+ {
+ "type": "null"
}
],
- "title": "Page",
- "nullable": true
+ "title": "Page"
},
"size": {
"anyOf": [
{
"type": "integer",
"minimum": 1.0
+ },
+ {
+ "type": "null"
}
],
- "title": "Size",
- "nullable": true
+ "title": "Size"
},
"pages": {
"anyOf": [
{
"type": "integer",
"minimum": 0.0
+ },
+ {
+ "type": "null"
}
],
- "title": "Pages",
- "nullable": true
+ "title": "Pages"
}
},
"type": "object",
@@ -7217,40 +7613,48 @@
{
"type": "integer",
"minimum": 0.0
+ },
+ {
+ "type": "null"
}
],
- "title": "Total",
- "nullable": true
+ "title": "Total"
},
"page": {
"anyOf": [
{
"type": "integer",
"minimum": 1.0
+ },
+ {
+ "type": "null"
}
],
- "title": "Page",
- "nullable": true
+ "title": "Page"
},
"size": {
"anyOf": [
{
"type": "integer",
"minimum": 1.0
+ },
+ {
+ "type": "null"
}
],
- "title": "Size",
- "nullable": true
+ "title": "Size"
},
"pages": {
"anyOf": [
{
"type": "integer",
"minimum": 0.0
+ },
+ {
+ "type": "null"
}
],
- "title": "Pages",
- "nullable": true
+ "title": "Pages"
}
},
"type": "object",
@@ -7276,40 +7680,48 @@
{
"type": "integer",
"minimum": 0.0
+ },
+ {
+ "type": "null"
}
],
- "title": "Total",
- "nullable": true
+ "title": "Total"
},
"page": {
"anyOf": [
{
"type": "integer",
"minimum": 1.0
+ },
+ {
+ "type": "null"
}
],
- "title": "Page",
- "nullable": true
+ "title": "Page"
},
"size": {
"anyOf": [
{
"type": "integer",
"minimum": 1.0
+ },
+ {
+ "type": "null"
}
],
- "title": "Size",
- "nullable": true
+ "title": "Size"
},
"pages": {
"anyOf": [
{
"type": "integer",
"minimum": 0.0
+ },
+ {
+ "type": "null"
}
],
- "title": "Pages",
- "nullable": true
+ "title": "Pages"
}
},
"type": "object",
@@ -7327,18 +7739,22 @@
"anyOf": [
{
"$ref": "#/components/schemas/Properties"
+ },
+ {
+ "type": "null"
}
- ],
- "nullable": true
+ ]
},
"sender_name": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Sender Name",
- "nullable": true
+ "title": "Sender Name"
},
"content_blocks": {
"anyOf": [
@@ -7347,10 +7763,12 @@
"$ref": "#/components/schemas/ContentBlock"
},
"type": "array"
+ },
+ {
+ "type": "null"
}
],
- "title": "Content Blocks",
- "nullable": true
+ "title": "Content Blocks"
},
"format_type": {
"type": "string",
@@ -7370,19 +7788,23 @@
"type": "string"
},
"type": "array"
+ },
+ {
+ "type": "null"
}
],
- "title": "Files",
- "nullable": true
+ "title": "Files"
},
"text": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Text",
- "nullable": true
+ "title": "Text"
},
"timestamp": {
"type": "string",
@@ -7396,10 +7818,12 @@
},
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Id",
- "nullable": true
+ "title": "Id"
}
},
"additionalProperties": true,
@@ -7435,9 +7859,11 @@
"anyOf": [
{
"$ref": "#/components/schemas/FrontendNodeRequest-Output"
+ },
+ {
+ "type": "null"
}
- ],
- "nullable": true
+ ]
}
},
"type": "object",
@@ -7452,19 +7878,23 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Text Color",
- "nullable": true
+ "title": "Text Color"
},
"background_color": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Background Color",
- "nullable": true
+ "title": "Background Color"
},
"edited": {
"type": "boolean",
@@ -7478,10 +7908,12 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Icon",
- "nullable": true
+ "title": "Icon"
},
"allow_markdown": {
"type": "boolean",
@@ -7492,10 +7924,12 @@
"anyOf": [
{
"type": "boolean"
+ },
+ {
+ "type": "null"
}
],
- "title": "Positive Feedback",
- "nullable": true
+ "title": "Positive Feedback"
},
"state": {
"type": "string",
@@ -7520,35 +7954,43 @@
"properties": {
"results": {
"anyOf": [
- {}
+ {},
+ {
+ "type": "null"
+ }
],
- "title": "Results",
- "nullable": true
+ "title": "Results"
},
"artifacts": {
"anyOf": [
- {}
+ {},
+ {
+ "type": "null"
+ }
],
- "title": "Artifacts",
- "nullable": true
+ "title": "Artifacts"
},
"outputs": {
"anyOf": [
{
"type": "object"
+ },
+ {
+ "type": "null"
}
],
- "title": "Outputs",
- "nullable": true
+ "title": "Outputs"
},
"logs": {
"anyOf": [
{
"type": "object"
+ },
+ {
+ "type": "null"
}
],
- "title": "Logs",
- "nullable": true
+ "title": "Logs"
},
"messages": {
"anyOf": [
@@ -7557,56 +7999,68 @@
"$ref": "#/components/schemas/ChatOutputResponse"
},
"type": "array"
+ },
+ {
+ "type": "null"
}
],
- "title": "Messages",
- "nullable": true
+ "title": "Messages"
},
"timedelta": {
"anyOf": [
{
"type": "number"
+ },
+ {
+ "type": "null"
}
],
- "title": "Timedelta",
- "nullable": true
+ "title": "Timedelta"
},
"duration": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Duration",
- "nullable": true
+ "title": "Duration"
},
"component_display_name": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Component Display Name",
- "nullable": true
+ "title": "Component Display Name"
},
"component_id": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Component Id",
- "nullable": true
+ "title": "Component Id"
},
"used_frozen_result": {
"anyOf": [
{
"type": "boolean"
+ },
+ {
+ "type": "null"
}
],
"title": "Used Frozen Result",
- "default": false,
- "nullable": true
+ "default": false
}
},
"type": "object",
@@ -7626,9 +8080,11 @@
"anyOf": [
{
"$ref": "#/components/schemas/ResultData"
+ },
+ {
+ "type": "null"
}
- ],
- "nullable": true
+ ]
},
"type": "array",
"title": "Outputs"
@@ -7646,20 +8102,24 @@
"$ref": "#/components/schemas/RunOutputs"
},
"type": "array"
+ },
+ {
+ "type": "null"
}
],
"title": "Outputs",
- "default": [],
- "nullable": true
+ "default": []
},
"session_id": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Session Id",
- "nullable": true
+ "title": "Session Id"
}
},
"type": "object",
@@ -7672,11 +8132,13 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
"title": "Input Value",
- "description": "The input value",
- "nullable": true
+ "description": "The input value"
},
"input_type": {
"anyOf": [
@@ -7687,12 +8149,14 @@
"text",
"any"
]
+ },
+ {
+ "type": "null"
}
],
"title": "Input Type",
"description": "The input type",
- "default": "chat",
- "nullable": true
+ "default": "chat"
},
"output_type": {
"anyOf": [
@@ -7704,42 +8168,50 @@
"any",
"debug"
]
+ },
+ {
+ "type": "null"
}
],
"title": "Output Type",
"description": "The output type",
- "default": "chat",
- "nullable": true
+ "default": "chat"
},
"output_component": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
"title": "Output Component",
"description": "If there are multiple output components, you can specify the component to get the output from.",
- "default": "",
- "nullable": true
+ "default": ""
},
"tweaks": {
"anyOf": [
{
"$ref": "#/components/schemas/Tweaks"
+ },
+ {
+ "type": "null"
}
],
- "description": "The tweaks",
- "nullable": true
+ "description": "The tweaks"
},
"session_id": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
"title": "Session Id",
- "description": "The session id",
- "nullable": true
+ "description": "The session id"
}
},
"type": "object",
@@ -7751,31 +8223,37 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
"title": "Id",
- "description": "The id of the source component.",
- "nullable": true
+ "description": "The id of the source component."
},
"display_name": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
"title": "Display Name",
- "description": "The display name of the source component.",
- "nullable": true
+ "description": "The display name of the source component."
},
"source": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
"title": "Source",
- "description": "The source of the message. Normally used to display the model name (e.g. 'gpt-4o')",
- "nullable": true
+ "description": "The source of the message. Normally used to display the model name (e.g. 'gpt-4o')"
}
},
"type": "object",
@@ -7802,10 +8280,12 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Name",
- "nullable": true
+ "title": "Name"
},
"output_types": {
"items": {
@@ -7828,10 +8308,12 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Description",
- "nullable": true
+ "title": "Description"
},
"data": {
"type": "object",
@@ -7844,48 +8326,58 @@
"type": "string"
},
"type": "array"
+ },
+ {
+ "type": "null"
}
],
- "title": "Tags",
- "nullable": true
+ "title": "Tags"
},
"parent": {
"anyOf": [
{
"type": "string",
"format": "uuid"
+ },
+ {
+ "type": "null"
}
],
- "title": "Parent",
- "nullable": true
+ "title": "Parent"
},
"is_component": {
"anyOf": [
{
"type": "boolean"
+ },
+ {
+ "type": "null"
}
],
- "title": "Is Component",
- "nullable": true
+ "title": "Is Component"
},
"last_tested_version": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Last Tested Version",
- "nullable": true
+ "title": "Last Tested Version"
},
"private": {
"anyOf": [
{
"type": "boolean"
+ },
+ {
+ "type": "null"
}
],
"title": "Private",
- "default": true,
- "nullable": true
+ "default": true
}
},
"type": "object",
@@ -7922,10 +8414,12 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Name",
- "nullable": true
+ "title": "Name"
}
},
"type": "object",
@@ -7952,10 +8446,12 @@
"type": "string"
},
"type": "array"
+ },
+ {
+ "type": "null"
}
],
- "title": "Inputtypes",
- "nullable": true
+ "title": "Inputtypes"
},
"type": {
"type": "string",
@@ -7979,10 +8475,12 @@
},
"result": {
"anyOf": [
- {}
+ {},
+ {
+ "type": "null"
+ }
],
- "title": "Result",
- "nullable": true
+ "title": "Result"
}
},
"type": "object",
@@ -8036,10 +8534,12 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Target Id",
- "nullable": true
+ "title": "Target Id"
},
"inputs": {
"type": "object",
@@ -8057,10 +8557,12 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Error",
- "nullable": true
+ "title": "Error"
},
"flow_id": {
"type": "string",
@@ -8072,10 +8574,12 @@
{
"type": "string",
"format": "uuid"
+ },
+ {
+ "type": "null"
}
],
- "title": "Id",
- "nullable": true
+ "title": "Id"
}
},
"type": "object",
@@ -8100,15 +8604,17 @@
"type": "object",
"title": "Tweaks",
"description": "A dictionary of tweaks to adjust the flow's execution. Allows customizing flow behavior dynamically. All tweaks are overridden by the input values.",
- "example": {
- "Component Name": {
+ "examples": [
+ {
+ "Component Name": {
+ "parameter_name": "value"
+ },
+ "component_id": {
+ "parameter_name": "value"
+ },
"parameter_name": "value"
- },
- "component_id": {
- "parameter_name": "value"
- },
- "parameter_name": "value"
- }
+ }
+ ]
},
"UnmaskedApiKeyRead": {
"properties": {
@@ -8116,20 +8622,24 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Name",
- "nullable": true
+ "title": "Name"
},
"last_used_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
+ },
+ {
+ "type": "null"
}
],
- "title": "Last Used At",
- "nullable": true
+ "title": "Last Used At"
},
"total_uses": {
"type": "integer",
@@ -8174,10 +8684,12 @@
"anyOf": [
{
"type": "object"
+ },
+ {
+ "type": "null"
}
],
- "title": "Frontend Node",
- "nullable": true
+ "title": "Frontend Node"
},
"field": {
"type": "string",
@@ -8203,10 +8715,12 @@
{
"items": {},
"type": "array"
+ },
+ {
+ "type": "null"
}
],
- "title": "Field Value",
- "nullable": true
+ "title": "Field Value"
},
"template": {
"type": "object",
@@ -8279,19 +8793,23 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Profile Image",
- "nullable": true
+ "title": "Profile Image"
},
"store_api_key": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Store Api Key",
- "nullable": true
+ "title": "Store Api Key"
},
"is_active": {
"type": "boolean",
@@ -8316,10 +8834,12 @@
{
"type": "string",
"format": "date-time"
+ },
+ {
+ "type": "null"
}
],
- "title": "Last Login At",
- "nullable": true
+ "title": "Last Login At"
}
},
"type": "object",
@@ -8341,56 +8861,68 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Username",
- "nullable": true
+ "title": "Username"
},
"profile_image": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Profile Image",
- "nullable": true
+ "title": "Profile Image"
},
"password": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Password",
- "nullable": true
+ "title": "Password"
},
"is_active": {
"anyOf": [
{
"type": "boolean"
+ },
+ {
+ "type": "null"
}
],
- "title": "Is Active",
- "nullable": true
+ "title": "Is Active"
},
"is_superuser": {
"anyOf": [
{
"type": "boolean"
+ },
+ {
+ "type": "null"
}
],
- "title": "Is Superuser",
- "nullable": true
+ "title": "Is Superuser"
},
"last_login_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
+ },
+ {
+ "type": "null"
}
],
- "title": "Last Login At",
- "nullable": true
+ "title": "Last Login At"
}
},
"type": "object",
@@ -8402,19 +8934,23 @@
"anyOf": [
{
"type": "integer"
+ },
+ {
+ "type": "null"
}
],
- "title": "Likes Count",
- "nullable": true
+ "title": "Likes Count"
},
"liked_by_user": {
"anyOf": [
{
"type": "boolean"
+ },
+ {
+ "type": "null"
}
],
- "title": "Liked By User",
- "nullable": true
+ "title": "Liked By User"
}
},
"type": "object",
@@ -8459,18 +8995,22 @@
"anyOf": [
{
"type": "object"
+ },
+ {
+ "type": "null"
}
],
- "title": "Custom Fields",
- "nullable": true
+ "title": "Custom Fields"
},
"frontend_node": {
"anyOf": [
{
"$ref": "#/components/schemas/FrontendNodeRequest-Input"
+ },
+ {
+ "type": "null"
}
- ],
- "nullable": true
+ ]
}
},
"type": "object",
@@ -8532,42 +9072,50 @@
"type": "string"
},
"type": "array"
+ },
+ {
+ "type": "null"
}
],
- "title": "Default Fields",
- "nullable": true
+ "title": "Default Fields"
},
"type": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
"title": "Type",
- "description": "Type of the variable",
- "nullable": true
+ "description": "Type of the variable"
},
"created_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
+ },
+ {
+ "type": "null"
}
],
"title": "Created At",
- "description": "Creation time of the variable",
- "nullable": true
+ "description": "Creation time of the variable"
},
"updated_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
+ },
+ {
+ "type": "null"
}
],
"title": "Updated At",
- "description": "Creation time of the variable",
- "nullable": true
+ "description": "Creation time of the variable"
}
},
"type": "object",
@@ -8589,31 +9137,37 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
"title": "Name",
- "description": "Name of the variable",
- "nullable": true
+ "description": "Name of the variable"
},
"type": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
"title": "Type",
- "description": "Type of the variable",
- "nullable": true
+ "description": "Type of the variable"
},
"value": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
"title": "Value",
- "description": "Encrypted value of the variable",
- "nullable": true
+ "description": "Encrypted value of the variable"
},
"default_fields": {
"anyOf": [
@@ -8622,11 +9176,13 @@
"type": "string"
},
"type": "array"
+ },
+ {
+ "type": "null"
}
],
"title": "Default Fields",
- "description": "Default fields for the variable",
- "nullable": true
+ "description": "Default fields for the variable"
}
},
"type": "object",
@@ -8646,21 +9202,25 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
"title": "Name",
- "description": "Name of the variable",
- "nullable": true
+ "description": "Name of the variable"
},
"value": {
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
"title": "Value",
- "description": "Encrypted value of the variable",
- "nullable": true
+ "description": "Encrypted value of the variable"
},
"default_fields": {
"anyOf": [
@@ -8669,11 +9229,13 @@
"type": "string"
},
"type": "array"
+ },
+ {
+ "type": "null"
}
],
"title": "Default Fields",
- "description": "Default fields for the variable",
- "nullable": true
+ "description": "Default fields for the variable"
}
},
"type": "object",
@@ -8707,10 +9269,12 @@
"anyOf": [
{
"type": "string"
+ },
+ {
+ "type": "null"
}
],
- "title": "Id",
- "nullable": true
+ "title": "Id"
},
"inactivated_vertices": {
"anyOf": [
@@ -8719,10 +9283,12 @@
"type": "string"
},
"type": "array"
+ },
+ {
+ "type": "null"
}
],
- "title": "Inactivated Vertices",
- "nullable": true
+ "title": "Inactivated Vertices"
},
"next_vertices_ids": {
"anyOf": [
@@ -8731,10 +9297,12 @@
"type": "string"
},
"type": "array"
+ },
+ {
+ "type": "null"
}
],
- "title": "Next Vertices Ids",
- "nullable": true
+ "title": "Next Vertices Ids"
},
"top_level_vertices": {
"anyOf": [
@@ -8743,10 +9311,12 @@
"type": "string"
},
"type": "array"
+ },
+ {
+ "type": "null"
}
],
- "title": "Top Level Vertices",
- "nullable": true
+ "title": "Top Level Vertices"
},
"valid": {
"type": "boolean",
@@ -8754,10 +9324,12 @@
},
"params": {
"anyOf": [
- {}
+ {},
+ {
+ "type": "null"
+ }
],
- "title": "Params",
- "nullable": true
+ "title": "Params"
},
"data": {
"type": "object"
@@ -8767,10 +9339,12 @@
{
"type": "string",
"format": "date-time"
+ },
+ {
+ "type": "null"
}
],
- "title": "Timestamp",
- "nullable": true
+ "title": "Timestamp"
}
},
"type": "object",
@@ -8817,10 +9391,12 @@
{
"type": "string",
"format": "uuid"
+ },
+ {
+ "type": "null"
}
],
- "title": "Build Id",
- "nullable": true
+ "title": "Build Id"
}
},
"type": "object",