Files
langflow/docs/openapi/openapi.json
Mendon Kissling 2411d8036e docs: build OpenAPI spec and cut version 1.10 (#13537)
* build-api

* bump-version-to-1.10

* fix-broken-links
2026-06-08 18:25:14 +00:00

15250 lines
399 KiB
JSON

{
"components": {
"schemas": {
"AccessTypeEnum": {
"enum": [
"PRIVATE",
"PUBLIC"
],
"title": "AccessTypeEnum",
"type": "string"
},
"AssistantRequest": {
"description": "Request model for assistant interactions.",
"properties": {
"component_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Component Id"
},
"field_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Field Name"
},
"flow_id": {
"title": "Flow Id",
"type": "string"
},
"input_value": {
"anyOf": [
{
"maxLength": 2000,
"type": "string"
},
{
"type": "null"
}
],
"title": "Input Value"
},
"max_retries": {
"anyOf": [
{
"maximum": 5.0,
"minimum": 1.0,
"type": "integer"
},
{
"type": "null"
}
],
"title": "Max Retries"
},
"model_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Model Name"
},
"provider": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Provider"
},
"session_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Session Id"
}
},
"required": [
"flow_id"
],
"title": "AssistantRequest",
"type": "object"
},
"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"
},
"AuthzAuditLogRead": {
"description": "Read-only projection of an ``AuthzAuditLog`` row.",
"properties": {
"action": {
"title": "Action",
"type": "string"
},
"details": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Details"
},
"id": {
"format": "uuid",
"title": "Id",
"type": "string"
},
"resource_id": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"title": "Resource Id"
},
"resource_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Resource Type"
},
"result": {
"title": "Result",
"type": "string"
},
"timestamp": {
"format": "date-time",
"title": "Timestamp",
"type": "string"
},
"user_id": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"title": "User Id"
}
},
"required": [
"id",
"user_id",
"action",
"resource_type",
"resource_id",
"result",
"details",
"timestamp"
],
"title": "AuthzAuditLogRead",
"type": "object"
},
"AuthzAuditPage": {
"description": "Paginated audit-log response.",
"properties": {
"items": {
"items": {
"$ref": "#/components/schemas/AuthzAuditLogRead"
},
"title": "Items",
"type": "array"
},
"page": {
"title": "Page",
"type": "integer"
},
"pages": {
"title": "Pages",
"type": "integer"
},
"size": {
"title": "Size",
"type": "integer"
},
"total": {
"title": "Total",
"type": "integer"
}
},
"required": [
"items",
"total",
"page",
"size",
"pages"
],
"title": "AuthzAuditPage",
"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"
},
"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"
},
"CodeContent-Input": {
"description": "Content type for code snippets.",
"properties": {
"code": {
"title": "Code",
"type": "string"
},
"duration": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Duration"
},
"header": {
"anyOf": [
{
"$ref": "#/components/schemas/HeaderDict"
},
{
"type": "null"
}
]
},
"language": {
"title": "Language",
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Title"
},
"type": {
"const": "code",
"default": "code",
"title": "Type",
"type": "string"
}
},
"required": [
"code",
"language"
],
"title": "CodeContent",
"type": "object"
},
"CodeContent-Output": {
"additionalProperties": true,
"type": "object"
},
"ComponentOutput": {
"description": "Component output schema.",
"properties": {
"content": {
"anyOf": [
{},
{
"type": "null"
}
],
"title": "Content"
},
"metadata": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Metadata"
},
"status": {
"$ref": "#/$defs/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": {
"allow_custom_components": {
"title": "Allow Custom Components",
"type": "boolean"
},
"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"
},
"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"
},
"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"
},
"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",
"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"
},
"ContentBlock-Input": {
"description": "A block of content that can contain different types of content.",
"properties": {
"allow_markdown": {
"default": true,
"title": "Allow Markdown",
"type": "boolean"
},
"contents": {
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/ToolContent-Input"
},
{
"$ref": "#/components/schemas/ErrorContent-Input"
},
{
"$ref": "#/components/schemas/TextContent-Input"
},
{
"$ref": "#/components/schemas/MediaContent-Input"
},
{
"$ref": "#/components/schemas/CodeContent-Input"
},
{
"$ref": "#/components/schemas/JSONContent-Input"
}
]
},
"title": "Contents",
"type": "array"
},
"media_url": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Media Url"
},
"title": {
"title": "Title",
"type": "string"
}
},
"required": [
"title",
"contents"
],
"title": "ContentBlock",
"type": "object"
},
"ContentBlock-Output": {
"description": "A block of content that can contain different types of content.",
"properties": {
"allow_markdown": {
"default": true,
"title": "Allow Markdown",
"type": "boolean"
},
"contents": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Contents",
"type": "array"
},
"media_url": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Media Url"
},
"title": {
"title": "Title",
"type": "string"
}
},
"required": [
"title",
"contents"
],
"title": "ContentBlock",
"type": "object"
},
"EffectivePermissionsRequest": {
"description": "Body for :func:`get_effective_permissions`.",
"properties": {
"actions": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"description": "Actions to check. Each entry is lowercased and de-duplicated; the list is capped at 10. Defaults to read/write/execute/delete/create.",
"title": "Actions"
},
"domain": {
"default": "*",
"description": "Authorization domain — typically ``project:{folder_id}`` or ``*``.",
"title": "Domain",
"type": "string"
},
"resource_ids": {
"description": "Resource IDs to evaluate. Capped at 500 per request to keep batch_enforce bounded.",
"items": {
"format": "uuid",
"type": "string"
},
"title": "Resource Ids",
"type": "array"
},
"resource_type": {
"enum": [
"flow",
"deployment",
"project",
"knowledge_base",
"variable",
"file",
"component"
],
"title": "Resource Type",
"type": "string"
}
},
"required": [
"resource_type",
"resource_ids"
],
"title": "EffectivePermissionsRequest",
"type": "object"
},
"EffectivePermissionsResponse": {
"description": "Response: ``{resource_id: [allowed_actions]}``.",
"properties": {
"permissions": {
"additionalProperties": {
"items": {
"type": "string"
},
"type": "array"
},
"propertyNames": {
"format": "uuid"
},
"title": "Permissions",
"type": "object"
},
"resource_type": {
"enum": [
"flow",
"deployment",
"project",
"knowledge_base",
"variable",
"file",
"component"
],
"title": "Resource Type",
"type": "string"
}
},
"required": [
"resource_type",
"permissions"
],
"title": "EffectivePermissionsResponse",
"type": "object"
},
"ErrorContent-Input": {
"description": "Content type for error messages.",
"properties": {
"component": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Component"
},
"duration": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Duration"
},
"field": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Field"
},
"header": {
"anyOf": [
{
"$ref": "#/components/schemas/HeaderDict"
},
{
"type": "null"
}
]
},
"reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Reason"
},
"solution": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Solution"
},
"traceback": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Traceback"
},
"type": {
"const": "error",
"default": "error",
"title": "Type",
"type": "string"
}
},
"title": "ErrorContent",
"type": "object"
},
"ErrorContent-Output": {
"additionalProperties": true,
"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": {
"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"
},
"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"
},
"FlowEventCreate": {
"properties": {
"summary": {
"default": "",
"maxLength": 500,
"title": "Summary",
"type": "string"
},
"type": {
"enum": [
"component_added",
"component_removed",
"component_configured",
"connection_added",
"connection_removed",
"flow_updated",
"flow_settled"
],
"title": "Type",
"type": "string"
}
},
"required": [
"type"
],
"title": "FlowEventCreate",
"type": "object"
},
"FlowEventResponse": {
"properties": {
"summary": {
"title": "Summary",
"type": "string"
},
"timestamp": {
"title": "Timestamp",
"type": "number"
},
"type": {
"title": "Type",
"type": "string"
}
},
"required": [
"type",
"timestamp",
"summary"
],
"title": "FlowEventResponse",
"type": "object"
},
"FlowEventsResponse": {
"properties": {
"events": {
"items": {
"$ref": "#/components/schemas/FlowEventResponse"
},
"title": "Events",
"type": "array"
},
"settled": {
"title": "Settled",
"type": "boolean"
}
},
"required": [
"events",
"settled"
],
"title": "FlowEventsResponse",
"type": "object"
},
"FlowHeader": {
"description": "Model representing a header for a flow - Without the data.",
"properties": {
"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"
},
"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": {
"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"
},
"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"
},
"FlowUpdate": {
"properties": {
"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"
},
"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"
},
"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"
}
},
"required": [
"data"
],
"title": "GraphDumpResponse",
"type": "object"
},
"HTTPValidationError": {
"properties": {
"detail": {
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail",
"type": "array"
}
},
"title": "HTTPValidationError",
"type": "object"
},
"HeaderDict": {
"properties": {
"icon": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Icon"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Title"
}
},
"title": "HeaderDict",
"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"
},
"JSONContent-Input": {
"description": "Content type for JSON content.",
"properties": {
"data": {
"additionalProperties": true,
"title": "Data",
"type": "object"
},
"duration": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Duration"
},
"header": {
"anyOf": [
{
"$ref": "#/components/schemas/HeaderDict"
},
{
"type": "null"
}
]
},
"type": {
"const": "json",
"default": "json",
"title": "Type",
"type": "string"
}
},
"required": [
"data"
],
"title": "JSONContent",
"type": "object"
},
"JSONContent-Output": {
"additionalProperties": true,
"type": "object"
},
"JobStatus": {
"description": "Job execution status.",
"enum": [
"queued",
"in_progress",
"completed",
"failed",
"cancelled",
"timed_out"
],
"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"
},
"MediaContent-Input": {
"description": "Content type for media content.",
"properties": {
"caption": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Caption"
},
"duration": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Duration"
},
"header": {
"anyOf": [
{
"$ref": "#/components/schemas/HeaderDict"
},
{
"type": "null"
}
]
},
"type": {
"const": "media",
"default": "media",
"title": "Type",
"type": "string"
},
"urls": {
"items": {
"type": "string"
},
"title": "Urls",
"type": "array"
}
},
"required": [
"urls"
],
"title": "MediaContent",
"type": "object"
},
"MediaContent-Output": {
"additionalProperties": true,
"type": "object"
},
"MessageRead": {
"properties": {
"category": {
"default": "message",
"title": "Category",
"type": "string"
},
"content_blocks": {
"items": {
"$ref": "#/components/schemas/ContentBlock-Output"
},
"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": {
"$ref": "#/components/schemas/ContentBlock-Output"
},
"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": {
"$ref": "#/components/schemas/ContentBlock-Input"
},
"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"
},
"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"
},
"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"
},
"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"
},
"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"
},
"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",
"allow_custom_components"
],
"title": "PublicConfigResponse",
"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"
},
"RoleAssignmentCreate": {
"description": "Payload for assigning a role to a user.",
"properties": {
"domain_id": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"description": "Required when ``domain_type`` is org/workspace/project; must be null for ``global``.",
"title": "Domain Id"
},
"domain_type": {
"default": "global",
"description": "Domain scope of the assignment. ``global`` is unscoped (no ``domain_id``); ``org``/``workspace``/``project`` require a matching ``domain_id``.",
"enum": [
"global",
"org",
"workspace",
"project"
],
"title": "Domain Type",
"type": "string"
},
"role_id": {
"format": "uuid",
"title": "Role Id",
"type": "string"
},
"user_id": {
"format": "uuid",
"title": "User Id",
"type": "string"
}
},
"required": [
"user_id",
"role_id"
],
"title": "RoleAssignmentCreate",
"type": "object"
},
"RoleAssignmentRead": {
"description": "Serialized authz_role_assignment row returned by the API.",
"properties": {
"assigned_at": {
"format": "date-time",
"title": "Assigned At",
"type": "string"
},
"assigned_by": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"title": "Assigned By"
},
"domain_id": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"title": "Domain Id"
},
"domain_type": {
"title": "Domain Type",
"type": "string"
},
"id": {
"format": "uuid",
"title": "Id",
"type": "string"
},
"role_id": {
"format": "uuid",
"title": "Role Id",
"type": "string"
},
"user_id": {
"format": "uuid",
"title": "User Id",
"type": "string"
}
},
"required": [
"id",
"user_id",
"role_id",
"domain_type",
"domain_id",
"assigned_at",
"assigned_by"
],
"title": "RoleAssignmentRead",
"type": "object"
},
"RoleCreate": {
"description": "Payload for creating an authz_role row.",
"properties": {
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"name": {
"maxLength": 255,
"minLength": 1,
"title": "Name",
"type": "string"
},
"parent_role_id": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"title": "Parent Role Id"
},
"permissions": {
"description": "Permission slugs in the canonical ``<resource>:<action>`` form — for example ``flow:read``, ``deployment:execute``, ``share:create``. Resources must be one of flow, deployment, project, knowledge_base, variable, file, share. Actions are constrained per-resource (see ``services/authorization/actions.py``): e.g. ``deploy`` is only valid on ``flow``, ``ingest`` only on ``knowledge_base``, ``update`` only on ``share``. ``*`` (all actions on that resource) is always accepted. A registered authorization plugin is responsible for compiling these into its policy format.",
"items": {
"type": "string"
},
"title": "Permissions",
"type": "array"
}
},
"required": [
"name"
],
"title": "RoleCreate",
"type": "object"
},
"RoleRead": {
"description": "Serialized authz_role row returned by the API.",
"properties": {
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"created_by": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"title": "Created By"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"id": {
"format": "uuid",
"title": "Id",
"type": "string"
},
"is_system": {
"title": "Is System",
"type": "boolean"
},
"name": {
"title": "Name",
"type": "string"
},
"parent_role_id": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"title": "Parent Role Id"
},
"permissions": {
"items": {
"type": "string"
},
"title": "Permissions",
"type": "array"
},
"updated_at": {
"format": "date-time",
"title": "Updated At",
"type": "string"
},
"workspace_id": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"title": "Workspace Id"
}
},
"required": [
"id",
"name",
"description",
"is_system",
"permissions",
"parent_role_id",
"workspace_id",
"created_at",
"updated_at",
"created_by"
],
"title": "RoleRead",
"type": "object"
},
"RoleUpdate": {
"description": "Payload for updating an authz_role row (PATCH semantics — only set fields apply).",
"properties": {
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"name": {
"anyOf": [
{
"maxLength": 255,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"title": "Name"
},
"parent_role_id": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"title": "Parent Role Id"
},
"permissions": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Permissions"
}
},
"title": "RoleUpdate",
"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"
},
"ShareCreate": {
"description": "Payload for creating an authz_share row.",
"properties": {
"permission_level": {
"default": "read",
"enum": [
"read",
"write",
"execute",
"admin"
],
"title": "Permission Level",
"type": "string"
},
"resource_id": {
"format": "uuid",
"title": "Resource Id",
"type": "string"
},
"resource_type": {
"enum": [
"flow",
"deployment",
"project",
"knowledge_base",
"variable",
"file"
],
"title": "Resource Type",
"type": "string"
},
"scope": {
"enum": [
"private",
"team",
"user",
"public"
],
"title": "Scope",
"type": "string"
},
"target_id": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"title": "Target Id"
}
},
"required": [
"resource_type",
"resource_id",
"scope"
],
"title": "ShareCreate",
"type": "object"
},
"ShareRead": {
"description": "Serialized authz_share row returned by the API.",
"properties": {
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"created_by": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"title": "Created By"
},
"id": {
"format": "uuid",
"title": "Id",
"type": "string"
},
"permission_level": {
"enum": [
"read",
"write",
"execute",
"admin"
],
"title": "Permission Level",
"type": "string"
},
"resource_id": {
"format": "uuid",
"title": "Resource Id",
"type": "string"
},
"resource_type": {
"enum": [
"flow",
"deployment",
"project",
"knowledge_base",
"variable",
"file"
],
"title": "Resource Type",
"type": "string"
},
"scope": {
"enum": [
"private",
"team",
"user",
"public"
],
"title": "Scope",
"type": "string"
},
"target_id": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"title": "Target Id"
}
},
"required": [
"id",
"resource_type",
"resource_id",
"scope",
"target_id",
"permission_level",
"created_by",
"created_at"
],
"title": "ShareRead",
"type": "object"
},
"ShareUpdate": {
"description": "Payload for updating an authz_share permission level.",
"properties": {
"permission_level": {
"enum": [
"read",
"write",
"execute",
"admin"
],
"title": "Permission Level",
"type": "string"
}
},
"required": [
"permission_level"
],
"title": "ShareUpdate",
"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"
},
"TeamCreate": {
"description": "Payload for creating an authz_team.",
"properties": {
"adom_name": {
"description": "Administrative-domain slug, unique across all teams (often the SSO group name).",
"maxLength": 255,
"minLength": 1,
"title": "Adom Name",
"type": "string"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"is_active": {
"default": true,
"title": "Is Active",
"type": "boolean"
},
"team_name": {
"maxLength": 255,
"minLength": 1,
"title": "Team Name",
"type": "string"
}
},
"required": [
"team_name",
"adom_name"
],
"title": "TeamCreate",
"type": "object"
},
"TeamMemberCreate": {
"description": "Payload for adding a user to a team.",
"properties": {
"source": {
"default": "manual",
"enum": [
"manual",
"sso"
],
"title": "Source",
"type": "string"
},
"user_id": {
"format": "uuid",
"title": "User Id",
"type": "string"
}
},
"required": [
"user_id"
],
"title": "TeamMemberCreate",
"type": "object"
},
"TeamMemberRead": {
"description": "Serialized authz_team_member row.",
"properties": {
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"id": {
"format": "uuid",
"title": "Id",
"type": "string"
},
"source": {
"title": "Source",
"type": "string"
},
"team_id": {
"format": "uuid",
"title": "Team Id",
"type": "string"
},
"user_id": {
"format": "uuid",
"title": "User Id",
"type": "string"
}
},
"required": [
"id",
"team_id",
"user_id",
"source",
"created_at"
],
"title": "TeamMemberRead",
"type": "object"
},
"TeamRead": {
"description": "Serialized authz_team row returned by the API.",
"properties": {
"adom_name": {
"title": "Adom Name",
"type": "string"
},
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"id": {
"format": "uuid",
"title": "Id",
"type": "string"
},
"is_active": {
"title": "Is Active",
"type": "boolean"
},
"team_name": {
"title": "Team Name",
"type": "string"
},
"updated_at": {
"format": "date-time",
"title": "Updated At",
"type": "string"
}
},
"required": [
"id",
"team_name",
"adom_name",
"description",
"is_active",
"created_at",
"updated_at"
],
"title": "TeamRead",
"type": "object"
},
"TeamUpdate": {
"description": "Payload for updating an authz_team (PATCH semantics).",
"properties": {
"adom_name": {
"anyOf": [
{
"maxLength": 255,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"title": "Adom Name"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"is_active": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Is Active"
},
"team_name": {
"anyOf": [
{
"maxLength": 255,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"title": "Team Name"
}
},
"title": "TeamUpdate",
"type": "object"
},
"TextContent-Input": {
"description": "Content type for simple text content.",
"properties": {
"duration": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Duration"
},
"header": {
"anyOf": [
{
"$ref": "#/components/schemas/HeaderDict"
},
{
"type": "null"
}
]
},
"text": {
"title": "Text",
"type": "string"
},
"type": {
"const": "text",
"default": "text",
"title": "Type",
"type": "string"
}
},
"required": [
"text"
],
"title": "TextContent",
"type": "object"
},
"TextContent-Output": {
"additionalProperties": true,
"type": "object"
},
"ToolContent-Input": {
"description": "Content type for tool start content.",
"properties": {
"duration": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Duration"
},
"error": {
"anyOf": [
{},
{
"type": "null"
}
],
"title": "Error"
},
"header": {
"anyOf": [
{
"$ref": "#/components/schemas/HeaderDict"
},
{
"type": "null"
}
]
},
"input": {
"additionalProperties": true,
"title": "Input",
"type": "object"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name"
},
"output": {
"anyOf": [
{},
{
"type": "null"
}
],
"title": "Output"
},
"type": {
"const": "tool_use",
"default": "tool_use",
"title": "Type",
"type": "string"
}
},
"title": "ToolContent",
"type": "object"
},
"ToolContent-Output": {
"additionalProperties": true,
"type": "object"
},
"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"
},
"WorkflowExecutionRequest": {
"additionalProperties": false,
"description": "Request schema for workflow execution.",
"examples": [
{
"background": false,
"flow_id": "flow_67ccd2be17f0819081ff3bb2cf6508e60bb6a6b452d3795b",
"globals": {
"FILENAME": "relatorio-final.pdf",
"OWNER_NAME": "Jose"
},
"inputs": {
"ChatInput-abc.input_value": "Hello, how can you help me today?",
"ChatInput-abc.session_id": "session-123",
"LLM-xyz.max_tokens": 100,
"LLM-xyz.temperature": 0.7,
"OpenSearch-def.opensearch_url": "https://opensearch:9200"
},
"stream": false
},
{
"background": true,
"flow_id": "flow_67ccd2be17f0819081ff3bb2cf6508e60bb6a6b452d3795b",
"inputs": {
"ChatInput-abc.input_value": "Process this in the background"
},
"stream": false
},
{
"background": false,
"flow_id": "flow_67ccd2be17f0819081ff3bb2cf6508e60bb6a6b452d3795b",
"inputs": {
"ChatInput-abc.input_value": "Stream this conversation"
},
"stream": true
}
],
"properties": {
"background": {
"default": false,
"title": "Background",
"type": "boolean"
},
"flow_id": {
"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.",
"propertyNames": {
"maxLength": 256,
"minLength": 1
},
"title": "Globals",
"type": "object"
},
"inputs": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"description": "Component-specific inputs in flat format: 'component_id.param_name': value",
"title": "Inputs"
},
"stream": {
"default": false,
"title": "Stream",
"type": "boolean"
}
},
"required": [
"flow_id"
],
"title": "WorkflowExecutionRequest",
"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.10.0"
},
"openapi": "3.1.0",
"paths": {
"/api/v1/agentic/assist": {
"post": {
"description": "Chat with the Langflow Assistant.",
"operationId": "assist_api_v1_agentic_assist_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AssistantRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"additionalProperties": true,
"title": "Response Assist Api V1 Agentic Assist 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": "Assist",
"tags": [
"Agentic"
]
}
},
"/api/v1/agentic/assist/stream": {
"post": {
"description": "Chat with the Langflow Assistant with streaming progress updates.",
"operationId": "assist_stream_api_v1_agentic_assist_stream_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AssistantRequest"
}
}
},
"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": "Assist Stream",
"tags": [
"Agentic"
]
}
},
"/api/v1/agentic/check-config": {
"get": {
"description": "Check if the Langflow Assistant is properly configured.<br><br>Returns available providers with their configured status and available models.",
"operationId": "check_assistant_config_api_v1_agentic_check_config_get",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"additionalProperties": true,
"title": "Response Check Assistant Config Api V1 Agentic Check Config Get",
"type": "object"
}
}
},
"description": "Successful Response"
}
},
"security": [
{
"OAuth2PasswordBearerCookie": []
},
{
"API key query": []
},
{
"API key header": []
}
],
"summary": "Check Assistant Config",
"tags": [
"Agentic"
]
}
},
"/api/v1/agentic/execute/{flow_name}": {
"post": {
"description": "Execute a named flow from the flows directory.<br><br>Named assistant flows embed an Agent that needs provider/model/api-key<br>context. Resolving it here (instead of running the raw file) turns a<br>silent 500 into a successful run, or a clear 4xx when no provider is set.",
"operationId": "execute_named_flow_api_v1_agentic_execute__flow_name__post",
"parameters": [
{
"in": "path",
"name": "flow_name",
"required": true,
"schema": {
"title": "Flow Name",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AssistantRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"additionalProperties": true,
"title": "Response Execute Named Flow Api V1 Agentic Execute Flow Name 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": "Execute Named Flow",
"tags": [
"Agentic"
]
}
},
"/api/v1/agentic/files": {
"get": {
"description": "Return the contents of a sandboxed file as text (or as an attachment).<br><br>Raises:<br> HTTPException(400): The path shape is invalid (traversal, absolute,<br> null byte, etc.). No I/O is attempted.<br> HTTPException(404): The file does not exist in the requesting user's<br> sandbox. Same status for sandbox-internal \"not found\" and for<br> \"path resolves outside the user namespace\" — by design, to avoid<br> leaking namespace existence to another tenant.<br> HTTPException(413): The file is larger than ``MAX_FILE_SIZE_BYTES``.<br> HTTPException(415): The file is binary (null byte in the first 8 KiB).",
"operationId": "get_file_api_v1_agentic_files_get",
"parameters": [
{
"in": "query",
"name": "path",
"required": true,
"schema": {
"maxLength": 1024,
"minLength": 1,
"title": "Path",
"type": "string"
}
},
{
"in": "query",
"name": "download",
"required": false,
"schema": {
"default": false,
"title": "Download",
"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 File",
"tags": [
"Agentic"
]
}
},
"/api/v1/agentic/sessions/reset": {
"post": {
"description": "Drop the calling user's session-scoped state.<br><br>Wipes:<br> - conversation buffer for ``session_id`` (if provided).<br> - registered components under the user's FS sandbox.<br><br>The user id is sourced from the authenticated session — the<br>``session_id`` query parameter only addresses the conversation<br>buffer entry and is never trusted for path resolution.<br><br>Returns a small envelope describing what was cleared, sufficient<br>for ops/log correlation but stripped of anything sensitive:<br><br>```<br>{\"status\": \"ok\", \"components_cleared\": <int>, \"session_id\": <str|null>}<br>```",
"operationId": "reset_session_api_v1_agentic_sessions_reset_post",
"parameters": [
{
"in": "query",
"name": "session_id",
"required": false,
"schema": {
"anyOf": [
{
"maxLength": 128,
"type": "string"
},
{
"type": "null"
}
],
"title": "Session Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"additionalProperties": true,
"title": "Response Reset Session Api V1 Agentic Sessions Reset 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": "Reset Session",
"tags": [
"agentic"
]
}
},
"/api/v1/all": {
"get": {
"description": "Retrieve all component types with compression for better performance.<br><br>Returns a compressed response containing all available component types,<br>with display_names translated to the locale indicated by Accept-Language.",
"operationId": "get_all_api_v1_all_get",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
}
},
"security": [
{
"OAuth2PasswordBearerCookie": []
},
{
"API key query": []
},
{
"API key header": []
}
],
"summary": "Get All",
"tags": [
"Base"
]
}
},
"/api/v1/authz/audit": {
"get": {
"description": "Return a paginated slice of the audit log filtered by the given query params.<br><br>Superuser only. The composite indexes on ``(user_id, timestamp)`` and<br>``(resource_type, resource_id)`` keep both \"show me events for user X\"<br>and \"show me events on resource Y\" fast at scale.",
"operationId": "list_audit_log_api_v1_authz_audit_get",
"parameters": [
{
"description": "Filter by acting user id.",
"in": "query",
"name": "user_id",
"required": false,
"schema": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"description": "Filter by acting user id.",
"title": "User Id"
}
},
{
"description": "Filter by resource type slug, e.g. ``flow`` or ``deployment``.",
"in": "query",
"name": "resource_type",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Filter by resource type slug, e.g. ``flow`` or ``deployment``.",
"title": "Resource Type"
}
},
{
"description": "Filter by resource UUID.",
"in": "query",
"name": "resource_id",
"required": false,
"schema": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"description": "Filter by resource UUID.",
"title": "Resource Id"
}
},
{
"description": "Filter by action string, e.g. ``flow:read`` or ``share:create``.",
"in": "query",
"name": "action",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Filter by action string, e.g. ``flow:read`` or ``share:create``.",
"title": "Action"
}
},
{
"description": "Filter by decision result (``allow`` / ``deny`` / ``owner_override``).",
"in": "query",
"name": "result",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Filter by decision result (``allow`` / ``deny`` / ``owner_override``).",
"title": "Result"
}
},
{
"description": "Inclusive lower bound on ``timestamp``.",
"in": "query",
"name": "since",
"required": false,
"schema": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"description": "Inclusive lower bound on ``timestamp``.",
"title": "Since"
}
},
{
"description": "Exclusive upper bound on ``timestamp``.",
"in": "query",
"name": "until",
"required": false,
"schema": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"description": "Exclusive upper bound on ``timestamp``.",
"title": "Until"
}
},
{
"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": 200,
"minimum": 1,
"title": "Size",
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuthzAuditPage"
}
}
},
"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 Audit Log",
"tags": [
"Authorization"
]
}
},
"/api/v1/authz/audit/": {
"get": {
"description": "Return a paginated slice of the audit log filtered by the given query params.<br><br>Superuser only. The composite indexes on ``(user_id, timestamp)`` and<br>``(resource_type, resource_id)`` keep both \"show me events for user X\"<br>and \"show me events on resource Y\" fast at scale.",
"operationId": "list_audit_log_api_v1_authz_audit__get",
"parameters": [
{
"description": "Filter by acting user id.",
"in": "query",
"name": "user_id",
"required": false,
"schema": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"description": "Filter by acting user id.",
"title": "User Id"
}
},
{
"description": "Filter by resource type slug, e.g. ``flow`` or ``deployment``.",
"in": "query",
"name": "resource_type",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Filter by resource type slug, e.g. ``flow`` or ``deployment``.",
"title": "Resource Type"
}
},
{
"description": "Filter by resource UUID.",
"in": "query",
"name": "resource_id",
"required": false,
"schema": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"description": "Filter by resource UUID.",
"title": "Resource Id"
}
},
{
"description": "Filter by action string, e.g. ``flow:read`` or ``share:create``.",
"in": "query",
"name": "action",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Filter by action string, e.g. ``flow:read`` or ``share:create``.",
"title": "Action"
}
},
{
"description": "Filter by decision result (``allow`` / ``deny`` / ``owner_override``).",
"in": "query",
"name": "result",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Filter by decision result (``allow`` / ``deny`` / ``owner_override``).",
"title": "Result"
}
},
{
"description": "Inclusive lower bound on ``timestamp``.",
"in": "query",
"name": "since",
"required": false,
"schema": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"description": "Inclusive lower bound on ``timestamp``.",
"title": "Since"
}
},
{
"description": "Exclusive upper bound on ``timestamp``.",
"in": "query",
"name": "until",
"required": false,
"schema": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"description": "Exclusive upper bound on ``timestamp``.",
"title": "Until"
}
},
{
"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": 200,
"minimum": 1,
"title": "Size",
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuthzAuditPage"
}
}
},
"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 Audit Log",
"tags": [
"Authorization"
]
}
},
"/api/v1/authz/me/permissions": {
"post": {
"description": "Return per-resource allowed actions for the current user.<br><br>Use this to render the UI permission gate (greyed-out buttons etc.) without<br>flooding the audit log with denied probes. Empty list for a resource_id<br>means the user cannot perform any of the requested actions on that resource.",
"operationId": "get_effective_permissions_api_v1_authz_me_permissions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EffectivePermissionsRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EffectivePermissionsResponse"
}
}
},
"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 Effective Permissions",
"tags": [
"Authorization"
]
}
},
"/api/v1/authz/role-assignments": {
"get": {
"description": "List role assignments scoped to one user.<br><br>* Omitting ``user_id`` defaults to the caller — no superuser needed.<br>* Passing ``user_id == self.id`` is the same as omitting it.<br>* Passing a different ``user_id`` requires superuser; otherwise 403.<br><br>Results are always filtered by the resolved ``user_id``. Admins who need<br>cross-user lookups make one call per user. Paginated via ``limit`` /<br>``offset`` (default 100, max 200).",
"operationId": "list_assignments_api_v1_authz_role_assignments_get",
"parameters": [
{
"description": "Filter by user",
"in": "query",
"name": "user_id",
"required": false,
"schema": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"description": "Filter by user",
"title": "User Id"
}
},
{
"description": "Filter by role",
"in": "query",
"name": "role_id",
"required": false,
"schema": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"description": "Filter by role",
"title": "Role Id"
}
},
{
"in": "query",
"name": "domain_type",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Domain Type"
}
},
{
"in": "query",
"name": "domain_id",
"required": false,
"schema": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"title": "Domain Id"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 100,
"maximum": 200,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
},
{
"in": "query",
"name": "offset",
"required": false,
"schema": {
"default": 0,
"minimum": 0,
"title": "Offset",
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/RoleAssignmentRead"
},
"title": "Response List Assignments Api V1 Authz Role Assignments 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 Assignments",
"tags": [
"Authorization"
]
},
"post": {
"description": "Assign a role to a user. Superuser-only.",
"operationId": "create_assignment_api_v1_authz_role_assignments_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RoleAssignmentCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RoleAssignmentRead"
}
}
},
"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 Assignment",
"tags": [
"Authorization"
]
}
},
"/api/v1/authz/role-assignments/": {
"get": {
"description": "List role assignments scoped to one user.<br><br>* Omitting ``user_id`` defaults to the caller — no superuser needed.<br>* Passing ``user_id == self.id`` is the same as omitting it.<br>* Passing a different ``user_id`` requires superuser; otherwise 403.<br><br>Results are always filtered by the resolved ``user_id``. Admins who need<br>cross-user lookups make one call per user. Paginated via ``limit`` /<br>``offset`` (default 100, max 200).",
"operationId": "list_assignments_api_v1_authz_role_assignments__get",
"parameters": [
{
"description": "Filter by user",
"in": "query",
"name": "user_id",
"required": false,
"schema": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"description": "Filter by user",
"title": "User Id"
}
},
{
"description": "Filter by role",
"in": "query",
"name": "role_id",
"required": false,
"schema": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"description": "Filter by role",
"title": "Role Id"
}
},
{
"in": "query",
"name": "domain_type",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Domain Type"
}
},
{
"in": "query",
"name": "domain_id",
"required": false,
"schema": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"title": "Domain Id"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 100,
"maximum": 200,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
},
{
"in": "query",
"name": "offset",
"required": false,
"schema": {
"default": 0,
"minimum": 0,
"title": "Offset",
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/RoleAssignmentRead"
},
"title": "Response List Assignments Api V1 Authz Role Assignments 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 Assignments",
"tags": [
"Authorization"
]
},
"post": {
"description": "Assign a role to a user. Superuser-only.",
"operationId": "create_assignment_api_v1_authz_role_assignments__post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RoleAssignmentCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RoleAssignmentRead"
}
}
},
"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 Assignment",
"tags": [
"Authorization"
]
}
},
"/api/v1/authz/role-assignments/{assignment_id}": {
"delete": {
"description": "Revoke a role assignment. Superuser-only.",
"operationId": "delete_assignment_api_v1_authz_role_assignments__assignment_id__delete",
"parameters": [
{
"in": "path",
"name": "assignment_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Assignment 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 Assignment",
"tags": [
"Authorization"
]
}
},
"/api/v1/authz/roles": {
"get": {
"description": "List roles. Open to authenticated users so the UI can populate dropdowns.<br><br>Paginated via ``limit`` / ``offset`` so a single call cannot return the<br>entire catalog of roles + their permissions. Stable order is ``(name, id)``<br>so ``offset`` is deterministic across calls.",
"operationId": "list_roles_api_v1_authz_roles_get",
"parameters": [
{
"description": "Filter by is_system flag",
"in": "query",
"name": "is_system",
"required": false,
"schema": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Filter by is_system flag",
"title": "Is System"
}
},
{
"description": "Substring match on role name",
"in": "query",
"name": "name",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Substring match on role name",
"title": "Name"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 100,
"maximum": 200,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
},
{
"in": "query",
"name": "offset",
"required": false,
"schema": {
"default": 0,
"minimum": 0,
"title": "Offset",
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/RoleRead"
},
"title": "Response List Roles Api V1 Authz Roles 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 Roles",
"tags": [
"Authorization"
]
},
"post": {
"description": "Create a custom (non-system) role. Superuser-only.",
"operationId": "create_role_api_v1_authz_roles_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RoleCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RoleRead"
}
}
},
"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 Role",
"tags": [
"Authorization"
]
}
},
"/api/v1/authz/roles/": {
"get": {
"description": "List roles. Open to authenticated users so the UI can populate dropdowns.<br><br>Paginated via ``limit`` / ``offset`` so a single call cannot return the<br>entire catalog of roles + their permissions. Stable order is ``(name, id)``<br>so ``offset`` is deterministic across calls.",
"operationId": "list_roles_api_v1_authz_roles__get",
"parameters": [
{
"description": "Filter by is_system flag",
"in": "query",
"name": "is_system",
"required": false,
"schema": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Filter by is_system flag",
"title": "Is System"
}
},
{
"description": "Substring match on role name",
"in": "query",
"name": "name",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Substring match on role name",
"title": "Name"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 100,
"maximum": 200,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
},
{
"in": "query",
"name": "offset",
"required": false,
"schema": {
"default": 0,
"minimum": 0,
"title": "Offset",
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/RoleRead"
},
"title": "Response List Roles Api V1 Authz Roles 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 Roles",
"tags": [
"Authorization"
]
},
"post": {
"description": "Create a custom (non-system) role. Superuser-only.",
"operationId": "create_role_api_v1_authz_roles__post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RoleCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RoleRead"
}
}
},
"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 Role",
"tags": [
"Authorization"
]
}
},
"/api/v1/authz/roles/{role_id}": {
"delete": {
"description": "Delete a custom role.<br><br>System roles cannot be deleted; roles with active assignments return 409<br>(delete the assignments first).",
"operationId": "delete_role_api_v1_authz_roles__role_id__delete",
"parameters": [
{
"in": "path",
"name": "role_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Role 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 Role",
"tags": [
"Authorization"
]
},
"get": {
"operationId": "read_role_api_v1_authz_roles__role_id__get",
"parameters": [
{
"in": "path",
"name": "role_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Role Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RoleRead"
}
}
},
"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 Role",
"tags": [
"Authorization"
]
},
"patch": {
"description": "Update fields on a custom role. System roles are read-only.",
"operationId": "update_role_api_v1_authz_roles__role_id__patch",
"parameters": [
{
"in": "path",
"name": "role_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Role Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RoleUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RoleRead"
}
}
},
"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 Role",
"tags": [
"Authorization"
]
}
},
"/api/v1/authz/shares": {
"get": {
"description": "List share rows visible to the caller (paginated, max 200).",
"operationId": "list_shares_api_v1_authz_shares_get",
"parameters": [
{
"in": "query",
"name": "resource_type",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Resource Type"
}
},
{
"in": "query",
"name": "resource_id",
"required": false,
"schema": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"title": "Resource Id"
}
},
{
"in": "query",
"name": "target_id",
"required": false,
"schema": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"title": "Target Id"
}
},
{
"in": "query",
"name": "scope",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Scope"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 100,
"maximum": 200,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
},
{
"in": "query",
"name": "offset",
"required": false,
"schema": {
"default": 0,
"minimum": 0,
"title": "Offset",
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/ShareRead"
},
"title": "Response List Shares Api V1 Authz Shares 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 Shares",
"tags": [
"Authorization"
]
},
"post": {
"description": "Create an authz_share row for a resource.",
"operationId": "create_share_api_v1_authz_shares_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ShareCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ShareRead"
}
}
},
"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 Share",
"tags": [
"Authorization"
]
}
},
"/api/v1/authz/shares/": {
"get": {
"description": "List share rows visible to the caller (paginated, max 200).",
"operationId": "list_shares_api_v1_authz_shares__get",
"parameters": [
{
"in": "query",
"name": "resource_type",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Resource Type"
}
},
{
"in": "query",
"name": "resource_id",
"required": false,
"schema": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"title": "Resource Id"
}
},
{
"in": "query",
"name": "target_id",
"required": false,
"schema": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"title": "Target Id"
}
},
{
"in": "query",
"name": "scope",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Scope"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 100,
"maximum": 200,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
},
{
"in": "query",
"name": "offset",
"required": false,
"schema": {
"default": 0,
"minimum": 0,
"title": "Offset",
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/ShareRead"
},
"title": "Response List Shares Api V1 Authz Shares 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 Shares",
"tags": [
"Authorization"
]
},
"post": {
"description": "Create an authz_share row for a resource.",
"operationId": "create_share_api_v1_authz_shares__post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ShareCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ShareRead"
}
}
},
"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 Share",
"tags": [
"Authorization"
]
}
},
"/api/v1/authz/shares/{share_id}": {
"delete": {
"description": "Revoke an existing share.",
"operationId": "delete_share_api_v1_authz_shares__share_id__delete",
"parameters": [
{
"in": "path",
"name": "share_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Share 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 Share",
"tags": [
"Authorization"
]
},
"get": {
"description": "Fetch a single share by id with the same visibility rules as list.",
"operationId": "get_share_api_v1_authz_shares__share_id__get",
"parameters": [
{
"in": "path",
"name": "share_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Share Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ShareRead"
}
}
},
"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 Share",
"tags": [
"Authorization"
]
},
"patch": {
"description": "Update the permission level of an existing share.",
"operationId": "update_share_api_v1_authz_shares__share_id__patch",
"parameters": [
{
"in": "path",
"name": "share_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Share Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ShareUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ShareRead"
}
}
},
"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 Share",
"tags": [
"Authorization"
]
}
},
"/api/v1/authz/teams": {
"get": {
"description": "List teams. Open to any authenticated user (for the share dialog's team picker).<br><br>Paginated via ``limit`` / ``offset`` so a single call cannot enumerate every<br>team. Stable order is ``(team_name, id)`` so ``offset`` is deterministic.",
"operationId": "list_teams_api_v1_authz_teams_get",
"parameters": [
{
"description": "Substring match on team_name or adom_name",
"in": "query",
"name": "search",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Substring match on team_name or adom_name",
"title": "Search"
}
},
{
"in": "query",
"name": "is_active",
"required": false,
"schema": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Is Active"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 100,
"maximum": 200,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
},
{
"in": "query",
"name": "offset",
"required": false,
"schema": {
"default": 0,
"minimum": 0,
"title": "Offset",
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/TeamRead"
},
"title": "Response List Teams Api V1 Authz Teams 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 Teams",
"tags": [
"Authorization"
]
},
"post": {
"operationId": "create_team_api_v1_authz_teams_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TeamCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TeamRead"
}
}
},
"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 Team",
"tags": [
"Authorization"
]
}
},
"/api/v1/authz/teams/": {
"get": {
"description": "List teams. Open to any authenticated user (for the share dialog's team picker).<br><br>Paginated via ``limit`` / ``offset`` so a single call cannot enumerate every<br>team. Stable order is ``(team_name, id)`` so ``offset`` is deterministic.",
"operationId": "list_teams_api_v1_authz_teams__get",
"parameters": [
{
"description": "Substring match on team_name or adom_name",
"in": "query",
"name": "search",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Substring match on team_name or adom_name",
"title": "Search"
}
},
{
"in": "query",
"name": "is_active",
"required": false,
"schema": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Is Active"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 100,
"maximum": 200,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
},
{
"in": "query",
"name": "offset",
"required": false,
"schema": {
"default": 0,
"minimum": 0,
"title": "Offset",
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/TeamRead"
},
"title": "Response List Teams Api V1 Authz Teams 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 Teams",
"tags": [
"Authorization"
]
},
"post": {
"operationId": "create_team_api_v1_authz_teams__post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TeamCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TeamRead"
}
}
},
"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 Team",
"tags": [
"Authorization"
]
}
},
"/api/v1/authz/teams/{team_id}": {
"delete": {
"operationId": "delete_team_api_v1_authz_teams__team_id__delete",
"parameters": [
{
"in": "path",
"name": "team_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Team 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 Team",
"tags": [
"Authorization"
]
},
"get": {
"operationId": "read_team_api_v1_authz_teams__team_id__get",
"parameters": [
{
"in": "path",
"name": "team_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Team Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TeamRead"
}
}
},
"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 Team",
"tags": [
"Authorization"
]
},
"patch": {
"operationId": "update_team_api_v1_authz_teams__team_id__patch",
"parameters": [
{
"in": "path",
"name": "team_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Team Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TeamUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TeamRead"
}
}
},
"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 Team",
"tags": [
"Authorization"
]
}
},
"/api/v1/authz/teams/{team_id}/members": {
"get": {
"description": "List members of a team. Any authenticated user (so the UI can render team rosters).<br><br>Paginated via ``limit`` / ``offset`` so a single call cannot enumerate a<br>large team's full roster. Stable order is ``(created_at, user_id)``.",
"operationId": "list_members_api_v1_authz_teams__team_id__members_get",
"parameters": [
{
"in": "path",
"name": "team_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Team Id",
"type": "string"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 100,
"maximum": 200,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
},
{
"in": "query",
"name": "offset",
"required": false,
"schema": {
"default": 0,
"minimum": 0,
"title": "Offset",
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/TeamMemberRead"
},
"title": "Response List Members Api V1 Authz Teams Team Id Members 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 Members",
"tags": [
"Authorization"
]
},
"post": {
"operationId": "add_member_api_v1_authz_teams__team_id__members_post",
"parameters": [
{
"in": "path",
"name": "team_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Team Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TeamMemberCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TeamMemberRead"
}
}
},
"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 Member",
"tags": [
"Authorization"
]
}
},
"/api/v1/authz/teams/{team_id}/members/{user_id}": {
"delete": {
"operationId": "remove_member_api_v1_authz_teams__team_id__members__user_id__delete",
"parameters": [
{
"in": "path",
"name": "team_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Team Id",
"type": "string"
}
},
{
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"format": "uuid",
"title": "User 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": "Remove Member",
"tags": [
"Authorization"
]
}
},
"/api/v1/build/{flow_id}/flow": {
"post": {
"description": "Build and process a flow, returning a job ID for event polling.<br><br>This endpoint requires authentication through the CurrentActiveUser dependency.<br>For public flows that don't require authentication, use the /build_public_tmp/flow_id/flow endpoint.<br><br>Args:<br> flow_id: UUID of the flow to build<br> background_tasks: Background tasks manager<br> inputs: Optional input values for the flow<br> data: Optional flow data<br> files: Optional files to include<br> stop_component_id: Optional ID of component to stop at<br> start_component_id: Optional ID of component to start from<br> log_builds: Whether to log the build process<br> current_user: The authenticated user<br> queue_service: Queue service for job management<br> flow_name: Optional name for the flow<br> event_delivery: Optional event delivery type - default is streaming<br><br>Returns:<br> 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.<br><br>Requires authentication and ownership verification to prevent a user from<br>aborting another user's running build (DoS via job cancellation).<br>Jobs with no registered owner (build_public_tmp) are accessible to any<br>authenticated 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.<br><br>Requires authentication and ownership verification. A job owner is registered<br>when build_flow is called; if a registered owner does not match the requesting<br>user the endpoint returns 404 to avoid leaking job existence.<br>Jobs started via build_public_tmp have no registered owner and remain accessible<br>to 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.<br><br>This endpoint is specifically for public flows that don't require authentication.<br>It uses a client_id cookie to create a deterministic flow ID for tracking purposes.<br><br>Security Note:<br>- The 'data' parameter is NOT accepted to prevent flow definition tampering<br>- Public flows must execute the stored flow definition only<br>- The flow definition is always loaded from the database<br>- Caller-supplied 'inputs.session' is namespaced under the (client_id,<br> flow_id) virtual flow ID so an unauthenticated caller cannot address a<br> session that lives outside its own namespace (CVE-2026-33017)<br><br>The endpoint:<br>1. Verifies the requested flow is marked as public in the database<br>2. Creates a deterministic UUID based on client_id and flow_id<br>3. Uses the flow owner's permissions to build the flow<br>4. Always loads the flow definition from the database<br><br>Requirements:<br>- The flow must be marked as PUBLIC in the database<br>- The request must include a client_id cookie<br><br>Args:<br> flow_id: UUID of the public flow to build<br> background_tasks: Background tasks manager<br> inputs: Optional input values for the flow<br> files: Optional files to include<br> stop_component_id: Optional ID of component to stop at<br> start_component_id: Optional ID of component to start from<br> log_builds: Whether to log the build process<br> flow_name: Optional name for the flow<br> request: FastAPI request object (needed for cookie access)<br> queue_service: Queue service for job management<br> authenticated_user: Optional authenticated user (resolved from cookie/token if present)<br> event_delivery: Optional event delivery type - default is streaming<br><br>Returns:<br> 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.<br><br>This endpoint does not require authentication, matching the public build endpoint.<br>It 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.<br><br>This endpoint does not require authentication, matching the public build endpoint.<br>It 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/config": {
"get": {
"description": "Retrieve application configuration settings.<br><br>Returns different configuration based on authentication status:<br>- Authenticated users: Full ConfigResponse with all settings<br>- Unauthenticated users: PublicConfigResponse with limited, safe-to-expose settings<br><br>Args:<br> user: The authenticated user, or None if unauthenticated.<br><br>Returns:<br> ConfigResponse | PublicConfigResponse: Configuration settings appropriate for the user's auth status.<br><br>Raises:<br> 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.<br><br>Events are scoped to the authenticated user via a server-derived keyspace<br>(``user:{user_id}``); there is no client-controllable keyspace, so an<br>authenticated user cannot read another user's flow-migration or<br>bundle-reload events. A client-supplied ``keyspace`` query parameter is<br>rejected with 422 so the contract is explicit -- previously the value was<br>silently dropped, which masked client bugs that assumed it had effect.<br><br>svc.since() uses blocking sqlite3; run in a thread pool so the asyncio<br>event 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.<br><br>Returns the typed :class:`~lfx.extension.reload.ReloadResult` body on<br>success. Per the typed-error contract, structural failures<br>(broken bundle, missing source path, name mismatch) surface as<br>``422 Unprocessable Entity`` with the first typed error in the body<br>so clients can surface fix hints inline; the full ``ReloadResult``<br>payload (with all errors and warnings) is returned via the FastAPI<br>``detail`` envelope. Concurrency-control collisions surface as<br>``409 Conflict`` (``reload-in-progress``). Non-2xx is the wire<br>contract for every error path -- the body still carries the typed<br>error 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.<br><br>Profile pictures are first looked up in config_dir/profile_pictures/,<br>then 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.<br><br>Profile pictures are first looked up in config_dir/profile_pictures/,<br>then 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": "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",
"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"
}
},
"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).",
"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/FlowRead"
}
}
},
"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).<br><br>Returns 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}/events": {
"get": {
"operationId": "get_flow_events_api_v1_flows__flow_id__events_get",
"parameters": [
{
"in": "path",
"name": "flow_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Flow Id",
"type": "string"
}
},
{
"description": "UTC timestamp to get events after",
"in": "query",
"name": "since",
"required": false,
"schema": {
"default": 0.0,
"description": "UTC timestamp to get events after",
"title": "Since",
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FlowEventsResponse"
}
}
},
"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 Flow Events",
"tags": [
"Flow Events"
]
},
"post": {
"description": "Append an event to a flow's event queue.",
"operationId": "create_flow_event_api_v1_flows__flow_id__events_post",
"parameters": [
{
"in": "path",
"name": "flow_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Flow Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FlowEventCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FlowEventResponse"
}
}
},
"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 Event",
"tags": [
"Flow Events"
]
}
},
"/api/v1/flows/{flow_id}/note_translations": {
"get": {
"description": "Return translated note node descriptions for the current locale.<br><br>Returns a mapping of node_id → translated markdown text. Only nodes<br>with a matching translation key are included; nodes without translations<br>are omitted so the caller can leave them unchanged.<br><br>A missing or inaccessible flow yields 404 (via ``AuthorizedReadFlow``),<br>consistent with ``GET /flows/{id}``; the sole frontend caller (NoteNode)<br>treats 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.<br><br>On MCP Composer failure, this endpoint should return with a 200 status code and an error message in<br>the 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.<br><br>On failure, this endpoint should return with a 200 status code and an error message in<br>the 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/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.<br><br>For the in-memory backend this exposes only ``backend`` and ``active_jobs``.<br>For the Redis backend the snapshot also includes bridge counts, consumer<br>wrappers, cancel-dispatcher liveness, and the cancel-stats counters<br>(``published`` / ``marker_hit`` / ``dispatched_owned`` /<br>``dispatched_foreign`` / ``publish_errors`` / ``dispatcher_reconnects`` /<br>``polling_watchdog_kills`` / ``activity_touch_errors`` /<br>``activity_get_errors`` / ``activity_parse_errors`` /<br>``dispatcher_internal_errors``). ``dispatcher_reconnects`` tracks explicit<br>dispatcher-loop retries and redis-py transparent pubsub reconnect callbacks.<br><br>Restricted to superusers because the snapshot exposes process-wide tenant<br>activity (live job counts, cancel rates) — useful for ops, sensitive in<br>multi-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": "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"
}
}
],
"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.<br><br>Only 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.<br><br>Only deletes messages from sessions belonging to flows owned by the current user.<br><br>Args:<br> session_ids: List of session IDs to delete (max 500)<br> session: Database session<br> current_user: Current authenticated user<br><br>Returns:<br> Confirmation message with count of deleted sessions<br><br>Raises:<br> HTTPException: 400 if session_ids list exceeds 500 items<br> 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.<br><br>Uses a deterministic virtual flow_id derived from the user's ID and the<br>original 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"
}
}
],
"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.<br><br>Uses a deterministic virtual flow_id derived from the user's ID and the<br>original 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.<br><br>Args:<br> flow_id: The ID of the flow whose traces should be deleted.<br> 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.<br><br>Args:<br> current_user: Authenticated user (required for authorization)<br> flow_id: Filter by flow ID<br> session_id: Filter by session ID<br> status: Filter by trace status<br> query: Search query for trace name/id/session id<br> start_time: Filter traces starting on/after this time (ISO)<br> end_time: Filter traces starting on/before this time (ISO)<br> page: Page number (1-based)<br> size: Page size<br><br>Returns:<br> 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.<br><br>Args:<br> trace_id: The ID of the trace to delete.<br> 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.<br><br>Args:<br> trace_id: The ID of the trace to retrieve.<br> current_user: The authenticated user (required for authorization).<br><br>Returns:<br> 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"
}
},
{
"description": "Page number",
"in": "query",
"name": "page",
"required": false,
"schema": {
"default": 1,
"description": "Page number",
"minimum": 1,
"title": "Page",
"type": "integer"
}
},
{
"description": "Page size",
"in": "query",
"name": "size",
"required": false,
"schema": {
"default": 50,
"description": "Page size",
"maximum": 100,
"minimum": 1,
"title": "Size",
"type": "integer"
}
}
],
"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/projects/": {
"get": {
"operationId": "read_projects_api_v1_projects__get",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/FolderRead"
},
"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.<br><br>Accepts either a JSON file with project metadata (folder_name, folder_description, flows)<br>or 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"
]
}
},
"/api/v1/responses": {
"post": {
"description": "Create a response using OpenAI Responses API format.<br><br>This endpoint accepts a flow_id in the model parameter and processes<br>the input through the specified Langflow flow.<br><br>Args:<br> request: OpenAI Responses API request with model (flow_id) and input<br> background_tasks: FastAPI background task manager<br> api_key_user: Authenticated user from API key<br> http_request: The incoming HTTP request<br> telemetry_service: Telemetry service for logging<br><br>Returns:<br> OpenAI-compatible response or streaming response<br><br>Raises:<br> 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.<br><br>This endpoint supports running flows with caching to enhance performance and efficiency.<br><br>### Parameters:<br>- `flow` (Flow): The flow object to be executed, resolved via dependency injection.<br>- `inputs` (List[InputValueRequest], optional): A list of inputs specifying the input values and components<br> for the flow. Each input can target specific components and provide custom values.<br>- `outputs` (List[str], optional): A list of output names to retrieve from the executed flow.<br> If not provided, all outputs are returned.<br>- `tweaks` (Optional[Tweaks], optional): A dictionary of tweaks to customize the flow execution.<br> The tweaks can be used to modify the flow's parameters and components.<br> Tweaks can be overridden by the input values.<br>- `stream` (bool, optional): Specifies whether the results should be streamed. Defaults to False.<br>- `session_id` (Union[None, str], optional): An optional session ID to utilize existing session data for the flow<br> execution.<br>- `api_key_user` (User): The user associated with the current API key. Automatically resolved from the API key.<br><br>### Returns:<br>A `RunResponse` object containing the selected outputs (or all if not specified) of the executed flow<br>and the session ID.<br>The structure of the response accommodates multiple inputs, providing a nested list of outputs for each input.<br><br>### Raises:<br>HTTPException: Indicates issues with finding the specified flow, invalid input formats, or internal errors during<br>flow execution.<br><br>### Example usage:<br>```json<br>POST /run/flow_id<br>x-api-key: YOUR_API_KEY<br>Payload:<br>{<br> \"inputs\": [<br> {\"components\": [\"component1\"], \"input_value\": \"value1\"},<br> {\"components\": [\"component3\"], \"input_value\": \"value2\"}<br> ],<br> \"outputs\": [\"Component Name\", \"component_id\"],<br> \"tweaks\": {\"parameter_name\": \"value\", \"Component Name\": {\"parameter_name\": \"value\"}, \"component_id\": {\"parameter_name\": \"value\"}}<br> \"stream\": false<br>}<br>```<br><br>This endpoint facilitates complex flow executions with customized inputs, outputs, and configurations,<br>catering 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).<br><br>This endpoint executes a flow identified by ID or name, with options for streaming the response<br>and tracking execution metrics. It handles both streaming and non-streaming execution modes.<br>This endpoint uses API key authentication (Bearer token).<br><br>Args:<br> background_tasks (BackgroundTasks): FastAPI background task manager<br> flow (FlowRead | None): The flow to execute, loaded via dependency<br> input_request (SimplifiedAPIRequest | None): Input parameters for the flow<br> stream (bool): Whether to stream the response<br> api_key_user (UserRead): Authenticated user from API key<br> context (dict | None): Optional context to pass to the flow<br> http_request (Request): The incoming HTTP request for extracting global variables<br><br>Returns:<br> Union[StreamingResponse, RunResponse]: Either a streaming response for real-time results<br> or a RunResponse with the complete execution results<br><br>Raises:<br> HTTPException: For flow not found (404) or invalid input (400)<br> APIException: For internal execution errors (500)<br><br>Notes:<br> - Supports both streaming and non-streaming execution modes<br> - Tracks execution time and success/failure via telemetry<br> - Handles graceful client disconnection in streaming mode<br> - Provides detailed error handling with appropriate HTTP status codes<br> - Extracts global variables from HTTP headers with prefix X-LANGFLOW-GLOBAL-VAR-*<br> - Merges extracted variables with the context parameter as \"request_variables\"<br> - In streaming mode, uses EventManager to handle events:<br> - \"add_message\": New messages during execution<br> - \"token\": Individual tokens during streaming<br> - \"end\": Final execution result<br> - 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",
"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"
}
},
"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.<br><br>This endpoint allows public user registration (sign up).<br>User 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": "Reset a user's 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/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": "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.<br><br>Args:<br> auth: Resolved webhook user and flow, scoped to the authenticated caller.<br> request: The incoming HTTP request.<br><br>Returns:<br> A dictionary containing the status of the task.<br><br>Raises:<br> 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.<br><br>Args:<br> file_id: UUID of the file.<br> current_user: Authenticated user.<br> session: Database session.<br> storage_service: File storage service.<br> return_content: If True, return raw content (str) instead of StreamingResponse.<br><br>Returns:<br> 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"
},
"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"
},
"outputs": {
"additionalProperties": {
"$ref": "#/components/schemas/ComponentOutput"
},
"default": {},
"title": "Outputs",
"type": "object"
},
"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": [
{
"API key query": []
},
{
"API key header": []
}
],
"summary": "Get Workflow Status",
"tags": [
"Workflow"
]
},
"post": {
"description": "Execute a workflow with support for sync, stream, and background modes",
"operationId": "execute_workflow_api_v2_workflows_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkflowExecutionRequest"
}
}
},
"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"
},
"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"
},
"outputs": {
"additionalProperties": {
"$ref": "#/components/schemas/ComponentOutput"
},
"default": {},
"title": "Outputs",
"type": "object"
},
"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"
}
},
"security": [
{
"API key query": []
},
{
"API key header": []
}
],
"summary": "Execute Workflow",
"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": [
{
"API key query": []
},
{
"API key header": []
}
],
"summary": "Stop 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"
]
}
},
"/logs": {
"get": {
"description": "Retrieve application logs with authentication required.<br><br>SECURITY: Logs may contain sensitive information and require 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.<br><br>Requires authentication to prevent exposure of sensitive log data.<br>It establishes a long-lived connection to the server and receives log messages in real-time.<br>The 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"
]
}
}
}
}