{ "components": { "schemas": { "AccessTypeEnum": { "enum": [ "PRIVATE", "PUBLIC" ], "title": "AccessTypeEnum", "type": "string" }, "AuthSettings": { "description": "Model representing authentication settings for MCP.", "properties": { "auth_type": { "default": "none", "enum": [ "none", "apikey", "oauth" ], "title": "Auth Type", "type": "string" }, "oauth_auth_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Oauth Auth Url" }, "oauth_callback_path": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Oauth Callback Path" }, "oauth_callback_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Oauth Callback Url" }, "oauth_client_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Oauth Client Id" }, "oauth_client_secret": { "anyOf": [ { "format": "password", "type": "string", "writeOnly": true }, { "type": "null" } ], "title": "Oauth Client Secret" }, "oauth_host": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Oauth Host" }, "oauth_mcp_scope": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Oauth Mcp Scope" }, "oauth_port": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Oauth Port" }, "oauth_provider_scope": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Oauth Provider Scope" }, "oauth_server_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Oauth Server Url" }, "oauth_token_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Oauth Token Url" } }, "title": "AuthSettings", "type": "object" }, "Body_build_flow_api_v1_build__flow_id__flow_post": { "properties": { "data": { "anyOf": [ { "$ref": "#/components/schemas/FlowDataRequest" }, { "type": "null" } ] }, "files": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Files" }, "inputs": { "anyOf": [ { "$ref": "#/components/schemas/InputValueRequest" }, { "type": "null" } ] } }, "title": "Body_build_flow_api_v1_build__flow_id__flow_post", "type": "object" }, "Body_build_public_tmp_api_v1_build_public_tmp__flow_id__flow_post": { "properties": { "files": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Files" }, "inputs": { "anyOf": [ { "$ref": "#/components/schemas/InputValueRequest" }, { "type": "null" } ] } }, "title": "Body_build_public_tmp_api_v1_build_public_tmp__flow_id__flow_post", "type": "object" }, "Body_experimental_run_flow_api_v1_run_advanced__flow_id_or_name__post": { "properties": { "inputs": { "anyOf": [ { "items": { "$ref": "#/components/schemas/InputValueRequest" }, "type": "array" }, { "type": "null" } ], "title": "Inputs" }, "outputs": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Outputs" }, "session_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Session Id" }, "stream": { "default": false, "title": "Stream", "type": "boolean" }, "tweaks": { "anyOf": [ { "$ref": "#/components/schemas/Tweaks" }, { "type": "null" } ] } }, "title": "Body_experimental_run_flow_api_v1_run_advanced__flow_id_or_name__post", "type": "object" }, "Body_simplified_run_flow_api_v1_run__flow_id_or_name__post": { "properties": { "context": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Context" }, "input_request": { "anyOf": [ { "$ref": "#/components/schemas/SimplifiedAPIRequest" }, { "type": "null" } ] } }, "title": "Body_simplified_run_flow_api_v1_run__flow_id_or_name__post", "type": "object" }, "Body_upload_file_api_v1_files_upload__flow_id__post": { "properties": { "file": { "contentMediaType": "application/octet-stream", "title": "File", "type": "string" } }, "required": [ "file" ], "title": "Body_upload_file_api_v1_files_upload__flow_id__post", "type": "object" }, "Body_upload_file_api_v1_flows_upload__post": { "properties": { "file": { "anyOf": [ { "contentMediaType": "application/octet-stream", "type": "string" }, { "type": "null" } ], "title": "File" } }, "title": "Body_upload_file_api_v1_flows_upload__post", "type": "object" }, "Body_upload_file_api_v1_projects_upload__post": { "properties": { "file": { "anyOf": [ { "contentMediaType": "application/octet-stream", "type": "string" }, { "type": "null" } ], "title": "File" } }, "title": "Body_upload_file_api_v1_projects_upload__post", "type": "object" }, "Body_upload_user_file_api_v2_files__post": { "properties": { "file": { "contentMediaType": "application/octet-stream", "title": "File", "type": "string" } }, "required": [ "file" ], "title": "Body_upload_user_file_api_v2_files__post", "type": "object" }, "Body_upload_user_file_api_v2_files_post": { "properties": { "file": { "contentMediaType": "application/octet-stream", "title": "File", "type": "string" } }, "required": [ "file" ], "title": "Body_upload_user_file_api_v2_files_post", "type": "object" }, "CancelFlowResponse": { "description": "Response model for flow build cancellation.", "properties": { "message": { "title": "Message", "type": "string" }, "success": { "title": "Success", "type": "boolean" } }, "required": [ "success", "message" ], "title": "CancelFlowResponse", "type": "object" }, "CatalogPolicyBlockedSet": { "description": "A normalized whole-set catalog block policy.", "properties": { "blocked": { "description": "Complete set of blocked catalog keys for this resource kind.", "items": { "maxLength": 255, "minLength": 1, "type": "string" }, "maxItems": 1000, "title": "Blocked", "type": "array" } }, "required": [ "blocked" ], "title": "CatalogPolicyBlockedSet", "type": "object" }, "CatalogPolicyRead": { "description": "Current catalog block policy and its ownership source.", "properties": { "blocked": { "items": { "type": "string" }, "title": "Blocked", "type": "array" }, "managed_externally": { "title": "Managed Externally", "type": "boolean" } }, "required": [ "blocked", "managed_externally" ], "title": "CatalogPolicyRead", "type": "object" }, "CatalogPolicyUsageFlowRef": { "description": "A flow that uses the queried component.", "properties": { "id": { "format": "uuid", "title": "Id", "type": "string" }, "name": { "title": "Name", "type": "string" } }, "required": [ "id", "name" ], "title": "CatalogPolicyUsageFlowRef", "type": "object" }, "CatalogPolicyUsageFlowsRead": { "description": "Flows affected by blocking one component key.", "properties": { "component": { "title": "Component", "type": "string" }, "flows": { "items": { "$ref": "#/components/schemas/CatalogPolicyUsageFlowRef" }, "title": "Flows", "type": "array" }, "total": { "description": "Total number of matching flows, before the limit is applied.", "title": "Total", "type": "integer" } }, "required": [ "component", "total", "flows" ], "title": "CatalogPolicyUsageFlowsRead", "type": "object" }, "CatalogPolicyUsageRead": { "description": "Per-component flow-usage counts for catalog governance.", "properties": { "components": { "additionalProperties": { "type": "integer" }, "description": "Number of flows using each component, keyed by the canonical registry identity (or the exact stored key for components not in the current registry). A flow is counted once per component.", "title": "Components", "type": "object" }, "flows_scanned": { "description": "Total number of flows examined.", "title": "Flows Scanned", "type": "integer" } }, "required": [ "components", "flows_scanned" ], "title": "CatalogPolicyUsageRead", "type": "object" }, "ChatOutputResponse": { "description": "Chat output response schema.", "properties": { "component_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Component Id" }, "files": { "default": [], "items": { "$ref": "#/components/schemas/lfx__utils__schemas__File" }, "title": "Files", "type": "array" }, "message": { "anyOf": [ { "type": "string" }, { "items": { "anyOf": [ { "type": "string" }, { "additionalProperties": true, "type": "object" } ] }, "type": "array" } ], "title": "Message" }, "sender": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": "Machine", "title": "Sender" }, "sender_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": "AI", "title": "Sender Name" }, "session_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Session Id" }, "stream_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Stream Url" }, "type": { "title": "Type", "type": "string" } }, "required": [ "message", "type" ], "title": "ChatOutputResponse", "type": "object" }, "ComponentOutput": { "description": "Component output schema.", "properties": { "content": { "anyOf": [ {}, { "type": "null" } ], "title": "Content" }, "display_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Human-readable component name. The stable component id remains the ``outputs`` dict key.", "title": "Display Name" }, "metadata": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Metadata" }, "status": { "$ref": "#/components/schemas/JobStatus" }, "type": { "description": "Type of the component output (e.g., 'message', 'data', 'tool', 'text')", "title": "Type", "type": "string" } }, "required": [ "type", "status" ], "title": "ComponentOutput", "type": "object" }, "ComposerUrlResponse": { "description": "Response model for MCP Composer connection details.", "properties": { "error_message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Error Message" }, "legacy_sse_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Legacy Sse Url" }, "project_id": { "title": "Project Id", "type": "string" }, "streamable_http_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Streamable Http Url" }, "uses_composer": { "title": "Uses Composer", "type": "boolean" } }, "required": [ "project_id", "uses_composer" ], "title": "ComposerUrlResponse", "type": "object" }, "ConfigResponse": { "description": "Full configuration response for authenticated users.\n\nThe 'type' field is a discriminator to distinguish from PublicConfigResponse.", "properties": { "a2a_enabled": { "default": false, "title": "A2A Enabled", "type": "boolean" }, "agentic_experience": { "default": true, "title": "Agentic Experience", "type": "boolean" }, "allow_custom_components": { "title": "Allow Custom Components", "type": "boolean" }, "assistant_max_message_length": { "default": 2000, "title": "Assistant Max Message Length", "type": "integer" }, "authz_enabled": { "default": false, "title": "Authz Enabled", "type": "boolean" }, "auto_saving": { "title": "Auto Saving", "type": "boolean" }, "auto_saving_interval": { "title": "Auto Saving Interval", "type": "integer" }, "blocked_component_types": { "default": [], "items": { "type": "string" }, "title": "Blocked Component Types", "type": "array" }, "catalog_governance_enabled": { "default": false, "title": "Catalog Governance Enabled", "type": "boolean" }, "custom_component_admin_only": { "title": "Custom Component Admin Only", "type": "boolean" }, "default_folder_name": { "title": "Default Folder Name", "type": "string" }, "embedded_mode": { "title": "Embedded Mode", "type": "boolean" }, "enable_extension_reload": { "title": "Enable Extension Reload", "type": "boolean" }, "event_delivery": { "enum": [ "polling", "streaming", "direct" ], "title": "Event Delivery", "type": "string" }, "feature_flags": { "$ref": "#/components/schemas/FeatureFlags" }, "frontend_timeout": { "title": "Frontend Timeout", "type": "integer" }, "health_check_max_retries": { "title": "Health Check Max Retries", "type": "integer" }, "hide_getting_started_progress": { "title": "Hide Getting Started Progress", "type": "boolean" }, "hide_logout_button": { "title": "Hide Logout Button", "type": "boolean" }, "hide_new_flow_button": { "title": "Hide New Flow Button", "type": "boolean" }, "hide_new_project_button": { "title": "Hide New Project Button", "type": "boolean" }, "hide_starter_projects": { "title": "Hide Starter Projects", "type": "boolean" }, "local_vector_store_available": { "default": true, "title": "Local Vector Store Available", "type": "boolean" }, "max_file_size_upload": { "title": "Max File Size Upload", "type": "integer" }, "mcp_base_url": { "title": "Mcp Base Url", "type": "string" }, "mcp_servers_locked": { "title": "Mcp Servers Locked", "type": "boolean" }, "public_flow_cleanup_interval": { "title": "Public Flow Cleanup Interval", "type": "integer" }, "public_flow_expiration": { "title": "Public Flow Expiration", "type": "integer" }, "serialization_max_items_length": { "title": "Serialization Max Items Length", "type": "integer" }, "serialization_max_text_length": { "title": "Serialization Max Text Length", "type": "integer" }, "substitute_outdated_component_code": { "title": "Substitute Outdated Component Code", "type": "boolean" }, "type": { "const": "full", "default": "full", "title": "Type", "type": "string" }, "voice_mode_available": { "title": "Voice Mode Available", "type": "boolean" }, "webhook_auth_enable": { "title": "Webhook Auth Enable", "type": "boolean" }, "webhook_polling_interval": { "title": "Webhook Polling Interval", "type": "integer" } }, "required": [ "feature_flags", "max_file_size_upload", "event_delivery", "voice_mode_available", "frontend_timeout", "mcp_base_url", "enable_extension_reload", "substitute_outdated_component_code", "serialization_max_items_length", "serialization_max_text_length", "auto_saving", "auto_saving_interval", "health_check_max_retries", "webhook_polling_interval", "public_flow_cleanup_interval", "public_flow_expiration", "webhook_auth_enable", "default_folder_name", "hide_getting_started_progress", "allow_custom_components", "embedded_mode", "hide_logout_button", "hide_new_project_button", "hide_new_flow_button", "hide_starter_projects", "mcp_servers_locked", "custom_component_admin_only" ], "title": "ConfigResponse", "type": "object" }, "ErrorDetail": { "description": "Error detail schema.", "properties": { "code": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Code" }, "details": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Details" }, "error": { "title": "Error", "type": "string" } }, "required": [ "error" ], "title": "ErrorDetail", "type": "object" }, "EventDeliveryType": { "enum": [ "streaming", "direct", "polling" ], "title": "EventDeliveryType", "type": "string" }, "ExtensionEventResponse": { "properties": { "payload": { "additionalProperties": true, "title": "Payload", "type": "object" }, "timestamp": { "title": "Timestamp", "type": "number" }, "type": { "title": "Type", "type": "string" } }, "required": [ "type", "timestamp", "payload" ], "title": "ExtensionEventResponse", "type": "object" }, "ExtensionEventsResponse": { "properties": { "events": { "items": { "$ref": "#/components/schemas/ExtensionEventResponse" }, "title": "Events", "type": "array" }, "settled": { "title": "Settled", "type": "boolean" } }, "required": [ "events", "settled" ], "title": "ExtensionEventsResponse", "type": "object" }, "FeatureFlags": { "additionalProperties": false, "properties": { "mvp_components": { "default": false, "title": "Mvp Components", "type": "boolean" }, "wxo_deployments": { "default": false, "title": "Wxo Deployments", "type": "boolean" } }, "title": "FeatureFlags", "type": "object" }, "FlowCreate": { "properties": { "a2a_card_overrides": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "description": "User overrides for the generated A2A agent card (skill description, examples, tags)", "title": "A2A Card Overrides" }, "a2a_enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": false, "description": "Can be exposed as an A2A agent (only meaningful when flow_type=agent)", "title": "A2A Enabled" }, "access_type": { "$ref": "#/components/schemas/AccessTypeEnum", "default": "PRIVATE" }, "action_description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The description of the action associated with the flow", "title": "Action Description" }, "action_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The name of the action associated with the flow", "title": "Action Name" }, "data": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Data" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "endpoint_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Endpoint Name" }, "flow_type": { "$ref": "#/components/schemas/FlowType", "default": "workflow", "description": "Whether the flow is a plain workflow or an agent (publishable over A2A)" }, "folder_id": { "anyOf": [ { "format": "uuid", "type": "string" }, { "type": "null" } ], "title": "Folder Id" }, "fs_path": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Fs Path" }, "gradient": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Gradient" }, "icon": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Icon" }, "icon_bg_color": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Icon Bg Color" }, "id": { "anyOf": [ { "format": "uuid", "type": "string" }, { "type": "null" } ], "title": "Id" }, "is_component": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": false, "title": "Is Component" }, "locked": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": false, "title": "Locked" }, "mcp_enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": false, "description": "Can be exposed in the MCP server", "title": "Mcp Enabled" }, "name": { "title": "Name", "type": "string" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Tags" }, "updated_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "title": "Updated At" }, "user_id": { "anyOf": [ { "format": "uuid", "type": "string" }, { "type": "null" } ], "title": "User Id" }, "webhook": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": false, "description": "Can be used on the webhook endpoint", "title": "Webhook" }, "workspace_id": { "anyOf": [ { "format": "uuid", "type": "string" }, { "type": "null" } ], "title": "Workspace Id" } }, "required": [ "name" ], "title": "FlowCreate", "type": "object" }, "FlowDataRequest": { "properties": { "edges": { "items": { "additionalProperties": true, "type": "object" }, "title": "Edges", "type": "array" }, "nodes": { "items": { "additionalProperties": true, "type": "object" }, "title": "Nodes", "type": "array" }, "viewport": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Viewport" } }, "required": [ "nodes", "edges" ], "title": "FlowDataRequest", "type": "object" }, "FlowHeader": { "description": "Model representing a header for a flow - Without the data.", "properties": { "a2a_card_overrides": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "description": "User overrides for the served A2A agent card", "title": "A2A Card Overrides" }, "a2a_enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Flag indicating whether the flow is exposed as an A2A agent", "title": "A2A Enabled" }, "access_type": { "anyOf": [ { "$ref": "#/components/schemas/AccessTypeEnum" }, { "type": "null" } ], "description": "The access type of the flow" }, "action_description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The description of the action associated with the flow", "title": "Action Description" }, "action_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The name of the action associated with the flow", "title": "Action Name" }, "data": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "description": "The data of the component, if is_component is True", "title": "Data" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "A description of the flow", "title": "Description" }, "endpoint_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The name of the endpoint associated with this flow", "title": "Endpoint Name" }, "flow_type": { "anyOf": [ { "$ref": "#/components/schemas/FlowType" }, { "type": "null" } ], "description": "Whether the flow is a plain workflow or an agent" }, "folder_id": { "anyOf": [ { "format": "uuid", "type": "string" }, { "type": "null" } ], "description": "The ID of the folder containing the flow. None if not associated with a folder", "title": "Folder Id" }, "id": { "description": "Unique identifier for the flow", "format": "uuid", "title": "Id", "type": "string" }, "is_component": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Flag indicating whether the flow is a component", "title": "Is Component" }, "mcp_enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Flag indicating whether the flow is exposed in the MCP server", "title": "Mcp Enabled" }, "name": { "description": "The name of the flow", "title": "Name", "type": "string" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "description": "The tags of the flow", "title": "Tags" } }, "required": [ "id", "name" ], "title": "FlowHeader", "type": "object" }, "FlowListCreate": { "properties": { "flows": { "items": { "$ref": "#/components/schemas/FlowCreate" }, "title": "Flows", "type": "array" } }, "required": [ "flows" ], "title": "FlowListCreate", "type": "object" }, "FlowRead": { "properties": { "a2a_card_overrides": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "description": "User overrides for the generated A2A agent card (skill description, examples, tags)", "title": "A2A Card Overrides" }, "a2a_enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": false, "description": "Can be exposed as an A2A agent (only meaningful when flow_type=agent)", "title": "A2A Enabled" }, "access_type": { "$ref": "#/components/schemas/AccessTypeEnum", "default": "PRIVATE" }, "action_description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The description of the action associated with the flow", "title": "Action Description" }, "action_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The name of the action associated with the flow", "title": "Action Name" }, "data": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Data" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "endpoint_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Endpoint Name" }, "flow_type": { "$ref": "#/components/schemas/FlowType", "default": "workflow", "description": "Whether the flow is a plain workflow or an agent (publishable over A2A)" }, "folder_id": { "anyOf": [ { "format": "uuid", "type": "string" }, { "type": "null" } ], "title": "Folder Id" }, "gradient": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Gradient" }, "icon": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Icon" }, "icon_bg_color": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Icon Bg Color" }, "id": { "format": "uuid", "title": "Id", "type": "string" }, "is_component": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": false, "title": "Is Component" }, "locked": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": false, "title": "Locked" }, "mcp_enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": false, "description": "Can be exposed in the MCP server", "title": "Mcp Enabled" }, "name": { "title": "Name", "type": "string" }, "name_key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Stable i18n key derived from the original English name", "title": "Name Key" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "description": "The tags of the flow", "title": "Tags" }, "updated_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "title": "Updated At" }, "user_id": { "anyOf": [ { "format": "uuid", "type": "string" }, { "type": "null" } ], "title": "User Id" }, "webhook": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": false, "description": "Can be used on the webhook endpoint", "title": "Webhook" }, "workspace_id": { "anyOf": [ { "format": "uuid", "type": "string" }, { "type": "null" } ], "title": "Workspace Id" } }, "required": [ "name", "id", "user_id", "folder_id" ], "title": "FlowRead", "type": "object" }, "FlowType": { "enum": [ "workflow", "agent" ], "title": "FlowType", "type": "string" }, "FlowUpdate": { "properties": { "a2a_card_overrides": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "A2A Card Overrides" }, "a2a_enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "A2A Enabled" }, "access_type": { "anyOf": [ { "$ref": "#/components/schemas/AccessTypeEnum" }, { "type": "null" } ] }, "action_description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Action Description" }, "action_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Action Name" }, "data": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Data" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "endpoint_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Endpoint Name" }, "flow_type": { "anyOf": [ { "$ref": "#/components/schemas/FlowType" }, { "type": "null" } ] }, "folder_id": { "anyOf": [ { "format": "uuid", "type": "string" }, { "type": "null" } ], "title": "Folder Id" }, "fs_path": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Fs Path" }, "locked": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Locked" }, "mcp_enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Mcp Enabled" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name" }, "workspace_id": { "anyOf": [ { "format": "uuid", "type": "string" }, { "type": "null" } ], "title": "Workspace Id" } }, "title": "FlowUpdate", "type": "object" }, "FolderCreate": { "properties": { "auth_settings": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "description": "Authentication settings for the folder/project", "title": "Auth Settings" }, "components_list": { "anyOf": [ { "items": { "format": "uuid", "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Components List" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "flows_list": { "anyOf": [ { "items": { "format": "uuid", "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Flows List" }, "name": { "title": "Name", "type": "string" } }, "required": [ "name" ], "title": "FolderCreate", "type": "object" }, "FolderListRead": { "properties": { "auth_settings": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "description": "Authentication settings for the folder/project", "title": "Auth Settings" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "id": { "format": "uuid", "title": "Id", "type": "string" }, "is_owner": { "title": "Is Owner", "type": "boolean" }, "name": { "title": "Name", "type": "string" }, "owner_username": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Owner Username" }, "parent_id": { "anyOf": [ { "format": "uuid", "type": "string" }, { "type": "null" } ], "title": "Parent Id" } }, "required": [ "name", "id", "parent_id", "is_owner" ], "title": "FolderListRead", "type": "object" }, "FolderRead": { "properties": { "auth_settings": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "description": "Authentication settings for the folder/project", "title": "Auth Settings" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "id": { "format": "uuid", "title": "Id", "type": "string" }, "name": { "title": "Name", "type": "string" }, "parent_id": { "anyOf": [ { "format": "uuid", "type": "string" }, { "type": "null" } ], "title": "Parent Id" } }, "required": [ "name", "id", "parent_id" ], "title": "FolderRead", "type": "object" }, "FolderReadWithFlows": { "properties": { "auth_settings": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "description": "Authentication settings for the folder/project", "title": "Auth Settings" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "flows": { "default": [], "items": { "$ref": "#/components/schemas/FlowRead" }, "title": "Flows", "type": "array" }, "id": { "format": "uuid", "title": "Id", "type": "string" }, "name": { "title": "Name", "type": "string" }, "parent_id": { "anyOf": [ { "format": "uuid", "type": "string" }, { "type": "null" } ], "title": "Parent Id" } }, "required": [ "name", "id", "parent_id" ], "title": "FolderReadWithFlows", "type": "object" }, "FolderUpdate": { "properties": { "auth_settings": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Auth Settings" }, "components": { "items": { "format": "uuid", "type": "string" }, "title": "Components", "type": "array" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "flows": { "items": { "format": "uuid", "type": "string" }, "title": "Flows", "type": "array" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name" }, "parent_id": { "anyOf": [ { "format": "uuid", "type": "string" }, { "type": "null" } ], "title": "Parent Id" } }, "title": "FolderUpdate", "type": "object" }, "FolderWithPaginatedFlows": { "properties": { "flows": { "$ref": "#/components/schemas/Page_FlowRead_" }, "folder": { "$ref": "#/components/schemas/FolderRead" } }, "required": [ "folder", "flows" ], "title": "FolderWithPaginatedFlows", "type": "object" }, "GraphData": { "properties": { "edges": { "items": { "additionalProperties": true, "type": "object" }, "title": "Edges", "type": "array" }, "nodes": { "items": { "additionalProperties": true, "type": "object" }, "title": "Nodes", "type": "array" }, "viewport": { "anyOf": [ { "$ref": "#/components/schemas/ViewPort" }, { "type": "null" } ] } }, "required": [ "nodes", "edges" ], "title": "GraphData", "type": "object" }, "GraphDumpResponse": { "properties": { "data": { "$ref": "#/components/schemas/GraphData" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "endpoint_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Endpoint Name" }, "is_component": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Component" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name" }, "name_key": { "title": "Name Key", "type": "string" } }, "required": [ "data", "name_key" ], "title": "GraphDumpResponse", "type": "object" }, "HTTPValidationError": { "properties": { "detail": { "items": { "$ref": "#/components/schemas/ValidationError" }, "title": "Detail", "type": "array" } }, "title": "HTTPValidationError", "type": "object" }, "HealthResponse": { "properties": { "chat": { "default": "error check the server logs", "title": "Chat", "type": "string" }, "db": { "default": "error check the server logs", "title": "Db", "type": "string" }, "status": { "default": "nok", "title": "Status", "type": "string" } }, "title": "HealthResponse", "type": "object" }, "InputValueRequest": { "additionalProperties": false, "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" } ], "properties": { "client_request_time": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "description": "Client-side timestamp in milliseconds when the request was initiated. Used to calculate accurate end-to-end duration.", "title": "Client Request Time" }, "components": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "default": [], "title": "Components" }, "input_value": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Input Value" }, "session": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Session" }, "type": { "anyOf": [ { "enum": [ "chat", "text", "any" ], "type": "string" }, { "type": "null" } ], "default": "any", "description": "Defines on which components the input value should be applied. 'any' applies to all input components.", "title": "Type" } }, "title": "InputValueRequest", "type": "object" }, "JobStatus": { "description": "Job execution status.", "enum": [ "queued", "in_progress", "completed", "failed", "cancelled", "timed_out", "suspended" ], "title": "JobStatus", "type": "string" }, "MCPInstallRequest": { "properties": { "client": { "title": "Client", "type": "string" }, "transport": { "anyOf": [ { "enum": [ "sse", "streamablehttp" ], "type": "string" }, { "type": "null" } ], "title": "Transport" } }, "required": [ "client" ], "title": "MCPInstallRequest", "type": "object" }, "MCPProjectUpdateRequest": { "description": "Request model for updating MCP project settings including auth.", "properties": { "auth_settings": { "anyOf": [ { "$ref": "#/components/schemas/AuthSettings" }, { "type": "null" } ] }, "settings": { "items": { "$ref": "#/components/schemas/MCPSettings" }, "title": "Settings", "type": "array" } }, "required": [ "settings" ], "title": "MCPProjectUpdateRequest", "type": "object" }, "MCPServerConfig": { "additionalProperties": true, "description": "Pydantic model for MCP server configuration.", "properties": { "args": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Args" }, "command": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Command" }, "env": { "anyOf": [ { "additionalProperties": { "type": "string" }, "type": "object" }, { "type": "null" } ], "title": "Env" }, "headers": { "anyOf": [ { "additionalProperties": { "type": "string" }, "type": "object" }, { "type": "null" } ], "title": "Headers" }, "url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Url" } }, "title": "MCPServerConfig", "type": "object" }, "MCPSettings": { "description": "Model representing MCP settings for a flow.", "properties": { "action_description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Action Description" }, "action_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Action Name" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "id": { "format": "uuid", "title": "Id", "type": "string" }, "mcp_enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Mcp Enabled" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name" } }, "required": [ "id" ], "title": "MCPSettings", "type": "object" }, "MessageRead": { "properties": { "category": { "default": "message", "title": "Category", "type": "string" }, "content_blocks": { "items": { "additionalProperties": true, "type": "object" }, "title": "Content Blocks", "type": "array" }, "context_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Context Id" }, "edit": { "default": false, "title": "Edit", "type": "boolean" }, "error": { "default": false, "title": "Error", "type": "boolean" }, "files": { "items": { "type": "string" }, "title": "Files", "type": "array" }, "flow_id": { "anyOf": [ { "format": "uuid", "type": "string" }, { "type": "null" } ], "title": "Flow Id" }, "id": { "format": "uuid", "title": "Id", "type": "string" }, "properties": { "$ref": "#/components/schemas/Properties" }, "run_id": { "anyOf": [ { "format": "uuid", "type": "string" }, { "type": "null" } ], "title": "Run Id" }, "sender": { "title": "Sender", "type": "string" }, "sender_name": { "title": "Sender Name", "type": "string" }, "session_id": { "title": "Session Id", "type": "string" }, "session_metadata": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Session Metadata" }, "text": { "title": "Text", "type": "string" }, "timestamp": { "format": "date-time", "title": "Timestamp", "type": "string" } }, "required": [ "sender", "sender_name", "session_id", "text", "id" ], "title": "MessageRead", "type": "object" }, "MessageResponse": { "properties": { "category": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Category" }, "content_blocks": { "anyOf": [ { "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, { "type": "null" } ], "title": "Content Blocks" }, "context_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Context Id" }, "duration": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Duration" }, "edit": { "title": "Edit", "type": "boolean" }, "files": { "default": [], "items": { "type": "string" }, "title": "Files", "type": "array" }, "flow_id": { "anyOf": [ { "format": "uuid", "type": "string" }, { "type": "null" } ], "title": "Flow Id" }, "id": { "anyOf": [ { "type": "string" }, { "format": "uuid", "type": "string" }, { "type": "null" } ], "title": "Id" }, "properties": { "anyOf": [ { "$ref": "#/components/schemas/Properties" }, { "type": "null" } ] }, "sender": { "title": "Sender", "type": "string" }, "sender_name": { "title": "Sender Name", "type": "string" }, "session_id": { "title": "Session Id", "type": "string" }, "session_metadata": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Session Metadata" }, "text": { "title": "Text", "type": "string" }, "timestamp": { "format": "date-time", "title": "Timestamp", "type": "string" } }, "required": [ "sender", "sender_name", "session_id", "text", "edit" ], "title": "MessageResponse", "type": "object" }, "MessageUpdate": { "properties": { "category": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Category" }, "content_blocks": { "anyOf": [ { "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, { "type": "null" } ], "title": "Content Blocks" }, "context_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Context Id" }, "edit": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Edit" }, "error": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Error" }, "files": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Files" }, "properties": { "anyOf": [ { "$ref": "#/components/schemas/Properties" }, { "type": "null" } ] }, "sender": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Sender" }, "sender_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Sender Name" }, "session_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Session Id" }, "session_metadata": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Session Metadata" }, "text": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Text" } }, "title": "MessageUpdate", "type": "object" }, "ModelProviderPolicyRead": { "description": "Current deployment ceiling plus every provider registered in this process.", "properties": { "approved_provider_ids": { "items": { "type": "string" }, "title": "Approved Provider Ids", "type": "array" }, "managed_externally": { "title": "Managed Externally", "type": "boolean" }, "registered_providers": { "items": { "$ref": "#/components/schemas/RegisteredModelProviderRead" }, "title": "Registered Providers", "type": "array" } }, "required": [ "approved_provider_ids", "registered_providers", "managed_externally" ], "title": "ModelProviderPolicyRead", "type": "object" }, "ModelProviderPolicyWrite": { "description": "Complete replacement for the install-wide approved-provider set.", "properties": { "approved_provider_ids": { "items": { "maxLength": 255, "pattern": "^[a-z0-9][a-z0-9._-]*$", "type": "string" }, "maxItems": 1000, "title": "Approved Provider Ids", "type": "array" } }, "required": [ "approved_provider_ids" ], "title": "ModelProviderPolicyWrite", "type": "object" }, "OpenAIResponsesRequest": { "description": "OpenAI-compatible responses request with flow_id as model parameter.", "properties": { "background": { "default": false, "description": "Whether to process in background", "title": "Background", "type": "boolean" }, "include": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "description": "Additional response data to include, e.g., ['tool_call.results']", "title": "Include" }, "input": { "description": "The input text to process", "title": "Input", "type": "string" }, "model": { "description": "The flow ID to execute (used instead of OpenAI model)", "title": "Model", "type": "string" }, "previous_response_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ID of previous response to continue conversation", "title": "Previous Response Id" }, "stream": { "default": false, "description": "Whether to stream the response", "title": "Stream", "type": "boolean" }, "tools": { "anyOf": [ { "items": {}, "type": "array" }, { "type": "null" } ], "description": "Tools are not supported yet", "title": "Tools" } }, "required": [ "model", "input" ], "title": "OpenAIResponsesRequest", "type": "object" }, "OutputReason": { "description": "Why ``WorkflowOutput.text`` resolved the way it did.\n\nMirrors the LLM-domain ``finish_reason`` / ``stop_reason`` convention: a\nmachine-readable enum explaining the disposition of the answer, distinct from\nthe lifecycle ``status``.", "enum": [ "single", "multiple", "none", "non_string", "failed" ], "title": "OutputReason", "type": "string" }, "Page_FlowRead_": { "properties": { "items": { "items": { "$ref": "#/components/schemas/FlowRead" }, "title": "Items", "type": "array" }, "page": { "minimum": 1.0, "title": "Page", "type": "integer" }, "pages": { "minimum": 0.0, "title": "Pages", "type": "integer" }, "size": { "minimum": 1.0, "title": "Size", "type": "integer" }, "total": { "minimum": 0.0, "title": "Total", "type": "integer" } }, "required": [ "items", "total", "page", "size", "pages" ], "title": "Page[FlowRead]", "type": "object" }, "Page_TransactionLogsResponse_": { "properties": { "items": { "items": { "$ref": "#/components/schemas/TransactionLogsResponse" }, "title": "Items", "type": "array" }, "page": { "minimum": 1.0, "title": "Page", "type": "integer" }, "pages": { "minimum": 0.0, "title": "Pages", "type": "integer" }, "size": { "minimum": 1.0, "title": "Size", "type": "integer" }, "total": { "minimum": 0.0, "title": "Total", "type": "integer" } }, "required": [ "items", "total", "page", "size", "pages" ], "title": "Page[TransactionLogsResponse]", "type": "object" }, "PasswordResetRequest": { "properties": { "current_password": { "title": "Current Password", "type": "string" }, "password": { "title": "Password", "type": "string" } }, "required": [ "current_password", "password" ], "title": "PasswordResetRequest", "type": "object" }, "PolicyBundleHistoryRead": { "properties": { "items": { "items": { "$ref": "#/components/schemas/PolicyBundleRead" }, "title": "Items", "type": "array" }, "next_before_revision": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Next Before Revision" } }, "required": [ "items", "next_before_revision" ], "title": "PolicyBundleHistoryRead", "type": "object" }, "PolicyBundleRead": { "properties": { "approved_provider_ids": { "items": { "type": "string" }, "title": "Approved Provider Ids", "type": "array" }, "blocked_component_keys": { "items": { "type": "string" }, "title": "Blocked Component Keys", "type": "array" }, "blocked_model_keys": { "items": { "type": "string" }, "title": "Blocked Model Keys", "type": "array" }, "blocked_template_keys": { "items": { "type": "string" }, "title": "Blocked Template Keys", "type": "array" }, "content_hash": { "title": "Content Hash", "type": "string" }, "created_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "title": "Created At" }, "created_by": { "anyOf": [ { "format": "uuid", "type": "string" }, { "type": "null" } ], "title": "Created By" }, "initialized": { "title": "Initialized", "type": "boolean" }, "managed_externally": { "default": false, "title": "Managed Externally", "type": "boolean" }, "reason": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Reason" }, "revision": { "title": "Revision", "type": "integer" }, "rollback_of_revision": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Rollback Of Revision" }, "source": { "title": "Source", "type": "string" } }, "required": [ "revision", "initialized", "source", "approved_provider_ids", "blocked_component_keys", "blocked_template_keys", "blocked_model_keys", "content_hash", "created_at", "created_by", "reason", "rollback_of_revision" ], "title": "PolicyBundleRead", "type": "object" }, "PolicyBundleRollbackWrite": { "properties": { "expected_revision": { "minimum": 1.0, "title": "Expected Revision", "type": "integer" }, "reason": { "anyOf": [ { "maxLength": 1024, "type": "string" }, { "type": "null" } ], "title": "Reason" } }, "required": [ "expected_revision" ], "title": "PolicyBundleRollbackWrite", "type": "object" }, "PolicyBundleWrite": { "description": "Complete replacement guarded by the caller's observed revision.", "properties": { "approved_provider_ids": { "items": { "maxLength": 255, "pattern": "^[a-z0-9][a-z0-9._-]*$", "type": "string" }, "maxItems": 1000, "title": "Approved Provider Ids", "type": "array" }, "blocked_component_keys": { "items": { "maxLength": 255, "minLength": 1, "type": "string" }, "maxItems": 1000, "title": "Blocked Component Keys", "type": "array" }, "blocked_model_keys": { "items": { "maxLength": 255, "minLength": 1, "type": "string" }, "maxItems": 1000, "title": "Blocked Model Keys", "type": "array" }, "blocked_template_keys": { "items": { "maxLength": 255, "minLength": 1, "type": "string" }, "maxItems": 1000, "title": "Blocked Template Keys", "type": "array" }, "expected_revision": { "minimum": 1.0, "title": "Expected Revision", "type": "integer" }, "reason": { "anyOf": [ { "maxLength": 1024, "type": "string" }, { "type": "null" } ], "title": "Reason" } }, "required": [ "expected_revision", "approved_provider_ids", "blocked_component_keys", "blocked_template_keys" ], "title": "PolicyBundleWrite", "type": "object" }, "Properties": { "properties": { "allow_markdown": { "default": false, "title": "Allow Markdown", "type": "boolean" }, "background_color": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Background Color" }, "build_duration": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Build Duration" }, "edited": { "default": false, "title": "Edited", "type": "boolean" }, "icon": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Icon" }, "positive_feedback": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Positive Feedback" }, "source": { "$ref": "#/components/schemas/Source" }, "state": { "default": "complete", "enum": [ "partial", "complete" ], "title": "State", "type": "string" }, "targets": { "default": [], "items": {}, "title": "Targets", "type": "array" }, "text_color": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Text Color" }, "usage": { "anyOf": [ { "$ref": "#/components/schemas/Usage" }, { "type": "null" } ] } }, "title": "Properties", "type": "object" }, "PublicConfigResponse": { "description": "Configuration response for public/unauthenticated endpoints like the public playground.\n\nContains only the configuration values needed for public features, without sensitive data.\nThe 'type' field is a discriminator to distinguish from full ConfigResponse.", "properties": { "allow_custom_components": { "title": "Allow Custom Components", "type": "boolean" }, "authz_enabled": { "default": false, "title": "Authz Enabled", "type": "boolean" }, "catalog_governance_enabled": { "default": false, "title": "Catalog Governance Enabled", "type": "boolean" }, "enable_extension_reload": { "title": "Enable Extension Reload", "type": "boolean" }, "event_delivery": { "enum": [ "polling", "streaming", "direct" ], "title": "Event Delivery", "type": "string" }, "feature_flags": { "$ref": "#/components/schemas/FeatureFlags" }, "frontend_timeout": { "title": "Frontend Timeout", "type": "integer" }, "max_file_size_upload": { "title": "Max File Size Upload", "type": "integer" }, "mcp_base_url": { "title": "Mcp Base Url", "type": "string" }, "substitute_outdated_component_code": { "title": "Substitute Outdated Component Code", "type": "boolean" }, "type": { "const": "public", "default": "public", "title": "Type", "type": "string" }, "voice_mode_available": { "title": "Voice Mode Available", "type": "boolean" } }, "required": [ "feature_flags", "max_file_size_upload", "event_delivery", "voice_mode_available", "frontend_timeout", "mcp_base_url", "enable_extension_reload", "substitute_outdated_component_code", "allow_custom_components" ], "title": "PublicConfigResponse", "type": "object" }, "PublicFlowCapabilities": { "description": "Anonymous direct-link capabilities for one flow.\n\nSerialized into direct-link responses so a client renders the actions this\nlayer would actually allow, rather than re-deriving them from the legacy\n``Flow.access_type`` flag.", "properties": { "can_execute": { "description": "Anonymous callers may run this flow at its direct link.", "title": "Can Execute", "type": "boolean" }, "can_read": { "description": "Anonymous callers may read this flow at its direct link.", "title": "Can Read", "type": "boolean" } }, "required": [ "can_read", "can_execute" ], "title": "PublicFlowCapabilities", "type": "object" }, "PublicFlowRead": { "description": "A direct-link flow payload plus the capabilities its visitor actually has.\n\n``access_type`` alone cannot answer that question: a canonical\n``AuthzShare(scope=public)`` admits a flow that is still PRIVATE, and the\nshare's permission level — not the legacy flag — decides whether the visitor\nmay run it. Clients gate on ``public_access`` so the UI matches the\nauthorization decision that admitted the request.", "properties": { "a2a_card_overrides": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "description": "User overrides for the generated A2A agent card (skill description, examples, tags)", "title": "A2A Card Overrides" }, "a2a_enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": false, "description": "Can be exposed as an A2A agent (only meaningful when flow_type=agent)", "title": "A2A Enabled" }, "access_type": { "$ref": "#/components/schemas/AccessTypeEnum", "default": "PRIVATE" }, "action_description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The description of the action associated with the flow", "title": "Action Description" }, "action_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The name of the action associated with the flow", "title": "Action Name" }, "data": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Data" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "endpoint_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Endpoint Name" }, "flow_type": { "$ref": "#/components/schemas/FlowType", "default": "workflow", "description": "Whether the flow is a plain workflow or an agent (publishable over A2A)" }, "folder_id": { "anyOf": [ { "format": "uuid", "type": "string" }, { "type": "null" } ], "title": "Folder Id" }, "gradient": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Gradient" }, "icon": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Icon" }, "icon_bg_color": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Icon Bg Color" }, "id": { "format": "uuid", "title": "Id", "type": "string" }, "is_component": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": false, "title": "Is Component" }, "locked": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": false, "title": "Locked" }, "mcp_enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": false, "description": "Can be exposed in the MCP server", "title": "Mcp Enabled" }, "name": { "title": "Name", "type": "string" }, "name_key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Stable i18n key derived from the original English name", "title": "Name Key" }, "public_access": { "$ref": "#/components/schemas/PublicFlowCapabilities", "description": "Anonymous actions permitted on this flow at its direct link." }, "tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "description": "The tags of the flow", "title": "Tags" }, "updated_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "title": "Updated At" }, "user_id": { "anyOf": [ { "format": "uuid", "type": "string" }, { "type": "null" } ], "title": "User Id" }, "webhook": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": false, "description": "Can be used on the webhook endpoint", "title": "Webhook" }, "workspace_id": { "anyOf": [ { "format": "uuid", "type": "string" }, { "type": "null" } ], "title": "Workspace Id" } }, "required": [ "name", "id", "user_id", "folder_id", "public_access" ], "title": "PublicFlowRead", "type": "object" }, "RegisteredModelProviderRead": { "description": "Stable provider identity exposed to the administrative picker.", "properties": { "display_name": { "title": "Display Name", "type": "string" }, "provider": { "title": "Provider", "type": "string" }, "provider_id": { "title": "Provider Id", "type": "string" } }, "required": [ "provider_id", "display_name", "provider" ], "title": "RegisteredModelProviderRead", "type": "object" }, "ResultData": { "properties": { "artifacts": { "anyOf": [ {}, { "type": "null" } ], "title": "Artifacts" }, "component_display_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Component Display Name" }, "component_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Component Id" }, "duration": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Duration" }, "logs": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Logs" }, "messages": { "anyOf": [ { "items": { "$ref": "#/components/schemas/ChatOutputResponse" }, "type": "array" }, { "type": "null" } ], "title": "Messages" }, "outputs": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Outputs" }, "results": { "anyOf": [ {}, { "type": "null" } ], "title": "Results" }, "timedelta": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Timedelta" }, "token_usage": { "anyOf": [ { "$ref": "#/components/schemas/Usage" }, { "type": "null" } ] }, "used_frozen_result": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": false, "title": "Used Frozen Result" } }, "title": "ResultData", "type": "object" }, "RunOutputs": { "properties": { "inputs": { "additionalProperties": true, "title": "Inputs", "type": "object" }, "outputs": { "items": { "anyOf": [ { "$ref": "#/components/schemas/ResultData" }, { "type": "null" } ] }, "title": "Outputs", "type": "array" } }, "title": "RunOutputs", "type": "object" }, "RunResponse": { "description": "Run response schema.", "properties": { "outputs": { "anyOf": [ { "items": { "$ref": "#/components/schemas/RunOutputs" }, "type": "array" }, { "type": "null" } ], "default": [], "title": "Outputs" }, "session_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Session Id" } }, "title": "RunResponse", "type": "object" }, "SimplifiedAPIRequest": { "properties": { "input_type": { "anyOf": [ { "enum": [ "chat", "text", "any" ], "type": "string" }, { "type": "null" } ], "default": "chat", "description": "The input type", "title": "Input Type" }, "input_value": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The input value", "title": "Input Value" }, "output_component": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": "", "description": "If there are multiple output components, you can specify the component to get the output from.", "title": "Output Component" }, "output_type": { "anyOf": [ { "enum": [ "chat", "text", "any", "debug" ], "type": "string" }, { "type": "null" } ], "default": "chat", "description": "The output type", "title": "Output Type" }, "session_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The session id", "title": "Session Id" }, "tweaks": { "anyOf": [ { "$ref": "#/components/schemas/Tweaks" }, { "type": "null" } ], "description": "The tweaks" }, "user_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional end-user identifier forwarded to tracing providers (e.g. Langfuse) as the trace's user_id. Does not affect authentication or authorization — the API key owner remains the effective Langflow user.", "title": "User Id" } }, "title": "SimplifiedAPIRequest", "type": "object" }, "Source": { "properties": { "display_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The display name of the source component.", "title": "Display Name" }, "id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The id of the source component.", "title": "Id" }, "source": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The source of the message. Normally used to display the model name (e.g. 'gpt-4o')", "title": "Source" } }, "title": "Source", "type": "object" }, "SpanReadResponse": { "description": "Response model for a single span, with nested children.\n\nSerializes to camelCase JSON to match the frontend API contract.", "properties": { "children": { "items": { "$ref": "#/components/schemas/SpanReadResponse" }, "title": "Children", "type": "array" }, "endTime": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "title": "Endtime" }, "error": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Error" }, "id": { "format": "uuid", "title": "Id", "type": "string" }, "inputs": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Inputs" }, "latencyMs": { "title": "Latencyms", "type": "integer" }, "modelName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Modelname" }, "name": { "title": "Name", "type": "string" }, "outputs": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Outputs" }, "startTime": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "title": "Starttime" }, "status": { "$ref": "#/components/schemas/SpanStatus" }, "tokenUsage": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Tokenusage" }, "type": { "$ref": "#/components/schemas/SpanType" } }, "required": [ "id", "name", "type", "status", "startTime", "endTime", "latencyMs", "inputs", "outputs", "error", "modelName", "tokenUsage" ], "title": "SpanReadResponse", "type": "object" }, "SpanStatus": { "description": "OpenTelemetry status codes.\n\n- UNSET: Default status, span has not ended yet\n- OK: Span completed successfully\n- ERROR: Span completed with an error", "enum": [ "unset", "ok", "error" ], "title": "SpanStatus", "type": "string" }, "SpanType": { "description": "Types of spans that can be recorded.", "enum": [ "chain", "llm", "tool", "retriever", "embedding", "parser", "agent" ], "title": "SpanType", "type": "string" }, "TraceListResponse": { "description": "Paginated list response for traces.", "properties": { "pages": { "title": "Pages", "type": "integer" }, "total": { "title": "Total", "type": "integer" }, "traces": { "items": { "$ref": "#/components/schemas/TraceSummaryRead" }, "title": "Traces", "type": "array" } }, "required": [ "traces", "total", "pages" ], "title": "TraceListResponse", "type": "object" }, "TraceRead": { "description": "Response model for a single trace with its hierarchical span tree.\n\nSerializes to camelCase JSON to match the frontend API contract.", "properties": { "endTime": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "title": "Endtime" }, "flowId": { "format": "uuid", "title": "Flowid", "type": "string" }, "id": { "format": "uuid", "title": "Id", "type": "string" }, "input": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "string" }, { "type": "null" } ], "title": "Input" }, "name": { "title": "Name", "type": "string" }, "output": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "string" }, { "type": "null" } ], "title": "Output" }, "sessionId": { "title": "Sessionid", "type": "string" }, "spans": { "items": { "$ref": "#/components/schemas/SpanReadResponse" }, "title": "Spans", "type": "array" }, "startTime": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "title": "Starttime" }, "status": { "$ref": "#/components/schemas/SpanStatus" }, "totalLatencyMs": { "title": "Totallatencyms", "type": "integer" }, "totalTokens": { "title": "Totaltokens", "type": "integer" } }, "required": [ "id", "name", "status", "startTime", "endTime", "totalLatencyMs", "totalTokens", "flowId", "sessionId" ], "title": "TraceRead", "type": "object" }, "TraceSummaryRead": { "description": "Lightweight trace model for list endpoint.\n\nSerializes to camelCase JSON to match the frontend API contract.", "properties": { "flowId": { "format": "uuid", "title": "Flowid", "type": "string" }, "id": { "format": "uuid", "title": "Id", "type": "string" }, "input": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "string" }, { "type": "null" } ], "title": "Input" }, "name": { "title": "Name", "type": "string" }, "output": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "string" }, { "type": "null" } ], "title": "Output" }, "sessionId": { "title": "Sessionid", "type": "string" }, "startTime": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "title": "Starttime" }, "status": { "$ref": "#/components/schemas/SpanStatus" }, "totalLatencyMs": { "title": "Totallatencyms", "type": "integer" }, "totalTokens": { "title": "Totaltokens", "type": "integer" } }, "required": [ "id", "name", "status", "startTime", "totalLatencyMs", "totalTokens", "flowId", "sessionId" ], "title": "TraceSummaryRead", "type": "object" }, "TransactionLogsResponse": { "description": "Transaction response model for logs view - excludes error and flow_id fields.", "properties": { "id": { "format": "uuid", "title": "Id", "type": "string" }, "inputs": { "additionalProperties": true, "title": "Inputs", "type": "object" }, "outputs": { "additionalProperties": true, "title": "Outputs", "type": "object" }, "status": { "title": "Status", "type": "string" }, "target_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Target Id" }, "timestamp": { "format": "date-time", "title": "Timestamp", "type": "string" }, "vertex_id": { "title": "Vertex Id", "type": "string" } }, "required": [ "id", "vertex_id", "status" ], "title": "TransactionLogsResponse", "type": "object" }, "Tweaks": { "additionalProperties": { "anyOf": [ { "type": "boolean" }, { "type": "integer" }, { "type": "number" }, { "type": "string" }, { "additionalProperties": true, "type": "object" } ] }, "description": "A dictionary of tweaks to adjust the flow's execution. Allows customizing flow behavior dynamically. All tweaks are overridden by the input values.", "examples": [ { "Component Name": { "parameter_name": "value" }, "component_id": { "parameter_name": "value" }, "parameter_name": "value", "stream": false, "temperature": 0.7 } ], "title": "Tweaks", "type": "object" }, "Usage": { "description": "Token usage information from LLM responses.", "properties": { "input_tokens": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Input Tokens" }, "output_tokens": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Output Tokens" }, "total_tokens": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Total Tokens" } }, "title": "Usage", "type": "object" }, "UserCreate": { "properties": { "optins": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": { "dialog_dismissed": false, "discord_clicked": false, "github_starred": false }, "title": "Optins" }, "password": { "title": "Password", "type": "string" }, "username": { "title": "Username", "type": "string" } }, "required": [ "username", "password" ], "title": "UserCreate", "type": "object" }, "UserRead": { "properties": { "create_at": { "format": "date-time", "title": "Create At", "type": "string" }, "id": { "format": "uuid", "title": "Id", "type": "string" }, "is_active": { "title": "Is Active", "type": "boolean" }, "is_superuser": { "title": "Is Superuser", "type": "boolean" }, "last_login_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "title": "Last Login At" }, "optins": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Optins" }, "profile_image": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Profile Image" }, "store_api_key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Store Api Key" }, "updated_at": { "format": "date-time", "title": "Updated At", "type": "string" }, "username": { "title": "Username", "type": "string" } }, "required": [ "username", "profile_image", "store_api_key", "is_active", "is_superuser", "create_at", "updated_at", "last_login_at" ], "title": "UserRead", "type": "object" }, "UserUpdate": { "properties": { "is_active": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Active" }, "is_superuser": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Superuser" }, "last_login_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "title": "Last Login At" }, "optins": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Optins" }, "password": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Password" }, "profile_image": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Profile Image" }, "username": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Username" } }, "title": "UserUpdate", "type": "object" }, "UsersResponse": { "properties": { "total_count": { "title": "Total Count", "type": "integer" }, "users": { "items": { "$ref": "#/components/schemas/UserRead" }, "title": "Users", "type": "array" } }, "required": [ "total_count", "users" ], "title": "UsersResponse", "type": "object" }, "ValidationError": { "properties": { "ctx": { "title": "Context", "type": "object" }, "input": { "title": "Input" }, "loc": { "items": { "anyOf": [ { "type": "string" }, { "type": "integer" } ] }, "title": "Location", "type": "array" }, "msg": { "title": "Message", "type": "string" }, "type": { "title": "Error Type", "type": "string" } }, "required": [ "loc", "msg", "type" ], "title": "ValidationError", "type": "object" }, "VertexBuildMapModel": { "properties": { "vertex_builds": { "additionalProperties": { "items": { "$ref": "#/components/schemas/VertexBuildTable" }, "type": "array" }, "title": "Vertex Builds", "type": "object" } }, "required": [ "vertex_builds" ], "title": "VertexBuildMapModel", "type": "object" }, "VertexBuildTable": { "properties": { "artifacts": { "additionalProperties": true, "title": "Artifacts", "type": "object" }, "build_id": { "anyOf": [ { "format": "uuid", "type": "string" }, { "type": "null" } ], "title": "Build Id" }, "data": { "additionalProperties": true, "title": "Data", "type": "object" }, "flow_id": { "format": "uuid", "title": "Flow Id", "type": "string" }, "id": { "title": "Id", "type": "string" }, "job_id": { "anyOf": [ { "format": "uuid", "type": "string" }, { "type": "null" } ], "title": "Job Id" }, "params": { "title": "Params", "type": "string" }, "timestamp": { "format": "date-time", "title": "Timestamp", "type": "string" }, "valid": { "title": "Valid", "type": "boolean" } }, "required": [ "id", "valid", "flow_id" ], "title": "VertexBuildTable", "type": "object" }, "ViewPort": { "properties": { "x": { "title": "X", "type": "number" }, "y": { "title": "Y", "type": "number" }, "zoom": { "title": "Zoom", "type": "number" } }, "required": [ "x", "y", "zoom" ], "title": "ViewPort", "type": "object" }, "WorkflowMode": { "description": "Execution mode for a v2 workflow run.", "enum": [ "sync", "stream", "background" ], "title": "WorkflowMode", "type": "string" }, "WorkflowOutput": { "description": "The run's primary text answer plus the reason it resolved that way.", "properties": { "reason": { "$ref": "#/components/schemas/OutputReason", "description": "Why ``text`` is or isn't populated. ``single`` means ``text`` holds the answer; ``multiple`` / ``none`` / ``non_string`` / ``failed`` mean ``text`` is null and name why, so callers never have to guess." }, "source": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Component id that produced ``text``. Set only when ``reason`` is ``single``.", "title": "Source" }, "text": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The run's text answer. Set only when ``reason`` is ``single``. Empty string is a valid answer.", "title": "Text" } }, "required": [ "reason" ], "title": "WorkflowOutput", "type": "object" }, "WorkflowResumeRequest": { "description": "Request schema for resuming a suspended (human-in-the-loop) workflow.", "properties": { "decision": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Decision" }, "request_id": { "title": "Request Id", "type": "string" } }, "required": [ "request_id" ], "title": "WorkflowResumeRequest", "type": "object" }, "WorkflowResumeResponse": { "description": "Response schema for resuming a workflow.", "properties": { "job_id": { "anyOf": [ { "type": "string" }, { "format": "uuid", "type": "string" } ], "title": "Job Id" }, "message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Message" }, "status": { "title": "Status", "type": "string" } }, "required": [ "job_id", "status" ], "title": "WorkflowResumeResponse", "type": "object" }, "WorkflowRunRequest": { "additionalProperties": false, "description": "Request schema for ``POST /api/v2/workflows`` (v2 native body).\n\nFirst-class fields for everything callers actually configure when running a\nflow. Streaming protocol is selected by ``stream_protocol``; the endpoint\nvalidates it against the live adapter registry and returns 422 with the\navailable list when unknown.", "examples": [ { "flow_id": "67ccd2be-17f0-8190-81ff-3bb2cf6508e6", "input_value": "Hello, how can you help me today?" }, { "flow_id": "67ccd2be-17f0-8190-81ff-3bb2cf6508e6", "input_value": "Stream this conversation", "mode": "stream" }, { "flow_id": "67ccd2be-17f0-8190-81ff-3bb2cf6508e6", "input_value": "Drive the canvas", "mode": "stream", "session_id": "session-123", "stream_protocol": "agui" }, { "flow_id": "67ccd2be-17f0-8190-81ff-3bb2cf6508e6", "input_value": "Process in the background", "mode": "background" } ], "properties": { "data": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "description": "Optional live-canvas override of the flow's nodes/edges; takes priority over the saved flow data.", "title": "Data" }, "files": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "description": "Optional list of pre-uploaded file paths to attach to the run.", "title": "Files" }, "flow_id": { "description": "UUID of the flow to run.", "title": "Flow Id", "type": "string" }, "globals": { "additionalProperties": { "maxLength": 65536, "type": "string" }, "description": "Request-level global variables made available to workflow components. Keys may use any printable string up to 256 chars; values are capped at 65536 chars. Body globals always win over the legacy ``X-LANGFLOW-GLOBAL-VAR-*`` headers. Honored in sync mode; ignored for stream/background modes.", "propertyNames": { "maxLength": 256, "minLength": 1 }, "title": "Globals", "type": "object" }, "idempotency_key": { "anyOf": [ { "maxLength": 255, "type": "string" }, { "type": "null" } ], "description": "Optional client-supplied key that dedupes background submits. Two background runs with the same key return the same job_id instead of queuing duplicate work. Ignored for sync/stream modes.", "title": "Idempotency Key" }, "input_value": { "default": "", "description": "Chat-style input value.", "title": "Input Value", "type": "string" }, "mode": { "$ref": "#/components/schemas/WorkflowMode", "default": "sync", "description": "Execution mode. ``sync`` runs inline and returns the aggregated response; ``stream`` returns SSE; ``background`` queues a job." }, "output_ids": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "description": "Component ids of the outputs you want as the answer (sync mode). When set, ``output.text`` resolves among only these, so naming one text output makes ``output.reason`` deterministic on multi-output flows. The full ``outputs`` map is still returned. Ids must be outputs of this flow or the request is rejected before the flow runs. Ignored for stream/background modes.", "title": "Output Ids" }, "session_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "When set, message memory and chat history scope to this session.", "title": "Session Id" }, "start_component_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Partial-run start component id.", "title": "Start Component Id" }, "stop_component_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Partial-run stop component id.", "title": "Stop Component Id" }, "stream_protocol": { "default": "langflow", "description": "Wire protocol for streaming events. Defaults to ``langflow`` (raw EventManager payloads). ``agui`` emits AG-UI events. Unknown values return 422 with the available list. Ignored when mode=sync.", "title": "Stream Protocol", "type": "string" }, "tweaks": { "additionalProperties": true, "description": "Per-component parameter overrides keyed by component id.", "title": "Tweaks", "type": "object" } }, "required": [ "flow_id" ], "title": "WorkflowRunRequest", "type": "object" }, "WorkflowStopRequest": { "description": "Request schema for stopping workflow.", "properties": { "job_id": { "anyOf": [ { "type": "string" }, { "format": "uuid", "type": "string" } ], "title": "Job Id" } }, "required": [ "job_id" ], "title": "WorkflowStopRequest", "type": "object" }, "WorkflowStopResponse": { "description": "Response schema for stopping workflow.", "properties": { "job_id": { "anyOf": [ { "type": "string" }, { "format": "uuid", "type": "string" } ], "title": "Job Id" }, "message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Message" } }, "required": [ "job_id" ], "title": "WorkflowStopResponse", "type": "object" }, "langflow__api__schemas__UploadFileResponse": { "description": "File upload response schema.", "properties": { "id": { "format": "uuid", "title": "Id", "type": "string" }, "name": { "title": "Name", "type": "string" }, "path": { "title": "Path", "type": "string" }, "provider": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Provider" }, "size": { "title": "Size", "type": "integer" } }, "required": [ "id", "name", "path", "size" ], "title": "UploadFileResponse", "type": "object" }, "langflow__api__v1__schemas__UploadFileResponse": { "description": "Upload file response schema.", "properties": { "file_path": { "title": "File Path", "type": "string" }, "flowId": { "title": "Flowid", "type": "string" } }, "required": [ "flowId", "file_path" ], "title": "UploadFileResponse", "type": "object" }, "langflow__services__database__models__file__model__File": { "properties": { "created_at": { "format": "date-time", "title": "Created At", "type": "string" }, "id": { "format": "uuid", "title": "Id", "type": "string" }, "name": { "title": "Name", "type": "string" }, "path": { "title": "Path", "type": "string" }, "provider": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Provider" }, "size": { "title": "Size", "type": "integer" }, "updated_at": { "format": "date-time", "title": "Updated At", "type": "string" }, "user_id": { "format": "uuid", "title": "User Id", "type": "string" } }, "required": [ "user_id", "name", "path", "size" ], "title": "File", "type": "object" }, "lfx__utils__schemas__File": { "description": "File schema.", "properties": { "name": { "title": "Name", "type": "string" }, "path": { "title": "Path", "type": "string" }, "type": { "title": "Type", "type": "string" } }, "required": [ "path", "name", "type" ], "title": "File", "type": "object" } }, "securitySchemes": { "API key header": { "in": "header", "name": "x-api-key", "type": "apiKey" }, "API key query": { "in": "query", "name": "x-api-key", "type": "apiKey" }, "OAuth2PasswordBearerCookie": { "flows": { "password": { "scopes": {}, "tokenUrl": "api/v1/login" } }, "type": "oauth2" } } }, "info": { "title": "Langflow", "version": "1.12.0" }, "openapi": "3.1.0", "paths": { "/api/v1/a2a/agents": { "get": { "description": "List the caller's own A2A-published agent flows, each with its agent-card URL.\n\nAuthenticated and owner-scoped, mirroring the MCP-projects catalog: a public cross-user\ndirectory would strip the per-flow card's unguessable-id obscurity and expose other users'\nagents, so this enumerates only the calling user's agents. Each ``cardUrl`` is the public\ndiscovery entry point an orchestrator fetches per agent.", "operationId": "list_a2a_agents_api_v1_a2a_agents_get", "responses": { "200": { "content": { "application/json": { "schema": { "items": { "additionalProperties": true, "type": "object" }, "title": "Response List A2A Agents Api V1 A2A Agents Get", "type": "array" } } }, "description": "Successful Response" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "List A2A Agents", "tags": [ "a2a" ] } }, "/api/v1/a2a/{flow_id}/.well-known/agent-card.json": { "get": { "description": "Serve the spec-valid A2A agent card for an agent-typed, a2a_enabled flow.\n\nPublic by design: the A2A public agent card is unauthenticated by spec, so\ngating it behind login would break standard discovery. Returns 404 when the\nflag is off, the flow does not exist, the flow is not flow_type=agent, or\na2a_enabled is falsy.", "operationId": "get_agent_card_api_v1_a2a__flow_id___well_known_agent_card_json_get", "parameters": [ { "in": "path", "name": "flow_id", "required": true, "schema": { "format": "uuid", "title": "Flow Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "additionalProperties": true, "title": "Response Get Agent Card Api V1 A2A Flow Id Well Known Agent Card Json Get", "type": "object" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "summary": "Get Agent Card", "tags": [ "a2a" ] } }, "/api/v1/a2a/{flow_id}/jsonrpc": { "post": { "description": "Serve the A2A JSON-RPC surface (message/send, message/stream, tasks/get, tasks/resubscribe) for an agent flow.\n\nGated like the card route; apikey-folder flows additionally require a valid owner\nkey (401). The flow runs as its owner. Returns the SDK's JSON-RPC response (HTTP 200\neven for JSON-RPC-level errors). No ``DbSession`` dependency here: holding a session\nopen across the run would fight the v2 surface's lock-avoidance design, and the\ngate/run resolve from flow_id via short self-managed sessions.", "operationId": "a2a_jsonrpc_api_v1_a2a__flow_id__jsonrpc_post", "parameters": [ { "in": "path", "name": "flow_id", "required": true, "schema": { "format": "uuid", "title": "Flow Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "summary": "A2A Jsonrpc", "tags": [ "a2a" ] } }, "/api/v1/all": { "get": { "description": "Retrieve all component types with compression for better performance.\n\nReturns a compressed response containing all available component types,\nwith display_names translated to the locale indicated by Accept-Language.", "operationId": "get_all_api_v1_all_get", "parameters": [ { "in": "query", "name": "include_blocked", "required": false, "schema": { "default": false, "title": "Include Blocked", "type": "boolean" } } ], "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Get All", "tags": [ "Base" ] } }, "/api/v1/build/{flow_id}/flow": { "post": { "description": "Build and process a flow, returning a job ID for event polling.\n\nThis endpoint requires authentication through the CurrentActiveUser dependency.\nFor public flows that don't require authentication, use the /build_public_tmp/flow_id/flow endpoint.\n\nArgs:\n flow_id: UUID of the flow to build\n background_tasks: Background tasks manager\n inputs: Optional input values for the flow\n data: Optional flow data\n files: Optional files to include\n stop_component_id: Optional ID of component to stop at\n start_component_id: Optional ID of component to start from\n log_builds: Whether to log the build process\n current_user: The authenticated user\n queue_service: Queue service for job management\n flow_name: Optional name for the flow\n event_delivery: Optional event delivery type - default is streaming\n\nReturns:\n Dict with job_id that can be used to poll for build status", "operationId": "build_flow_api_v1_build__flow_id__flow_post", "parameters": [ { "in": "path", "name": "flow_id", "required": true, "schema": { "format": "uuid", "title": "Flow Id", "type": "string" } }, { "in": "query", "name": "stop_component_id", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Stop Component Id" } }, { "in": "query", "name": "start_component_id", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Start Component Id" } }, { "in": "query", "name": "log_builds", "required": false, "schema": { "default": true, "title": "Log Builds", "type": "boolean" } }, { "in": "query", "name": "flow_name", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Flow Name" } }, { "in": "query", "name": "event_delivery", "required": false, "schema": { "$ref": "#/components/schemas/EventDeliveryType", "default": "polling" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Body_build_flow_api_v1_build__flow_id__flow_post" } } } }, "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Build Flow", "tags": [ "Chat" ] } }, "/api/v1/build/{job_id}/cancel": { "post": { "description": "Cancel a specific build job.\n\nRequires authentication and ownership verification to prevent a user from\naborting another user's running build (DoS via job cancellation).\nJobs with no registered owner (build_public_tmp) are accessible to any\nauthenticated user, consistent with get_build_events.", "operationId": "cancel_build_api_v1_build__job_id__cancel_post", "parameters": [ { "in": "path", "name": "job_id", "required": true, "schema": { "title": "Job Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CancelFlowResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Cancel Build", "tags": [ "Chat" ] } }, "/api/v1/build/{job_id}/events": { "get": { "description": "Get events for a specific build job.\n\nRequires authentication and ownership verification. A job owner is registered\nwhen build_flow is called; if a registered owner does not match the requesting\nuser the endpoint returns 404 to avoid leaking job existence.\nJobs started via build_public_tmp have no registered owner and remain accessible\nto any authenticated user.", "operationId": "get_build_events_api_v1_build__job_id__events_get", "parameters": [ { "in": "path", "name": "job_id", "required": true, "schema": { "title": "Job Id", "type": "string" } }, { "in": "query", "name": "event_delivery", "required": false, "schema": { "$ref": "#/components/schemas/EventDeliveryType", "default": "streaming" } } ], "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Get Build Events", "tags": [ "Chat" ] } }, "/api/v1/build_public_tmp/{flow_id}/flow": { "post": { "description": "Build a public flow without requiring authentication.\n\nThis endpoint is specifically for public flows that don't require authentication.\nIt uses a client_id cookie to create a deterministic flow ID for tracking purposes.\n\nSecurity Note:\n- The 'data' parameter is NOT accepted to prevent flow definition tampering\n- Public flows must execute the stored flow definition only\n- The flow definition is always loaded from the database\n- Caller-supplied 'inputs.session' is namespaced under the (client_id,\n flow_id) virtual flow ID so an unauthenticated caller cannot address a\n session that lives outside its own namespace (CVE-2026-33017)\n\nThe endpoint:\n1. Verifies the requested flow is marked as public in the database\n2. Creates a deterministic UUID based on client_id and flow_id\n3. Uses a stable anonymous principal to build the flow\n4. Always loads the flow definition from the database\n\nRequirements:\n- The flow must be marked as PUBLIC in the database\n- The request must include a client_id cookie\n\nArgs:\n flow_id: UUID of the public flow to build\n background_tasks: Background tasks manager\n inputs: Optional input values for the flow\n files: Optional files to include\n stop_component_id: Optional ID of component to stop at\n start_component_id: Optional ID of component to start from\n log_builds: Whether to log the build process\n flow_name: Optional name for the flow\n request: FastAPI request object (needed for cookie access)\n queue_service: Queue service for job management\n authenticated_user: Optional authenticated user (resolved from cookie/token if present)\n event_delivery: Optional event delivery type - default is streaming\n\nReturns:\n Dict with job_id that can be used to poll for build status", "operationId": "build_public_tmp_api_v1_build_public_tmp__flow_id__flow_post", "parameters": [ { "in": "path", "name": "flow_id", "required": true, "schema": { "format": "uuid", "title": "Flow Id", "type": "string" } }, { "in": "query", "name": "stop_component_id", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Stop Component Id" } }, { "in": "query", "name": "start_component_id", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Start Component Id" } }, { "in": "query", "name": "log_builds", "required": false, "schema": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": true, "title": "Log Builds" } }, { "in": "query", "name": "flow_name", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Flow Name" } }, { "in": "query", "name": "event_delivery", "required": false, "schema": { "$ref": "#/components/schemas/EventDeliveryType", "default": "polling" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Body_build_public_tmp_api_v1_build_public_tmp__flow_id__flow_post" } } } }, "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "summary": "Build Public Tmp", "tags": [ "Chat" ] } }, "/api/v1/build_public_tmp/{job_id}/cancel": { "post": { "description": "Cancel a public flow build job.\n\nThis endpoint does not require authentication, matching the public build endpoint.\nIt is used by the shareable playground to cancel builds.", "operationId": "cancel_build_public_api_v1_build_public_tmp__job_id__cancel_post", "parameters": [ { "in": "path", "name": "job_id", "required": true, "schema": { "title": "Job Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CancelFlowResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "summary": "Cancel Build Public", "tags": [ "Chat" ] } }, "/api/v1/build_public_tmp/{job_id}/events": { "get": { "description": "Get events for a public flow build job.\n\nThis endpoint does not require authentication, matching the public build endpoint.\nIt is used by the shareable playground to consume build events.", "operationId": "get_build_events_public_api_v1_build_public_tmp__job_id__events_get", "parameters": [ { "in": "path", "name": "job_id", "required": true, "schema": { "title": "Job Id", "type": "string" } }, { "in": "query", "name": "event_delivery", "required": false, "schema": { "$ref": "#/components/schemas/EventDeliveryType", "default": "streaming" } } ], "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "summary": "Get Build Events Public", "tags": [ "Chat" ] } }, "/api/v1/catalog-policy/components": { "get": { "description": "Return the complete global component block set.", "operationId": "get_component_policy_api_v1_catalog_policy_components_get", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CatalogPolicyRead" } } }, "description": "Successful Response" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Get Component Policy", "tags": [ "Catalog Policy" ] }, "put": { "description": "Replace the complete global component block set.", "operationId": "replace_component_policy_api_v1_catalog_policy_components_put", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CatalogPolicyBlockedSet" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CatalogPolicyRead" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Replace Component Policy", "tags": [ "Catalog Policy" ] } }, "/api/v1/catalog-policy/templates": { "get": { "description": "Return the complete global template block set.", "operationId": "get_template_policy_api_v1_catalog_policy_templates_get", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CatalogPolicyRead" } } }, "description": "Successful Response" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Get Template Policy", "tags": [ "Catalog Policy" ] }, "put": { "description": "Replace the complete global template block set.", "operationId": "replace_template_policy_api_v1_catalog_policy_templates_put", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CatalogPolicyBlockedSet" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CatalogPolicyRead" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Replace Template Policy", "tags": [ "Catalog Policy" ] } }, "/api/v1/catalog-policy/usage": { "get": { "description": "Return how many flows use each component.\n\nCounts are keyed by canonical registry identity — a flow node saved under\na legacy alias is counted under the component it resolves to today, the\nsame resolution catalog enforcement applies. Keys not present in the\nregistry (custom or synthetic components) are counted under their exact\nstored key. Each flow is counted at most once per component. Counts may\nlag flow writes by up to ``USAGE_SCAN_CACHE_TTL_SECONDS``.", "operationId": "get_component_usage_api_v1_catalog_policy_usage_get", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CatalogPolicyUsageRead" } } }, "description": "Successful Response" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Get Component Usage", "tags": [ "Catalog Policy" ] } }, "/api/v1/catalog-policy/usage/flows": { "get": { "description": "Return the flows that would be affected by blocking one component key.\n\nA flow matches when the queried key and any of the flow's stored keys\nresolve to a shared canonical identity — the same matching rule flow\nwrites and runs enforce. Flows are sorted by name, then id, and truncated\nto ``limit``; ``total`` always reports the full match count. Results may\nlag flow writes by up to ``USAGE_SCAN_CACHE_TTL_SECONDS``.", "operationId": "get_component_usage_flows_api_v1_catalog_policy_usage_flows_get", "parameters": [ { "description": "Component key to look up; aliases resolve like catalog enforcement.", "in": "query", "name": "component", "required": true, "schema": { "description": "Component key to look up; aliases resolve like catalog enforcement.", "maxLength": 255, "minLength": 1, "title": "Component", "type": "string" } }, { "in": "query", "name": "limit", "required": false, "schema": { "default": 100, "maximum": 500, "minimum": 1, "title": "Limit", "type": "integer" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CatalogPolicyUsageFlowsRead" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Get Component Usage Flows", "tags": [ "Catalog Policy" ] } }, "/api/v1/config": { "get": { "description": "Retrieve application configuration settings.\n\nReturns different configuration based on authentication status:\n- Authenticated users: Full ConfigResponse with all settings\n- Unauthenticated users: PublicConfigResponse with limited, safe-to-expose settings\n\nArgs:\n user: The authenticated user, or None if unauthenticated.\n\nReturns:\n ConfigResponse | PublicConfigResponse: Configuration settings appropriate for the user's auth status.\n\nRaises:\n HTTPException: If an error occurs while retrieving the configuration.", "operationId": "get_config_api_v1_config_get", "responses": { "200": { "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/ConfigResponse" }, { "$ref": "#/components/schemas/PublicConfigResponse" } ], "title": "Response Get Config Api V1 Config Get" } } }, "description": "Successful Response" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Get Config", "tags": [ "Base" ] } }, "/api/v1/extensions/events": { "get": { "description": "Poll for extension lifecycle events the current user has triggered.\n\nEvents are scoped to the authenticated user via a server-derived keyspace\n(``user:{user_id}``); there is no client-controllable keyspace, so an\nauthenticated user cannot read another user's flow-migration or\nbundle-reload events. A client-supplied ``keyspace`` query parameter is\nrejected with 422 so the contract is explicit -- previously the value was\nsilently dropped, which masked client bugs that assumed it had effect.\n\nsvc.since() uses blocking sqlite3; run in a thread pool so the asyncio\nevent loop is not held while waiting on disk I/O.", "operationId": "get_extension_events_api_v1_extensions_events_get", "parameters": [ { "description": "UTC epoch timestamp; return events after this cursor", "in": "query", "name": "since", "required": false, "schema": { "default": 0.0, "description": "UTC epoch timestamp; return events after this cursor", "title": "Since", "type": "number" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExtensionEventsResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Get Extension Events", "tags": [ "Extensions" ] } }, "/api/v1/extensions/{extension_id}/bundles/{bundle_name}/reload": { "post": { "description": "Trigger an atomic-swap reload for a single Bundle.\n\nReturns the typed :class:`~lfx.extension.reload.ReloadResult` body on\nsuccess. Per the typed-error contract, structural failures\n(broken bundle, missing source path, name mismatch) surface as\n``422 Unprocessable Entity`` with the first typed error in the body\nso clients can surface fix hints inline; the full ``ReloadResult``\npayload (with all errors and warnings) is returned via the FastAPI\n``detail`` envelope. Concurrency-control collisions surface as\n``409 Conflict`` (``reload-in-progress``). Non-2xx is the wire\ncontract for every error path -- the body still carries the typed\nerror so the client renders the same fix-hint envelope.", "operationId": "reload_extension_bundle_api_v1_extensions__extension_id__bundles__bundle_name__reload_post", "parameters": [ { "in": "path", "name": "extension_id", "required": true, "schema": { "title": "Extension Id", "type": "string" } }, { "in": "path", "name": "bundle_name", "required": true, "schema": { "title": "Bundle Name", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "additionalProperties": true, "title": "Response Reload Extension Bundle Api V1 Extensions Extension Id Bundles Bundle Name Reload Post", "type": "object" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Reload Extension Bundle", "tags": [ "Extensions" ] } }, "/api/v1/files/delete/{flow_id}/{file_name}": { "delete": { "operationId": "delete_file_api_v1_files_delete__flow_id___file_name__delete", "parameters": [ { "in": "path", "name": "file_name", "required": true, "schema": { "title": "File Name", "type": "string" } }, { "in": "path", "name": "flow_id", "required": true, "schema": { "format": "uuid", "title": "Flow Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Delete File", "tags": [ "Files" ] } }, "/api/v1/files/download/{flow_id}/{file_name}": { "get": { "operationId": "download_file_api_v1_files_download__flow_id___file_name__get", "parameters": [ { "in": "path", "name": "file_name", "required": true, "schema": { "title": "File Name", "type": "string" } }, { "in": "path", "name": "flow_id", "required": true, "schema": { "format": "uuid", "title": "Flow Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Download File", "tags": [ "Files" ] } }, "/api/v1/files/images/{flow_id}/{file_name}": { "get": { "description": "Download image from storage for browser rendering.", "operationId": "download_image_api_v1_files_images__flow_id___file_name__get", "parameters": [ { "in": "path", "name": "file_name", "required": true, "schema": { "title": "File Name", "type": "string" } }, { "in": "path", "name": "flow_id", "required": true, "schema": { "format": "uuid", "title": "Flow Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Download Image", "tags": [ "Files" ] } }, "/api/v1/files/list/{flow_id}": { "get": { "operationId": "list_files_api_v1_files_list__flow_id__get", "parameters": [ { "in": "path", "name": "flow_id", "required": true, "schema": { "format": "uuid", "title": "Flow Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "List Files", "tags": [ "Files" ] } }, "/api/v1/files/profile_pictures/list": { "get": { "description": "List profile pictures from local filesystem.\n\nProfile pictures are first looked up in config_dir/profile_pictures/,\nthen fallback to the package's bundled profile_pictures directory.", "operationId": "list_profile_pictures_api_v1_files_profile_pictures_list_get", "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" } }, "summary": "List Profile Pictures", "tags": [ "Files" ] } }, "/api/v1/files/profile_pictures/{folder_name}/{file_name}": { "get": { "description": "Download profile picture from local filesystem.\n\nProfile pictures are first looked up in config_dir/profile_pictures/,\nthen fallback to the package's bundled profile_pictures directory.", "operationId": "download_profile_picture_api_v1_files_profile_pictures__folder_name___file_name__get", "parameters": [ { "in": "path", "name": "folder_name", "required": true, "schema": { "title": "Folder Name", "type": "string" } }, { "in": "path", "name": "file_name", "required": true, "schema": { "title": "File Name", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "summary": "Download Profile Picture", "tags": [ "Files" ] } }, "/api/v1/files/upload/{flow_id}": { "post": { "operationId": "upload_file_api_v1_files_upload__flow_id__post", "parameters": [ { "in": "path", "name": "flow_id", "required": true, "schema": { "format": "uuid", "title": "Flow Id", "type": "string" } } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Body_upload_file_api_v1_files_upload__flow_id__post" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/langflow__api__v1__schemas__UploadFileResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Upload File", "tags": [ "Files" ] } }, "/api/v1/flows/": { "delete": { "description": "Delete multiple flows by their IDs.", "operationId": "delete_multiple_flows_api_v1_flows__delete", "requestBody": { "content": { "application/json": { "schema": { "items": { "format": "uuid", "type": "string" }, "title": "Flow Ids", "type": "array" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Delete Multiple Flows", "tags": [ "Flows" ] }, "get": { "description": "Retrieve a list of flows with optional pagination, filtering, and header-only mode.", "operationId": "read_flows_api_v1_flows__get", "parameters": [ { "in": "query", "name": "remove_example_flows", "required": false, "schema": { "default": false, "title": "Remove Example Flows", "type": "boolean" } }, { "in": "query", "name": "components_only", "required": false, "schema": { "default": false, "title": "Components Only", "type": "boolean" } }, { "in": "query", "name": "get_all", "required": false, "schema": { "default": true, "title": "Get All", "type": "boolean" } }, { "in": "query", "name": "folder_id", "required": false, "schema": { "anyOf": [ { "format": "uuid", "type": "string" }, { "type": "null" } ], "title": "Folder Id" } }, { "in": "query", "name": "flow_type", "required": false, "schema": { "anyOf": [ { "$ref": "#/components/schemas/FlowType" }, { "type": "null" } ], "title": "Flow Type" } }, { "in": "query", "name": "header_flows", "required": false, "schema": { "default": false, "title": "Header Flows", "type": "boolean" } }, { "in": "query", "name": "page", "required": false, "schema": { "default": 1, "minimum": 1, "title": "Page", "type": "integer" } }, { "in": "query", "name": "size", "required": false, "schema": { "default": 50, "maximum": 100, "minimum": 1, "title": "Size", "type": "integer" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "anyOf": [ { "items": { "$ref": "#/components/schemas/FlowRead" }, "type": "array" }, { "$ref": "#/components/schemas/Page_FlowRead_" }, { "items": { "$ref": "#/components/schemas/FlowHeader" }, "type": "array" } ], "title": "Response Read Flows Api V1 Flows Get" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Read Flows", "tags": [ "Flows" ] }, "post": { "operationId": "create_flow_api_v1_flows__post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FlowCreate" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FlowRead" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Create Flow", "tags": [ "Flows" ] } }, "/api/v1/flows/basic_examples/": { "get": { "description": "Retrieve a list of basic example flows.", "operationId": "read_basic_examples_api_v1_flows_basic_examples__get", "parameters": [ { "in": "query", "name": "include_blocked", "required": false, "schema": { "default": false, "title": "Include Blocked", "type": "boolean" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/FlowRead" }, "title": "Response Read Basic Examples Api V1 Flows Basic Examples Get", "type": "array" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Read Basic Examples", "tags": [ "Flows" ] } }, "/api/v1/flows/batch/": { "post": { "description": "Create multiple new flows.", "operationId": "create_flows_api_v1_flows_batch__post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FlowListCreate" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/FlowRead" }, "title": "Response Create Flows Api V1 Flows Batch Post", "type": "array" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Create Flows", "tags": [ "Flows" ] } }, "/api/v1/flows/download/": { "post": { "description": "Download all flows as a zip file.", "operationId": "download_multiple_file_api_v1_flows_download__post", "requestBody": { "content": { "application/json": { "schema": { "items": { "format": "uuid", "type": "string" }, "title": "Flow Ids", "type": "array" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Download Multiple File", "tags": [ "Flows" ] } }, "/api/v1/flows/public_flow/{flow_id}": { "get": { "description": "Read a public flow without requiring authorization (public means public).\n\nBecause this endpoint is unauthenticated, secret field values (every template\nfield marked ``password``) are stripped before returning so a PUBLIC flow does\nnot leak the owner's stored API keys / credentials to anonymous callers.\n\nThe response also carries the anonymous capability set. A canonical PUBLIC\nshare admits flows whose ``access_type`` is still PRIVATE and bounds them at\nits own permission level, so a direct-link client that re-derives access from\nthe legacy flag disagrees with this decision in both directions.", "operationId": "read_public_flow_api_v1_flows_public_flow__flow_id__get", "parameters": [ { "in": "path", "name": "flow_id", "required": true, "schema": { "format": "uuid", "title": "Flow Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublicFlowRead" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "summary": "Read Public Flow", "tags": [ "Flows" ] } }, "/api/v1/flows/upload/": { "post": { "description": "Upload flows from a JSON or ZIP file (upsert semantics for flows with stable IDs).", "operationId": "upload_file_api_v1_flows_upload__post", "parameters": [ { "in": "query", "name": "folder_id", "required": false, "schema": { "anyOf": [ { "format": "uuid", "type": "string" }, { "type": "null" } ], "title": "Folder Id" } } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Body_upload_file_api_v1_flows_upload__post" } } } }, "responses": { "201": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/FlowRead" }, "title": "Response Upload File Api V1 Flows Upload Post", "type": "array" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Upload File", "tags": [ "Flows" ] } }, "/api/v1/flows/{flow_id}": { "delete": { "description": "Delete a flow.", "operationId": "delete_flow_api_v1_flows__flow_id__delete", "parameters": [ { "in": "path", "name": "flow_id", "required": true, "schema": { "format": "uuid", "title": "Flow Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Delete Flow", "tags": [ "Flows" ] }, "get": { "description": "Read a flow.", "operationId": "read_flow_api_v1_flows__flow_id__get", "parameters": [ { "in": "path", "name": "flow_id", "required": true, "schema": { "format": "uuid", "title": "Flow Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FlowRead" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Read Flow", "tags": [ "Flows" ] }, "patch": { "description": "Update a flow.", "operationId": "update_flow_api_v1_flows__flow_id__patch", "parameters": [ { "in": "path", "name": "flow_id", "required": true, "schema": { "format": "uuid", "title": "Flow Id", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FlowUpdate" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FlowRead" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Update Flow", "tags": [ "Flows" ] }, "put": { "description": "Create or update a flow with a specific ID (upsert).\n\nReturns 201 for creation, 200 for update. Returns 404 if owned by another user.", "operationId": "upsert_flow_api_v1_flows__flow_id__put", "parameters": [ { "in": "path", "name": "flow_id", "required": true, "schema": { "format": "uuid", "title": "Flow Id", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FlowCreate" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FlowRead" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Upsert Flow", "tags": [ "Flows" ] } }, "/api/v1/flows/{flow_id}/note_translations": { "get": { "description": "Return translated note node descriptions for the current locale.\n\nReturns a mapping of node_id → translated markdown text. Only nodes\nwith a matching translation key are included; nodes without translations\nare omitted so the caller can leave them unchanged.\n\nA missing or inaccessible flow yields 404 (via ``AuthorizedReadFlow``),\nconsistent with ``GET /flows/{id}``; the sole frontend caller (NoteNode)\ntreats that as \"no translations\" and renders the original text.", "operationId": "get_note_translations_api_v1_flows__flow_id__note_translations_get", "parameters": [ { "in": "path", "name": "flow_id", "required": true, "schema": { "format": "uuid", "title": "Flow Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "additionalProperties": { "type": "string" }, "title": "Response Get Note Translations Api V1 Flows Flow Id Note Translations Get", "type": "object" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Get Note Translations", "tags": [ "Flows" ] } }, "/api/v1/mcp/project/{project_id}": { "get": { "description": "List project MCP tools.", "operationId": "list_project_tools_api_v1_mcp_project__project_id__get", "parameters": [ { "in": "path", "name": "project_id", "required": true, "schema": { "format": "uuid", "title": "Project Id", "type": "string" } }, { "in": "query", "name": "mcp_enabled", "required": false, "schema": { "default": true, "title": "Mcp Enabled", "type": "boolean" } } ], "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "List Project Tools", "tags": [ "mcp_projects" ] }, "patch": { "description": "Update the MCP settings of all flows in a project and project-level auth settings.\n\nOn MCP Composer failure, this endpoint should return with a 200 status code and an error message in\nthe body of the response to display to the user.", "operationId": "update_project_mcp_settings_api_v1_mcp_project__project_id__patch", "parameters": [ { "in": "path", "name": "project_id", "required": true, "schema": { "format": "uuid", "title": "Project Id", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MCPProjectUpdateRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Update Project Mcp Settings", "tags": [ "mcp_projects" ] } }, "/api/v1/mcp/project/{project_id}/composer-url": { "get": { "description": "Get the MCP Composer URL for a specific project.\n\nOn failure, this endpoint should return with a 200 status code and an error message in\nthe body of the response to display to the user.", "operationId": "get_project_composer_url_api_v1_mcp_project__project_id__composer_url_get", "parameters": [ { "in": "path", "name": "project_id", "required": true, "schema": { "format": "uuid", "title": "Project Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ComposerUrlResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Get Project Composer Url", "tags": [ "mcp_projects" ] } }, "/api/v1/mcp/project/{project_id}/install": { "post": { "description": "Install MCP server configuration for Cursor, Windsurf, or Claude.", "operationId": "install_mcp_config_api_v1_mcp_project__project_id__install_post", "parameters": [ { "in": "path", "name": "project_id", "required": true, "schema": { "format": "uuid", "title": "Project Id", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MCPInstallRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Install Mcp Config", "tags": [ "mcp_projects" ] } }, "/api/v1/mcp/project/{project_id}/installed": { "get": { "description": "Check if MCP server configuration is installed for this project in Cursor, Windsurf, or Claude.", "operationId": "check_installed_mcp_servers_api_v1_mcp_project__project_id__installed_get", "parameters": [ { "in": "path", "name": "project_id", "required": true, "schema": { "format": "uuid", "title": "Project Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Check Installed Mcp Servers", "tags": [ "mcp_projects" ] } }, "/api/v1/model-provider-policy": { "get": { "description": "Read the global provider policy. An empty approved list is unrestricted.", "operationId": "read_model_provider_policy_api_v1_model_provider_policy_get", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ModelProviderPolicyRead" } } }, "description": "Successful Response" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Read Model Provider Policy", "tags": [ "Model Provider Policy" ] }, "post": { "description": "Atomically replace the global provider policy and invalidate snapshots.", "operationId": "replace_model_provider_policy_api_v1_model_provider_policy_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ModelProviderPolicyWrite" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ModelProviderPolicyRead" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Replace Model Provider Policy", "tags": [ "Model Provider Policy" ] }, "put": { "description": "Atomically replace the global provider policy and invalidate snapshots.", "operationId": "replace_model_provider_policy_api_v1_model_provider_policy_put", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ModelProviderPolicyWrite" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ModelProviderPolicyRead" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Replace Model Provider Policy", "tags": [ "Model Provider Policy" ] } }, "/api/v1/monitor/builds": { "delete": { "operationId": "delete_vertex_builds_api_v1_monitor_builds_delete", "parameters": [ { "in": "query", "name": "flow_id", "required": true, "schema": { "format": "uuid", "title": "Flow Id", "type": "string" } } ], "responses": { "204": { "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Delete Vertex Builds", "tags": [ "Monitor" ] }, "get": { "operationId": "get_vertex_builds_api_v1_monitor_builds_get", "parameters": [ { "in": "query", "name": "flow_id", "required": true, "schema": { "format": "uuid", "title": "Flow Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VertexBuildMapModel" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Get Vertex Builds", "tags": [ "Monitor" ] } }, "/api/v1/monitor/job_queue": { "get": { "description": "Return a snapshot of job-queue observability metrics.\n\nFor the in-memory backend this exposes only ``backend`` and ``active_jobs``.\nFor the Redis backend the snapshot also includes bridge counts, consumer\nwrappers, cancel-dispatcher liveness, and the cancel-stats counters\n(``published`` / ``marker_hit`` / ``dispatched_owned`` /\n``dispatched_foreign`` / ``publish_errors`` / ``dispatcher_reconnects`` /\n``polling_watchdog_kills`` / ``activity_touch_errors`` /\n``activity_get_errors`` / ``activity_parse_errors`` /\n``dispatcher_internal_errors``). ``dispatcher_reconnects`` tracks explicit\ndispatcher-loop retries and redis-py transparent pubsub reconnect callbacks.\n\nRestricted to superusers because the snapshot exposes process-wide tenant\nactivity (live job counts, cancel rates) — useful for ops, sensitive in\nmulti-tenant deployments.", "operationId": "job_queue_metrics_api_v1_monitor_job_queue_get", "responses": { "200": { "content": { "application/json": { "schema": { "additionalProperties": true, "title": "Response Job Queue Metrics Api V1 Monitor Job Queue Get", "type": "object" } } }, "description": "Successful Response" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Job Queue Metrics", "tags": [ "Monitor" ] } }, "/api/v1/monitor/messages": { "delete": { "operationId": "delete_messages_api_v1_monitor_messages_delete", "requestBody": { "content": { "application/json": { "schema": { "items": { "format": "uuid", "type": "string" }, "title": "Message Ids", "type": "array" } } }, "required": true }, "responses": { "204": { "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Delete Messages", "tags": [ "Monitor" ] }, "get": { "operationId": "get_messages_api_v1_monitor_messages_get", "parameters": [ { "in": "query", "name": "flow_id", "required": false, "schema": { "anyOf": [ { "format": "uuid", "type": "string" }, { "type": "null" } ], "title": "Flow Id" } }, { "in": "query", "name": "session_id", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Session Id" } }, { "in": "query", "name": "end_user_id", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "End User Id" } }, { "in": "query", "name": "sender", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Sender" } }, { "in": "query", "name": "sender_name", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Sender Name" } }, { "in": "query", "name": "order_by", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": "timestamp", "title": "Order By" } }, { "in": "query", "name": "order", "required": false, "schema": { "default": "ASC", "title": "Order", "type": "string" } }, { "in": "query", "name": "limit", "required": false, "schema": { "anyOf": [ { "minimum": 0, "type": "integer" }, { "type": "null" } ], "title": "Limit" } }, { "in": "query", "name": "offset", "required": false, "schema": { "anyOf": [ { "minimum": 0, "type": "integer" }, { "type": "null" } ], "title": "Offset" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/MessageResponse" }, "title": "Response Get Messages Api V1 Monitor Messages Get", "type": "array" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Get Messages", "tags": [ "Monitor" ] } }, "/api/v1/monitor/messages/session/{old_session_id}": { "patch": { "operationId": "update_session_id_api_v1_monitor_messages_session__old_session_id__patch", "parameters": [ { "in": "path", "name": "old_session_id", "required": true, "schema": { "title": "Old Session Id", "type": "string" } }, { "description": "The new session ID to update to", "in": "query", "name": "new_session_id", "required": true, "schema": { "description": "The new session ID to update to", "title": "New Session Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/MessageResponse" }, "title": "Response Update Session Id Api V1 Monitor Messages Session Old Session Id Patch", "type": "array" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Update Session Id", "tags": [ "Monitor" ] } }, "/api/v1/monitor/messages/session/{session_id}": { "delete": { "description": "Delete messages for a single session.\n\nOnly deletes messages from sessions belonging to flows owned by the current user.", "operationId": "delete_messages_session_api_v1_monitor_messages_session__session_id__delete", "parameters": [ { "in": "path", "name": "session_id", "required": true, "schema": { "title": "Session Id", "type": "string" } } ], "responses": { "204": { "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Delete Messages Session", "tags": [ "Monitor" ] } }, "/api/v1/monitor/messages/sessions": { "delete": { "description": "Bulk delete messages for multiple sessions at once.\n\nOnly deletes messages from sessions belonging to flows owned by the current user.\n\nArgs:\n session_ids: List of session IDs to delete (max 500)\n session: Database session\n current_user: Current authenticated user\n\nReturns:\n Confirmation message with count of deleted sessions\n\nRaises:\n HTTPException: 400 if session_ids list exceeds 500 items\n HTTPException: 500 if database operation fails", "operationId": "delete_messages_sessions_api_v1_monitor_messages_sessions_delete", "requestBody": { "content": { "application/json": { "schema": { "items": { "type": "string" }, "title": "Session Ids", "type": "array" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Delete Messages Sessions", "tags": [ "Monitor" ] }, "get": { "operationId": "get_message_sessions_api_v1_monitor_messages_sessions_get", "parameters": [ { "in": "query", "name": "flow_id", "required": false, "schema": { "anyOf": [ { "format": "uuid", "type": "string" }, { "type": "null" } ], "title": "Flow Id" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "type": "string" }, "title": "Response Get Message Sessions Api V1 Monitor Messages Sessions Get", "type": "array" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Get Message Sessions", "tags": [ "Monitor" ] } }, "/api/v1/monitor/messages/shared": { "get": { "description": "Get messages for a shared/public flow, scoped to the authenticated user.\n\nUses a deterministic virtual flow_id derived from the user's ID and the\noriginal flow ID. Only messages stored under this virtual flow_id are returned.", "operationId": "get_shared_messages_api_v1_monitor_messages_shared_get", "parameters": [ { "description": "The original public flow ID", "in": "query", "name": "source_flow_id", "required": true, "schema": { "description": "The original public flow ID", "format": "uuid", "title": "Source Flow Id", "type": "string" } }, { "in": "query", "name": "session_id", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Session Id" } }, { "in": "query", "name": "order_by", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": "timestamp", "title": "Order By" } }, { "in": "query", "name": "order", "required": false, "schema": { "default": "ASC", "title": "Order", "type": "string" } }, { "in": "query", "name": "limit", "required": false, "schema": { "anyOf": [ { "minimum": 0, "type": "integer" }, { "type": "null" } ], "title": "Limit" } }, { "in": "query", "name": "offset", "required": false, "schema": { "anyOf": [ { "minimum": 0, "type": "integer" }, { "type": "null" } ], "title": "Offset" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/MessageResponse" }, "title": "Response Get Shared Messages Api V1 Monitor Messages Shared Get", "type": "array" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Get Shared Messages", "tags": [ "Monitor" ] } }, "/api/v1/monitor/messages/shared/session/{old_session_id}": { "patch": { "description": "Rename a session on a shared/public flow, scoped to the authenticated user.", "operationId": "rename_shared_session_api_v1_monitor_messages_shared_session__old_session_id__patch", "parameters": [ { "in": "path", "name": "old_session_id", "required": true, "schema": { "title": "Old Session Id", "type": "string" } }, { "description": "The new session ID", "in": "query", "name": "new_session_id", "required": true, "schema": { "description": "The new session ID", "title": "New Session Id", "type": "string" } }, { "description": "The original public flow ID", "in": "query", "name": "source_flow_id", "required": true, "schema": { "description": "The original public flow ID", "format": "uuid", "title": "Source Flow Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/MessageResponse" }, "title": "Response Rename Shared Session Api V1 Monitor Messages Shared Session Old Session Id Patch", "type": "array" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Rename Shared Session", "tags": [ "Monitor" ] } }, "/api/v1/monitor/messages/shared/session/{session_id}": { "delete": { "description": "Delete messages for a session on a shared/public flow, scoped to the authenticated user.", "operationId": "delete_shared_messages_session_api_v1_monitor_messages_shared_session__session_id__delete", "parameters": [ { "in": "path", "name": "session_id", "required": true, "schema": { "title": "Session Id", "type": "string" } }, { "description": "The original public flow ID", "in": "query", "name": "source_flow_id", "required": true, "schema": { "description": "The original public flow ID", "format": "uuid", "title": "Source Flow Id", "type": "string" } } ], "responses": { "204": { "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Delete Shared Messages Session", "tags": [ "Monitor" ] } }, "/api/v1/monitor/messages/shared/sessions": { "get": { "description": "Get session IDs for a shared/public flow, scoped to the authenticated user.\n\nUses a deterministic virtual flow_id derived from the user's ID and the\noriginal flow ID. Only messages stored under this virtual flow_id are returned.", "operationId": "get_shared_message_sessions_api_v1_monitor_messages_shared_sessions_get", "parameters": [ { "description": "The original public flow ID", "in": "query", "name": "source_flow_id", "required": true, "schema": { "description": "The original public flow ID", "format": "uuid", "title": "Source Flow Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "type": "string" }, "title": "Response Get Shared Message Sessions Api V1 Monitor Messages Shared Sessions Get", "type": "array" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Get Shared Message Sessions", "tags": [ "Monitor" ] } }, "/api/v1/monitor/messages/shared/{message_id}": { "put": { "description": "Update a message on a shared/public flow, scoped to the authenticated user.", "operationId": "update_shared_message_api_v1_monitor_messages_shared__message_id__put", "parameters": [ { "in": "path", "name": "message_id", "required": true, "schema": { "format": "uuid", "title": "Message Id", "type": "string" } }, { "description": "The original public flow ID", "in": "query", "name": "source_flow_id", "required": true, "schema": { "description": "The original public flow ID", "format": "uuid", "title": "Source Flow Id", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MessageUpdate" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MessageRead" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Update Shared Message", "tags": [ "Monitor" ] } }, "/api/v1/monitor/messages/{message_id}": { "put": { "operationId": "update_message_api_v1_monitor_messages__message_id__put", "parameters": [ { "in": "path", "name": "message_id", "required": true, "schema": { "format": "uuid", "title": "Message Id", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MessageUpdate" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MessageRead" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Update Message", "tags": [ "Monitor" ] } }, "/api/v1/monitor/traces": { "delete": { "description": "Delete all traces for a flow.\n\nArgs:\n flow_id: The ID of the flow whose traces should be deleted.\n current_user: The authenticated user (required for authorization).", "operationId": "delete_traces_by_flow_api_v1_monitor_traces_delete", "parameters": [ { "in": "query", "name": "flow_id", "required": true, "schema": { "format": "uuid", "title": "Flow Id", "type": "string" } } ], "responses": { "204": { "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Delete Traces By Flow", "tags": [ "Traces" ] }, "get": { "description": "Get list of traces for a flow.\n\nArgs:\n current_user: Authenticated user (required for authorization)\n flow_id: Filter by flow ID\n session_id: Filter by session ID\n status: Filter by trace status\n query: Search query for trace name/id/session id\n start_time: Filter traces starting on/after this time (ISO)\n end_time: Filter traces starting on/before this time (ISO)\n page: Page number (1-based)\n size: Page size\n\nReturns:\n List of traces", "operationId": "get_traces_api_v1_monitor_traces_get", "parameters": [ { "in": "query", "name": "flow_id", "required": false, "schema": { "anyOf": [ { "format": "uuid", "type": "string" }, { "type": "null" } ], "title": "Flow Id" } }, { "in": "query", "name": "session_id", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Session Id" } }, { "in": "query", "name": "status", "required": false, "schema": { "anyOf": [ { "$ref": "#/components/schemas/SpanStatus" }, { "type": "null" } ], "title": "Status" } }, { "in": "query", "name": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Query" } }, { "in": "query", "name": "start_time", "required": false, "schema": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "title": "Start Time" } }, { "in": "query", "name": "end_time", "required": false, "schema": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "title": "End Time" } }, { "in": "query", "name": "page", "required": false, "schema": { "default": 1, "minimum": 0, "title": "Page", "type": "integer" } }, { "in": "query", "name": "size", "required": false, "schema": { "default": 50, "maximum": 200, "minimum": 1, "title": "Size", "type": "integer" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TraceListResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Get Traces", "tags": [ "Traces" ] } }, "/api/v1/monitor/traces/{trace_id}": { "delete": { "description": "Delete a trace and all its spans.\n\nArgs:\n trace_id: The ID of the trace to delete.\n current_user: The authenticated user (required for authorization).", "operationId": "delete_trace_api_v1_monitor_traces__trace_id__delete", "parameters": [ { "in": "path", "name": "trace_id", "required": true, "schema": { "format": "uuid", "title": "Trace Id", "type": "string" } } ], "responses": { "204": { "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Delete Trace", "tags": [ "Traces" ] }, "get": { "description": "Get a single trace with its hierarchical span tree.\n\nArgs:\n trace_id: The ID of the trace to retrieve.\n current_user: The authenticated user (required for authorization).\n\nReturns:\n TraceRead containing the trace and its hierarchical span tree.", "operationId": "get_trace_api_v1_monitor_traces__trace_id__get", "parameters": [ { "in": "path", "name": "trace_id", "required": true, "schema": { "format": "uuid", "title": "Trace Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TraceRead" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Get Trace", "tags": [ "Traces" ] } }, "/api/v1/monitor/transactions": { "get": { "operationId": "get_transactions_api_v1_monitor_transactions_get", "parameters": [ { "in": "query", "name": "flow_id", "required": true, "schema": { "format": "uuid", "title": "Flow Id", "type": "string" } }, { "in": "query", "name": "page", "required": false, "schema": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Page" } }, { "in": "query", "name": "size", "required": false, "schema": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Size" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Page_TransactionLogsResponse_" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Get Transactions", "tags": [ "Monitor" ] } }, "/api/v1/policy-bundle": { "get": { "operationId": "read_policy_bundle_api_v1_policy_bundle_get", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PolicyBundleRead" } } }, "description": "Successful Response" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Read Policy Bundle", "tags": [ "Policy Bundle" ] }, "put": { "operationId": "replace_policy_bundle_api_v1_policy_bundle_put", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PolicyBundleWrite" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PolicyBundleRead" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Replace Policy Bundle", "tags": [ "Policy Bundle" ] } }, "/api/v1/policy-bundle/history": { "get": { "operationId": "read_policy_bundle_history_api_v1_policy_bundle_history_get", "parameters": [ { "in": "query", "name": "limit", "required": false, "schema": { "default": 50, "maximum": 200, "minimum": 1, "title": "Limit", "type": "integer" } }, { "in": "query", "name": "before_revision", "required": false, "schema": { "anyOf": [ { "minimum": 1, "type": "integer" }, { "type": "null" } ], "title": "Before Revision" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PolicyBundleHistoryRead" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Read Policy Bundle History", "tags": [ "Policy Bundle" ] } }, "/api/v1/policy-bundle/rollback/{revision}": { "post": { "operationId": "rollback_policy_bundle_api_v1_policy_bundle_rollback__revision__post", "parameters": [ { "in": "path", "name": "revision", "required": true, "schema": { "title": "Revision", "type": "integer" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PolicyBundleRollbackWrite" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PolicyBundleRead" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Rollback Policy Bundle", "tags": [ "Policy Bundle" ] } }, "/api/v1/projects/": { "get": { "operationId": "read_projects_api_v1_projects__get", "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/FolderListRead" }, "title": "Response Read Projects Api V1 Projects Get", "type": "array" } } }, "description": "Successful Response" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Read Projects", "tags": [ "Projects" ] }, "post": { "operationId": "create_project_api_v1_projects__post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FolderCreate" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FolderRead" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Create Project", "tags": [ "Projects" ] } }, "/api/v1/projects/download/{project_id}": { "get": { "description": "Download all flows from project as a zip file.", "operationId": "download_file_api_v1_projects_download__project_id__get", "parameters": [ { "in": "path", "name": "project_id", "required": true, "schema": { "format": "uuid", "title": "Project Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Download File", "tags": [ "Projects" ] } }, "/api/v1/projects/upload/": { "post": { "description": "Upload flows from a file.\n\nAccepts either a JSON file with project metadata (folder_name, folder_description, flows)\nor a ZIP file containing individual flow JSON files (as produced by the download endpoint).", "operationId": "upload_file_api_v1_projects_upload__post", "requestBody": { "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Body_upload_file_api_v1_projects_upload__post" } } } }, "responses": { "201": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/FlowRead" }, "title": "Response Upload File Api V1 Projects Upload Post", "type": "array" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Upload File", "tags": [ "Projects" ] } }, "/api/v1/projects/{project_id}": { "delete": { "operationId": "delete_project_api_v1_projects__project_id__delete", "parameters": [ { "in": "path", "name": "project_id", "required": true, "schema": { "format": "uuid", "title": "Project Id", "type": "string" } } ], "responses": { "204": { "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Delete Project", "tags": [ "Projects" ] }, "get": { "operationId": "read_project_api_v1_projects__project_id__get", "parameters": [ { "in": "path", "name": "project_id", "required": true, "schema": { "format": "uuid", "title": "Project Id", "type": "string" } }, { "in": "query", "name": "page", "required": false, "schema": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Page" } }, { "in": "query", "name": "size", "required": false, "schema": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Size" } }, { "in": "query", "name": "is_component", "required": false, "schema": { "default": false, "title": "Is Component", "type": "boolean" } }, { "in": "query", "name": "is_flow", "required": false, "schema": { "default": false, "title": "Is Flow", "type": "boolean" } }, { "in": "query", "name": "search", "required": false, "schema": { "default": "", "title": "Search", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/FolderWithPaginatedFlows" }, { "$ref": "#/components/schemas/FolderReadWithFlows" } ], "title": "Response Read Project Api V1 Projects Project Id Get" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Read Project", "tags": [ "Projects" ] }, "patch": { "operationId": "update_project_api_v1_projects__project_id__patch", "parameters": [ { "in": "path", "name": "project_id", "required": true, "schema": { "format": "uuid", "title": "Project Id", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FolderUpdate" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FolderRead" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Update Project", "tags": [ "Projects" ] }, "put": { "description": "Create or update a project with a specific ID (upsert).\n\nReturns 201 for creation, 200 for update. Returns 404 if owned by another user (avoids\nleaking existence). A name collision fails loud as 409 on both the create and update paths\n(unlike POST, which auto-renames).\n\n``workspace_id`` is out of scope: ``FolderCreate`` cannot express it, so a synced project\ninherits ``NULL`` exactly like one created via POST. Workspace assignment is not part of the\nupsert contract.", "operationId": "upsert_project_api_v1_projects__project_id__put", "parameters": [ { "in": "path", "name": "project_id", "required": true, "schema": { "format": "uuid", "title": "Project Id", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FolderCreate" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FolderRead" } } }, "description": "Successful Response" }, "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FolderRead" } } }, "description": "Project created." }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Upsert Project", "tags": [ "Projects" ] } }, "/api/v1/responses": { "post": { "description": "Create a response using OpenAI Responses API format.\n\nThis endpoint accepts a flow_id in the model parameter and processes\nthe input through the specified Langflow flow.\n\nArgs:\n request: OpenAI Responses API request with model (flow_id) and input\n background_tasks: FastAPI background task manager\n api_key_user: Authenticated user from API key\n http_request: The incoming HTTP request\n telemetry_service: Telemetry service for logging\n\nReturns:\n OpenAI-compatible response or streaming response\n\nRaises:\n HTTPException: For validation errors or flow execution issues", "operationId": "create_response_api_v1_responses_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OpenAIResponsesRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "API key query": [] }, { "API key header": [] } ], "summary": "Create Response", "tags": [ "OpenAI Responses API" ] } }, "/api/v1/run/advanced/{flow_id_or_name}": { "post": { "description": "Executes a specified flow by ID with optional input values, output selection, tweaks, and streaming capability.\n\nThis endpoint supports running flows with caching to enhance performance and efficiency.\n\n### Parameters:\n- `flow` (Flow): The flow object to be executed, resolved via dependency injection.\n- `inputs` (List[InputValueRequest], optional): A list of inputs specifying the input values and components\n for the flow. Each input can target specific components and provide custom values.\n- `outputs` (List[str], optional): A list of output names to retrieve from the executed flow.\n If not provided, all outputs are returned.\n- `tweaks` (Optional[Tweaks], optional): A dictionary of tweaks to customize the flow execution.\n The tweaks can be used to modify the flow's parameters and components.\n Tweaks can be overridden by the input values.\n- `stream` (bool, optional): Specifies whether the results should be streamed. Defaults to False.\n- `session_id` (Union[None, str], optional): An optional session ID to utilize existing session data for the flow\n execution.\n- `api_key_user` (User): The user associated with the current API key. Automatically resolved from the API key.\n\n### Returns:\nA `RunResponse` object containing the selected outputs (or all if not specified) of the executed flow\nand the session ID.\nThe structure of the response accommodates multiple inputs, providing a nested list of outputs for each input.\n\n### Raises:\nHTTPException: Indicates issues with finding the specified flow, invalid input formats, or internal errors during\nflow execution.\n\n### Example usage:\n```json\nPOST /run/flow_id\nx-api-key: YOUR_API_KEY\nPayload:\n{\n \"inputs\": [\n {\"components\": [\"component1\"], \"input_value\": \"value1\"},\n {\"components\": [\"component3\"], \"input_value\": \"value2\"}\n ],\n \"outputs\": [\"Component Name\", \"component_id\"],\n \"tweaks\": {\"parameter_name\": \"value\", \"Component Name\": {\"parameter_name\": \"value\"}, \"component_id\": {\"parameter_name\": \"value\"}}\n \"stream\": false\n}\n```\n\nThis endpoint facilitates complex flow executions with customized inputs, outputs, and configurations,\ncatering to diverse application requirements.", "operationId": "experimental_run_flow_api_v1_run_advanced__flow_id_or_name__post", "parameters": [ { "in": "path", "name": "flow_id_or_name", "required": true, "schema": { "title": "Flow Id Or Name", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Body_experimental_run_flow_api_v1_run_advanced__flow_id_or_name__post" } } } }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RunResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "API key query": [] }, { "API key header": [] } ], "summary": "Experimental Run Flow", "tags": [ "Base" ] } }, "/api/v1/run/{flow_id_or_name}": { "post": { "description": "Executes a specified flow by ID with support for streaming and telemetry (API key auth).\n\nThis endpoint executes a flow identified by ID or name, with options for streaming the response\nand tracking execution metrics. It handles both streaming and non-streaming execution modes.\nThis endpoint uses API key authentication (Bearer token).\n\nArgs:\n background_tasks (BackgroundTasks): FastAPI background task manager\n flow (FlowRead | None): The flow to execute, loaded via dependency\n input_request (SimplifiedAPIRequest | None): Input parameters for the flow\n stream (bool): Whether to stream the response\n api_key_user (UserRead): Authenticated user from API key\n context (dict | None): Optional context to pass to the flow\n http_request (Request): The incoming HTTP request for extracting global variables\n\nReturns:\n Union[StreamingResponse, RunResponse]: Either a streaming response for real-time results\n or a RunResponse with the complete execution results\n\nRaises:\n HTTPException: For flow not found (404) or invalid input (400)\n APIException: For internal execution errors (500)\n\nNotes:\n - Supports both streaming and non-streaming execution modes\n - Tracks execution time and success/failure via telemetry\n - Handles graceful client disconnection in streaming mode\n - Provides detailed error handling with appropriate HTTP status codes\n - Extracts global variables from HTTP headers with prefix X-LANGFLOW-GLOBAL-VAR-*\n - Merges extracted variables with the context parameter as \"request_variables\"\n - In streaming mode, uses EventManager to handle events:\n - \"add_message\": New messages during execution\n - \"token\": Individual tokens during streaming\n - \"end\": Final execution result\n - Authentication: Requires API key (Bearer token)", "operationId": "simplified_run_flow_api_v1_run__flow_id_or_name__post", "parameters": [ { "in": "path", "name": "flow_id_or_name", "required": true, "schema": { "title": "Flow Id Or Name", "type": "string" } }, { "in": "query", "name": "stream", "required": false, "schema": { "default": false, "title": "Stream", "type": "boolean" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Body_simplified_run_flow_api_v1_run__flow_id_or_name__post" } } } }, "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "API key query": [] }, { "API key header": [] } ], "summary": "Simplified Run Flow", "tags": [ "Base" ] } }, "/api/v1/starter-projects/": { "get": { "description": "Get a list of starter projects.", "operationId": "get_starter_projects_api_v1_starter_projects__get", "parameters": [ { "in": "query", "name": "include_blocked", "required": false, "schema": { "default": false, "title": "Include Blocked", "type": "boolean" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/GraphDumpResponse" }, "title": "Response Get Starter Projects Api V1 Starter Projects Get", "type": "array" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Get Starter Projects", "tags": [ "Flows" ] } }, "/api/v1/users/": { "get": { "description": "Retrieve a list of users from the database with pagination.", "operationId": "read_all_users_api_v1_users__get", "parameters": [ { "in": "query", "name": "skip", "required": false, "schema": { "default": 0, "title": "Skip", "type": "integer" } }, { "in": "query", "name": "limit", "required": false, "schema": { "default": 10, "title": "Limit", "type": "integer" } }, { "in": "query", "name": "search", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Search" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UsersResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Read All Users", "tags": [ "Users" ] }, "post": { "description": "Add a new user to the database.\n\nThis endpoint backs two flows that share the same route:\n\n* Public sign up (unauthenticated). Allowed only when public registration is\n enabled for the deployment, i.e. AUTO_LOGIN is off (multi-user mode) and\n ENABLE_SIGNUP is True.\n* Admin \"add user\" (authenticated active superuser). Always allowed,\n regardless of the sign up settings, so disabling public sign up does not\n break superuser-driven user creation.\n\nUser activation is controlled by the NEW_USER_IS_ACTIVE setting.", "operationId": "add_user_api_v1_users__post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserCreate" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserRead" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "summary": "Add User", "tags": [ "Users" ] } }, "/api/v1/users/whoami": { "get": { "description": "Retrieve the current user's data.", "operationId": "read_current_user_api_v1_users_whoami_get", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserRead" } } }, "description": "Successful Response" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Read Current User", "tags": [ "Users" ] } }, "/api/v1/users/{user_id}": { "delete": { "description": "Delete a user from the database.", "operationId": "delete_user_api_v1_users__user_id__delete", "parameters": [ { "in": "path", "name": "user_id", "required": true, "schema": { "format": "uuid", "title": "User Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "additionalProperties": true, "title": "Response Delete User Api V1 Users User Id Delete", "type": "object" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Delete User", "tags": [ "Users" ] }, "patch": { "description": "Update an existing user's data.", "operationId": "patch_user_api_v1_users__user_id__patch", "parameters": [ { "in": "path", "name": "user_id", "required": true, "schema": { "format": "uuid", "title": "User Id", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserUpdate" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserRead" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Patch User", "tags": [ "Users" ] } }, "/api/v1/users/{user_id}/reset-password": { "patch": { "description": "Change the current user's password after verifying the existing password.", "operationId": "reset_password_api_v1_users__user_id__reset_password_patch", "parameters": [ { "in": "path", "name": "user_id", "required": true, "schema": { "format": "uuid", "title": "User Id", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PasswordResetRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserRead" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Reset Password", "tags": [ "Users" ] } }, "/api/v1/version": { "get": { "operationId": "get_version_api_v1_version_get", "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" } }, "summary": "Get Version", "tags": [ "Base" ] } }, "/api/v1/webhook/{flow_id_or_name}": { "post": { "description": "Run a flow using a webhook request.\n\nArgs:\n auth: Resolved webhook user and flow, scoped to the authenticated caller.\n request: The incoming HTTP request.\n\nReturns:\n A dictionary containing the status of the task.\n\nRaises:\n HTTPException: If the flow is not found or if there is an error processing the request.", "operationId": "webhook_run_flow_api_v1_webhook__flow_id_or_name__post", "parameters": [ { "in": "path", "name": "flow_id_or_name", "required": true, "schema": { "title": "Flow Id Or Name", "type": "string" } } ], "responses": { "202": { "content": { "application/json": { "schema": { "additionalProperties": true, "title": "Response Webhook Run Flow Api V1 Webhook Flow Id Or Name Post", "type": "object" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "summary": "Webhook Run Flow", "tags": [ "Base" ] } }, "/api/v2/files": { "delete": { "description": "Delete all files for the current user.", "operationId": "delete_all_files_api_v2_files_delete", "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Delete All Files", "tags": [ "Files" ] }, "get": { "description": "List the files available to the current user.", "operationId": "list_files_api_v2_files_get", "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/langflow__services__database__models__file__model__File" }, "title": "Response List Files Api V2 Files Get", "type": "array" } } }, "description": "Successful Response" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "List Files", "tags": [ "Files" ] }, "post": { "description": "Upload a file for the current user and track it in the database.", "operationId": "upload_user_file_api_v2_files_post", "parameters": [ { "in": "query", "name": "append", "required": false, "schema": { "default": false, "title": "Append", "type": "boolean" } }, { "in": "query", "name": "ephemeral", "required": false, "schema": { "default": false, "title": "Ephemeral", "type": "boolean" } } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Body_upload_user_file_api_v2_files_post" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/langflow__api__schemas__UploadFileResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Upload User File", "tags": [ "Files" ] } }, "/api/v2/files/": { "delete": { "description": "Delete all files for the current user.", "operationId": "delete_all_files_api_v2_files__delete", "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Delete All Files", "tags": [ "Files" ] }, "get": { "description": "List the files available to the current user.", "operationId": "list_files_api_v2_files__get", "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/langflow__services__database__models__file__model__File" }, "title": "Response List Files Api V2 Files Get", "type": "array" } } }, "description": "Successful Response" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "List Files", "tags": [ "Files" ] }, "post": { "description": "Upload a file for the current user and track it in the database.", "operationId": "upload_user_file_api_v2_files__post", "parameters": [ { "in": "query", "name": "append", "required": false, "schema": { "default": false, "title": "Append", "type": "boolean" } }, { "in": "query", "name": "ephemeral", "required": false, "schema": { "default": false, "title": "Ephemeral", "type": "boolean" } } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Body_upload_user_file_api_v2_files__post" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/langflow__api__schemas__UploadFileResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Upload User File", "tags": [ "Files" ] } }, "/api/v2/files/batch/": { "delete": { "description": "Delete multiple files by their IDs.", "operationId": "delete_files_batch_api_v2_files_batch__delete", "requestBody": { "content": { "application/json": { "schema": { "items": { "format": "uuid", "type": "string" }, "title": "File Ids", "type": "array" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Delete Files Batch", "tags": [ "Files" ] }, "post": { "description": "Download multiple files as a zip file by their IDs.", "operationId": "download_files_batch_api_v2_files_batch__post", "requestBody": { "content": { "application/json": { "schema": { "items": { "format": "uuid", "type": "string" }, "title": "File Ids", "type": "array" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Download Files Batch", "tags": [ "Files" ] } }, "/api/v2/files/{file_id}": { "delete": { "description": "Delete a file by its ID.", "operationId": "delete_file_api_v2_files__file_id__delete", "parameters": [ { "in": "path", "name": "file_id", "required": true, "schema": { "format": "uuid", "title": "File Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Delete File", "tags": [ "Files" ] }, "get": { "description": "Download a file by its ID or return its content as a string/bytes.\n\nArgs:\n file_id: UUID of the file.\n current_user: Authenticated user.\n session: Database session.\n storage_service: File storage service.\n return_content: If True, return raw content (str) instead of StreamingResponse.\n\nReturns:\n StreamingResponse for client downloads or str for internal use.", "operationId": "download_file_api_v2_files__file_id__get", "parameters": [ { "in": "path", "name": "file_id", "required": true, "schema": { "format": "uuid", "title": "File Id", "type": "string" } }, { "in": "query", "name": "return_content", "required": false, "schema": { "default": false, "title": "Return Content", "type": "boolean" } } ], "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Download File", "tags": [ "Files" ] }, "put": { "description": "Edit the name of a file by its ID.", "operationId": "edit_file_name_api_v2_files__file_id__put", "parameters": [ { "in": "path", "name": "file_id", "required": true, "schema": { "format": "uuid", "title": "File Id", "type": "string" } }, { "in": "query", "name": "name", "required": true, "schema": { "title": "Name", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/langflow__api__schemas__UploadFileResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Edit File Name", "tags": [ "Files" ] } }, "/api/v2/mcp/servers": { "get": { "description": "Get the list of available servers.", "operationId": "get_servers_api_v2_mcp_servers_get", "parameters": [ { "in": "query", "name": "action_count", "required": false, "schema": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Action Count" } } ], "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Get Servers", "tags": [ "MCP" ] } }, "/api/v2/mcp/servers/{server_name}": { "delete": { "operationId": "delete_server_api_v2_mcp_servers__server_name__delete", "parameters": [ { "in": "path", "name": "server_name", "required": true, "schema": { "title": "Server Name", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Delete Server", "tags": [ "MCP" ] }, "get": { "description": "Get a specific server.", "operationId": "get_server_endpoint_api_v2_mcp_servers__server_name__get", "parameters": [ { "in": "path", "name": "server_name", "required": true, "schema": { "title": "Server Name", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Get Server Endpoint", "tags": [ "MCP" ] }, "patch": { "operationId": "update_server_endpoint_api_v2_mcp_servers__server_name__patch", "parameters": [ { "in": "path", "name": "server_name", "required": true, "schema": { "title": "Server Name", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MCPServerConfig" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Update Server Endpoint", "tags": [ "MCP" ] }, "post": { "operationId": "add_server_api_v2_mcp_servers__server_name__post", "parameters": [ { "in": "path", "name": "server_name", "required": true, "schema": { "title": "Server Name", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MCPServerConfig" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Add Server", "tags": [ "MCP" ] } }, "/api/v2/workflows": { "get": { "description": "Get status of workflow job by job ID", "operationId": "get_workflow_status_api_v2_workflows_get", "parameters": [ { "description": "Job ID to query", "in": "query", "name": "job_id", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "format": "uuid", "type": "string" }, { "type": "null" } ], "description": "Job ID to query", "title": "Job Id" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "description": "Synchronous workflow execution response.", "properties": { "created_timestamp": { "title": "Created Timestamp", "type": "string" }, "errors": { "default": [], "items": { "$ref": "#/components/schemas/ErrorDetail" }, "title": "Errors", "type": "array" }, "flow_id": { "title": "Flow Id", "type": "string" }, "globals": { "additionalProperties": { "maxLength": 65536, "type": "string" }, "propertyNames": { "maxLength": 256, "minLength": 1 }, "title": "Globals", "type": "object" }, "human_request": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "description": "Set when ``status`` is ``suspended``: the human-input request the run paused on (``prompt``, ``options``, ``allowed_decisions``, ``request_id``). Resume by running the same session/task again with the chosen decision.", "title": "Human Request" }, "inputs": { "additionalProperties": true, "default": {}, "title": "Inputs", "type": "object" }, "job_id": { "anyOf": [ { "type": "string" }, { "format": "uuid", "type": "string" }, { "type": "null" } ], "title": "Job Id" }, "object": { "const": "response", "default": "response", "title": "Object", "type": "string" }, "output": { "$ref": "#/components/schemas/WorkflowOutput", "description": "The run's text answer plus why it resolved that way. Read ``output.text`` for the answer; when it's null, ``output.reason`` says why (``multiple`` / ``none`` / ``non_string`` / ``failed``) so you know whether to read ``outputs``." }, "outputs": { "additionalProperties": { "$ref": "#/components/schemas/ComponentOutput" }, "default": {}, "title": "Outputs", "type": "object" }, "session_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The session the run executed under. Echoes the request ``session_id`` when provided, otherwise the server-generated one. Pass it back on the next call to continue the same chat history / memory thread.", "title": "Session Id" }, "status": { "$ref": "#/components/schemas/JobStatus" } }, "required": [ "flow_id", "status" ], "title": "WorkflowExecutionResponse", "type": "object" } }, "text/event-stream": { "description": "Server-sent events for streaming status", "schema": { "description": "Streaming event response.", "properties": { "raw_event": { "additionalProperties": true, "title": "Raw Event", "type": "object" }, "run_id": { "title": "Run Id", "type": "string" }, "timestamp": { "title": "Timestamp", "type": "integer" }, "type": { "title": "Type", "type": "string" } }, "required": [ "type", "run_id", "timestamp", "raw_event" ], "title": "WorkflowStreamEvent", "type": "object" } } }, "description": "Workflow status response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Get Workflow Status", "tags": [ "Workflow" ] }, "post": { "operationId": "execute_workflow_api_v2_workflows_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkflowRunRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "discriminator": { "mapping": { "job": "#/components/schemas/WorkflowJobResponse", "response": "#/components/schemas/WorkflowExecutionResponse" }, "propertyName": "object" }, "oneOf": [ { "description": "Synchronous workflow execution response.", "properties": { "created_timestamp": { "title": "Created Timestamp", "type": "string" }, "errors": { "default": [], "items": { "$ref": "#/components/schemas/ErrorDetail" }, "title": "Errors", "type": "array" }, "flow_id": { "title": "Flow Id", "type": "string" }, "globals": { "additionalProperties": { "maxLength": 65536, "type": "string" }, "propertyNames": { "maxLength": 256, "minLength": 1 }, "title": "Globals", "type": "object" }, "human_request": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "description": "Set when ``status`` is ``suspended``: the human-input request the run paused on (``prompt``, ``options``, ``allowed_decisions``, ``request_id``). Resume by running the same session/task again with the chosen decision.", "title": "Human Request" }, "inputs": { "additionalProperties": true, "default": {}, "title": "Inputs", "type": "object" }, "job_id": { "anyOf": [ { "type": "string" }, { "format": "uuid", "type": "string" }, { "type": "null" } ], "title": "Job Id" }, "object": { "const": "response", "default": "response", "title": "Object", "type": "string" }, "output": { "$ref": "#/components/schemas/WorkflowOutput", "description": "The run's text answer plus why it resolved that way. Read ``output.text`` for the answer; when it's null, ``output.reason`` says why (``multiple`` / ``none`` / ``non_string`` / ``failed``) so you know whether to read ``outputs``." }, "outputs": { "additionalProperties": { "$ref": "#/components/schemas/ComponentOutput" }, "default": {}, "title": "Outputs", "type": "object" }, "session_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The session the run executed under. Echoes the request ``session_id`` when provided, otherwise the server-generated one. Pass it back on the next call to continue the same chat history / memory thread.", "title": "Session Id" }, "status": { "$ref": "#/components/schemas/JobStatus" } }, "required": [ "flow_id", "status" ], "title": "WorkflowExecutionResponse", "type": "object" }, { "description": "Background job response.", "properties": { "created_timestamp": { "title": "Created Timestamp", "type": "string" }, "errors": { "default": [], "items": { "$ref": "#/components/schemas/ErrorDetail" }, "title": "Errors", "type": "array" }, "flow_id": { "title": "Flow Id", "type": "string" }, "globals": { "additionalProperties": { "maxLength": 65536, "type": "string" }, "propertyNames": { "maxLength": 256, "minLength": 1 }, "title": "Globals", "type": "object" }, "job_id": { "anyOf": [ { "type": "string" }, { "format": "uuid", "type": "string" } ], "title": "Job Id" }, "links": { "additionalProperties": { "type": "string" }, "title": "Links", "type": "object" }, "object": { "const": "job", "default": "job", "title": "Object", "type": "string" }, "status": { "$ref": "#/components/schemas/JobStatus" } }, "required": [ "job_id", "flow_id", "status" ], "title": "WorkflowJobResponse", "type": "object" } ] } }, "text/event-stream": { "description": "Server-sent events for streaming execution", "schema": { "description": "Streaming event response.", "properties": { "raw_event": { "additionalProperties": true, "title": "Raw Event", "type": "object" }, "run_id": { "title": "Run Id", "type": "string" }, "timestamp": { "title": "Timestamp", "type": "integer" }, "type": { "title": "Type", "type": "string" } }, "required": [ "type", "run_id", "timestamp", "raw_event" ], "title": "WorkflowStreamEvent", "type": "object" } } }, "description": "Workflow execution response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "summary": "Execute Workflow (v2 sync or stream)", "tags": [ "Workflow" ] } }, "/api/v2/workflows/pending": { "get": { "description": "Suspended HITL jobs for a flow plus their pending request, for the Traces overlay.", "operationId": "list_pending_workflows_api_v2_workflows_pending_get", "parameters": [ { "description": "Flow ID to list pending HITL requests for", "in": "query", "name": "flow_id", "required": true, "schema": { "description": "Flow ID to list pending HITL requests for", "format": "uuid", "title": "Flow Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "additionalProperties": true, "type": "object" }, "title": "Response List Pending Workflows Api V2 Workflows Pending Get", "type": "array" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "List pending human-input requests", "tags": [ "Workflow" ] } }, "/api/v2/workflows/stop": { "post": { "description": "Stop a running workflow execution", "operationId": "stop_workflow_api_v2_workflows_stop_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkflowStopRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkflowStopResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Stop Workflow", "tags": [ "Workflow" ] } }, "/api/v2/workflows/{job_id}/events": { "get": { "description": "Replay durable events for a background run from Last-Event-ID and tail until it ends.", "operationId": "reattach_workflow_events_api_v2_workflows__job_id__events_get", "parameters": [ { "in": "path", "name": "job_id", "required": true, "schema": { "title": "Job Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Re-attach to a background run", "tags": [ "Workflow" ] } }, "/api/v2/workflows/{job_id}/resume": { "post": { "description": "Resume a suspended (human-in-the-loop) workflow with a decision.", "operationId": "resume_workflow_api_v2_workflows__job_id__resume_post", "parameters": [ { "in": "path", "name": "job_id", "required": true, "schema": { "title": "Job Id", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkflowResumeRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkflowResumeResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Resume Workflow", "tags": [ "Workflow" ] } }, "/health": { "get": { "operationId": "health_health_get", "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" } }, "summary": "Health", "tags": [ "Health Check" ] } }, "/health_check": { "get": { "operationId": "health_check_health_check_get", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HealthResponse" } } }, "description": "Successful Response" } }, "summary": "Health Check", "tags": [ "Health Check" ] } }, "/healthz": { "get": { "operationId": "healthz_healthz_get", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HealthResponse" } } }, "description": "Successful Response" } }, "summary": "Healthz", "tags": [ "Health Check" ] } }, "/logs": { "get": { "description": "Retrieve application logs with superuser authentication required.\n\nSECURITY: Logs may contain sensitive information and require superuser authentication.", "operationId": "logs_logs_get", "parameters": [ { "description": "The number of logs before the timestamp or the last log", "in": "query", "name": "lines_before", "required": false, "schema": { "default": 0, "description": "The number of logs before the timestamp or the last log", "title": "Lines Before", "type": "integer" } }, { "description": "The number of logs after the timestamp", "in": "query", "name": "lines_after", "required": false, "schema": { "default": 0, "description": "The number of logs after the timestamp", "title": "Lines After", "type": "integer" } }, { "description": "The timestamp to start getting logs from", "in": "query", "name": "timestamp", "required": false, "schema": { "default": 0, "description": "The timestamp to start getting logs from", "title": "Timestamp", "type": "integer" } } ], "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Logs", "tags": [ "Log" ] } }, "/logs-stream": { "get": { "description": "HTTP/2 Server-Sent-Event (SSE) endpoint for streaming logs.\n\nRequires superuser authentication to prevent exposure of sensitive log data.\nIt establishes a long-lived connection to the server and receives log messages in real-time.\nThe client should use the header \"Accept: text/event-stream\".", "operationId": "stream_logs_logs_stream_get", "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" } }, "security": [ { "OAuth2PasswordBearerCookie": [] }, { "API key query": [] }, { "API key header": [] } ], "summary": "Stream Logs", "tags": [ "Log" ] } } } }