Skip to main content

Langflow (1.10.0)

Download OpenAPI specification:Download

Agentic

Assist

Chat with the Langflow Assistant.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
Request Body schema: application/json
required
Component Id (string) or Component Id (null) (Component Id)
Field Name (string) or Field Name (null) (Field Name)
flow_id
required
string (Flow Id)
Input Value (string) or Input Value (null) (Input Value)
Max Retries (integer) or Max Retries (null) (Max Retries)
Model Name (string) or Model Name (null) (Model Name)
Provider (string) or Provider (null) (Provider)
Session Id (string) or Session Id (null) (Session Id)

Responses

Request samples

Content type
application/json
{
  • "component_id": "string",
  • "field_name": "string",
  • "flow_id": "string",
  • "input_value": "string",
  • "max_retries": 1,
  • "model_name": "string",
  • "provider": "string",
  • "session_id": "string"
}

Response samples

Content type
application/json
{ }

Assist Stream

Chat with the Langflow Assistant with streaming progress updates.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
Request Body schema: application/json
required
Component Id (string) or Component Id (null) (Component Id)
Field Name (string) or Field Name (null) (Field Name)
flow_id
required
string (Flow Id)
Input Value (string) or Input Value (null) (Input Value)
Max Retries (integer) or Max Retries (null) (Max Retries)
Model Name (string) or Model Name (null) (Model Name)
Provider (string) or Provider (null) (Provider)
Session Id (string) or Session Id (null) (Session Id)

Responses

Request samples

Content type
application/json
{
  • "component_id": "string",
  • "field_name": "string",
  • "flow_id": "string",
  • "input_value": "string",
  • "max_retries": 1,
  • "model_name": "string",
  • "provider": "string",
  • "session_id": "string"
}

Response samples

Content type
application/json
null

Check Assistant Config

Check if the Langflow Assistant is properly configured.

Returns available providers with their configured status and available models.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header

Responses

Response samples

Content type
application/json
{ }

Execute Named Flow

Execute a named flow from the flows directory.

Named assistant flows embed an Agent that needs provider/model/api-key
context. Resolving it here (instead of running the raw file) turns a
silent 500 into a successful run, or a clear 4xx when no provider is set.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
flow_name
required
string (Flow Name)
Request Body schema: application/json
required
Component Id (string) or Component Id (null) (Component Id)
Field Name (string) or Field Name (null) (Field Name)
flow_id
required
string (Flow Id)
Input Value (string) or Input Value (null) (Input Value)
Max Retries (integer) or Max Retries (null) (Max Retries)
Model Name (string) or Model Name (null) (Model Name)
Provider (string) or Provider (null) (Provider)
Session Id (string) or Session Id (null) (Session Id)

Responses

Request samples

Content type
application/json
{
  • "component_id": "string",
  • "field_name": "string",
  • "flow_id": "string",
  • "input_value": "string",
  • "max_retries": 1,
  • "model_name": "string",
  • "provider": "string",
  • "session_id": "string"
}

Response samples

Content type
application/json
{ }

Get File

Return the contents of a sandboxed file as text (or as an attachment).

Raises:
HTTPException(400): The path shape is invalid (traversal, absolute,
null byte, etc.). No I/O is attempted.
HTTPException(404): The file does not exist in the requesting user's
sandbox. Same status for sandbox-internal "not found" and for
"path resolves outside the user namespace" — by design, to avoid
leaking namespace existence to another tenant.
HTTPException(413): The file is larger than MAX_FILE_SIZE_BYTES.
HTTPException(415): The file is binary (null byte in the first 8 KiB).

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
query Parameters
path
required
string (Path) [ 1 .. 1024 ] characters
download
boolean (Download)
Default: false

Responses

Response samples

Content type
application/json
null

agentic

Reset Session

Drop the calling user's session-scoped state.

Wipes:
- conversation buffer for session_id (if provided).
- registered components under the user's FS sandbox.

The user id is sourced from the authenticated session — the
session_id query parameter only addresses the conversation
buffer entry and is never trusted for path resolution.

Returns a small envelope describing what was cleared, sufficient
for ops/log correlation but stripped of anything sensitive:

<br>{"status": "ok", "components_cleared": <int>, "session_id": <str|null>}<br>

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
query Parameters
Session Id (string) or Session Id (null) (Session Id)

Responses

Response samples

Content type
application/json
{ }

Base

Get All

Retrieve all component types with compression for better performance.

Returns a compressed response containing all available component types,
with display_names translated to the locale indicated by Accept-Language.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header

Responses

Response samples

Content type
application/json
null

Get Config

Retrieve application configuration settings.

Returns different configuration based on authentication status:
- Authenticated users: Full ConfigResponse with all settings
- Unauthenticated users: PublicConfigResponse with limited, safe-to-expose settings

Args:
user: The authenticated user, or None if unauthenticated.

Returns:
ConfigResponse | PublicConfigResponse: Configuration settings appropriate for the user's auth status.

Raises:
HTTPException: If an error occurs while retrieving the configuration.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header

Responses

Response samples

Content type
application/json
Example
{
  • "allow_custom_components": true,
  • "authz_enabled": false,
  • "auto_saving": true,
  • "auto_saving_interval": 0,
  • "custom_component_admin_only": true,
  • "default_folder_name": "string",
  • "embedded_mode": true,
  • "enable_extension_reload": true,
  • "event_delivery": "polling",
  • "feature_flags": {
    },
  • "frontend_timeout": 0,
  • "health_check_max_retries": 0,
  • "hide_getting_started_progress": true,
  • "hide_logout_button": true,
  • "hide_new_flow_button": true,
  • "hide_new_project_button": true,
  • "hide_starter_projects": true,
  • "max_file_size_upload": 0,
  • "mcp_base_url": "string",
  • "mcp_servers_locked": true,
  • "public_flow_cleanup_interval": 0,
  • "public_flow_expiration": 0,
  • "serialization_max_items_length": 0,
  • "serialization_max_text_length": 0,
  • "type": "full",
  • "voice_mode_available": true,
  • "webhook_auth_enable": true,
  • "webhook_polling_interval": 0
}

Experimental Run Flow

Executes a specified flow by ID with optional input values, output selection, tweaks, and streaming capability.

This endpoint supports running flows with caching to enhance performance and efficiency.

### Parameters:
- flow (Flow): The flow object to be executed, resolved via dependency injection.
- inputs (List[InputValueRequest], optional): A list of inputs specifying the input values and components
for the flow. Each input can target specific components and provide custom values.
- outputs (List[str], optional): A list of output names to retrieve from the executed flow.
If not provided, all outputs are returned.
- tweaks (Optional[Tweaks], optional): A dictionary of tweaks to customize the flow execution.
The tweaks can be used to modify the flow's parameters and components.
Tweaks can be overridden by the input values.
- stream (bool, optional): Specifies whether the results should be streamed. Defaults to False.
- session_id (Union[None, str], optional): An optional session ID to utilize existing session data for the flow
execution.
- api_key_user (User): The user associated with the current API key. Automatically resolved from the API key.

### Returns:
A RunResponse object containing the selected outputs (or all if not specified) of the executed flow
and the session ID.
The structure of the response accommodates multiple inputs, providing a nested list of outputs for each input.

### Raises:
HTTPException: Indicates issues with finding the specified flow, invalid input formats, or internal errors during
flow execution.

### Example usage:
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>

This endpoint facilitates complex flow executions with customized inputs, outputs, and configurations,
catering to diverse application requirements.

Authorizations:
API key queryAPI key header
path Parameters
flow_id_or_name
required
string (Flow Id Or Name)
Request Body schema: application/json
Array of Inputs (objects) or Inputs (null) (Inputs)
Array of Outputs (strings) or Outputs (null) (Outputs)
Session Id (string) or Session Id (null) (Session Id)
stream
boolean (Stream)
Default: false
Tweaks (object) or null

Responses

Request samples

Content type
application/json
{
  • "inputs": [
    ],
  • "outputs": [
    ],
  • "session_id": "string",
  • "stream": false,
  • "tweaks": {
    }
}

Response samples

Content type
application/json
{
  • "outputs": [ ],
  • "session_id": "string"
}

Simplified Run Flow

Executes a specified flow by ID with support for streaming and telemetry (API key auth).

This endpoint executes a flow identified by ID or name, with options for streaming the response
and tracking execution metrics. It handles both streaming and non-streaming execution modes.
This endpoint uses API key authentication (Bearer token).

Args:
background_tasks (BackgroundTasks): FastAPI background task manager
flow (FlowRead | None): The flow to execute, loaded via dependency
input_request (SimplifiedAPIRequest | None): Input parameters for the flow
stream (bool): Whether to stream the response
api_key_user (UserRead): Authenticated user from API key
context (dict | None): Optional context to pass to the flow
http_request (Request): The incoming HTTP request for extracting global variables

Returns:
Union[StreamingResponse, RunResponse]: Either a streaming response for real-time results
or a RunResponse with the complete execution results

Raises:
HTTPException: For flow not found (404) or invalid input (400)
APIException: For internal execution errors (500)

Notes:
- Supports both streaming and non-streaming execution modes
- Tracks execution time and success/failure via telemetry
- Handles graceful client disconnection in streaming mode
- Provides detailed error handling with appropriate HTTP status codes
- Extracts global variables from HTTP headers with prefix X-LANGFLOW-GLOBAL-VAR-*
- Merges extracted variables with the context parameter as "request_variables"
- In streaming mode, uses EventManager to handle events:
- "add_message": New messages during execution
- "token": Individual tokens during streaming
- "end": Final execution result
- Authentication: Requires API key (Bearer token)

Authorizations:
API key queryAPI key header
path Parameters
flow_id_or_name
required
string (Flow Id Or Name)
query Parameters
stream
boolean (Stream)
Default: false
Request Body schema: application/json
Context (object) or Context (null) (Context)
SimplifiedAPIRequest (object) or null

Responses

Request samples

Content type
application/json
{
  • "context": { },
  • "input_request": {
    }
}

Response samples

Content type
application/json
null

Get Version

Responses

Response samples

Content type
application/json
null

Webhook Run Flow

Run a flow using a webhook request.

Args:
auth: Resolved webhook user and flow, scoped to the authenticated caller.
request: The incoming HTTP request.

Returns:
A dictionary containing the status of the task.

Raises:
HTTPException: If the flow is not found or if there is an error processing the request.

path Parameters
flow_id_or_name
required
string (Flow Id Or Name)

Responses

Response samples

Content type
application/json
{ }

Authorization

List Audit Log

Return a paginated slice of the audit log filtered by the given query params.

Superuser only. The composite indexes on (user_id, timestamp) and
(resource_type, resource_id) keep both "show me events for user X"
and "show me events on resource Y" fast at scale.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
query Parameters
User Id (string) or User Id (null) (User Id)

Filter by acting user id.

Resource Type (string) or Resource Type (null) (Resource Type)

Filter by resource type slug, e.g. flow or deployment.

Resource Id (string) or Resource Id (null) (Resource Id)

Filter by resource UUID.

Action (string) or Action (null) (Action)

Filter by action string, e.g. flow:read or share:create.

Result (string) or Result (null) (Result)

Filter by decision result (allow / deny / owner_override).

Since (string) or Since (null) (Since)

Inclusive lower bound on timestamp.

Until (string) or Until (null) (Until)

Exclusive upper bound on timestamp.

page
integer (Page) >= 1
Default: 1
size
integer (Size) [ 1 .. 200 ]
Default: 50

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "page": 0,
  • "pages": 0,
  • "size": 0,
  • "total": 0
}

List Audit Log

Return a paginated slice of the audit log filtered by the given query params.

Superuser only. The composite indexes on (user_id, timestamp) and
(resource_type, resource_id) keep both "show me events for user X"
and "show me events on resource Y" fast at scale.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
query Parameters
User Id (string) or User Id (null) (User Id)

Filter by acting user id.

Resource Type (string) or Resource Type (null) (Resource Type)

Filter by resource type slug, e.g. flow or deployment.

Resource Id (string) or Resource Id (null) (Resource Id)

Filter by resource UUID.

Action (string) or Action (null) (Action)

Filter by action string, e.g. flow:read or share:create.

Result (string) or Result (null) (Result)

Filter by decision result (allow / deny / owner_override).

Since (string) or Since (null) (Since)

Inclusive lower bound on timestamp.

Until (string) or Until (null) (Until)

Exclusive upper bound on timestamp.

page
integer (Page) >= 1
Default: 1
size
integer (Size) [ 1 .. 200 ]
Default: 50

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "page": 0,
  • "pages": 0,
  • "size": 0,
  • "total": 0
}

Get Effective Permissions

Return per-resource allowed actions for the current user.

Use this to render the UI permission gate (greyed-out buttons etc.) without
flooding the audit log with denied probes. Empty list for a resource_id
means the user cannot perform any of the requested actions on that resource.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
Request Body schema: application/json
required
Array of Actions (strings) or Actions (null) (Actions)

Actions to check. Each entry is lowercased and de-duplicated; the list is capped at 10. Defaults to read/write/execute/delete/create.

domain
string (Domain)
Default: "*"

Authorization domain — typically project:{folder_id} or *.

resource_ids
required
Array of strings <uuid> (Resource Ids) [ items <uuid > ]

Resource IDs to evaluate. Capped at 500 per request to keep batch_enforce bounded.

resource_type
required
string (Resource Type)
Enum: "flow" "deployment" "project" "knowledge_base" "variable" "file" "component"

Responses

Request samples

Content type
application/json
{
  • "actions": [
    ],
  • "domain": "*",
  • "resource_ids": [
    ],
  • "resource_type": "flow"
}

Response samples

Content type
application/json
{
  • "permissions": {
    },
  • "resource_type": "flow"
}

List Assignments

List role assignments scoped to one user.

* Omitting user_id defaults to the caller — no superuser needed.
* Passing user_id == self.id is the same as omitting it.
* Passing a different user_id requires superuser; otherwise 403.

Results are always filtered by the resolved user_id. Admins who need
cross-user lookups make one call per user. Paginated via limit /
offset (default 100, max 200).

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
query Parameters
User Id (string) or User Id (null) (User Id)

Filter by user

Role Id (string) or Role Id (null) (Role Id)

Filter by role

Domain Type (string) or Domain Type (null) (Domain Type)
Domain Id (string) or Domain Id (null) (Domain Id)
limit
integer (Limit) [ 1 .. 200 ]
Default: 100
offset
integer (Offset) >= 0
Default: 0

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Assignment

Assign a role to a user. Superuser-only.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
Request Body schema: application/json
required
Domain Id (string) or Domain Id (null) (Domain Id)

Required when domain_type is org/workspace/project; must be null for global.

domain_type
string (Domain Type)
Default: "global"
Enum: "global" "org" "workspace" "project"

Domain scope of the assignment. global is unscoped (no domain_id); org/workspace/project require a matching domain_id.

role_id
required
string <uuid> (Role Id)
user_id
required
string <uuid> (User Id)

Responses

Request samples

Content type
application/json
{
  • "domain_id": "b2f7354f-b74d-4332-ab10-1a5e3c56466c",
  • "domain_type": "global",
  • "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9",
  • "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
}

Response samples

Content type
application/json
{
  • "assigned_at": "2019-08-24T14:15:22Z",
  • "assigned_by": "dd7cba77-7080-4b0e-9a94-fdfd1232f6b4",
  • "domain_id": "b2f7354f-b74d-4332-ab10-1a5e3c56466c",
  • "domain_type": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9",
  • "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
}

List Assignments

List role assignments scoped to one user.

* Omitting user_id defaults to the caller — no superuser needed.
* Passing user_id == self.id is the same as omitting it.
* Passing a different user_id requires superuser; otherwise 403.

Results are always filtered by the resolved user_id. Admins who need
cross-user lookups make one call per user. Paginated via limit /
offset (default 100, max 200).

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
query Parameters
User Id (string) or User Id (null) (User Id)

Filter by user

Role Id (string) or Role Id (null) (Role Id)

Filter by role

Domain Type (string) or Domain Type (null) (Domain Type)
Domain Id (string) or Domain Id (null) (Domain Id)
limit
integer (Limit) [ 1 .. 200 ]
Default: 100
offset
integer (Offset) >= 0
Default: 0

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Assignment

Assign a role to a user. Superuser-only.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
Request Body schema: application/json
required
Domain Id (string) or Domain Id (null) (Domain Id)

Required when domain_type is org/workspace/project; must be null for global.

domain_type
string (Domain Type)
Default: "global"
Enum: "global" "org" "workspace" "project"

Domain scope of the assignment. global is unscoped (no domain_id); org/workspace/project require a matching domain_id.

role_id
required
string <uuid> (Role Id)
user_id
required
string <uuid> (User Id)

Responses

Request samples

Content type
application/json
{
  • "domain_id": "b2f7354f-b74d-4332-ab10-1a5e3c56466c",
  • "domain_type": "global",
  • "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9",
  • "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
}

Response samples

Content type
application/json
{
  • "assigned_at": "2019-08-24T14:15:22Z",
  • "assigned_by": "dd7cba77-7080-4b0e-9a94-fdfd1232f6b4",
  • "domain_id": "b2f7354f-b74d-4332-ab10-1a5e3c56466c",
  • "domain_type": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9",
  • "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
}

Delete Assignment

Revoke a role assignment. Superuser-only.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
assignment_id
required
string <uuid> (Assignment Id)

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

List Roles

List roles. Open to authenticated users so the UI can populate dropdowns.

Paginated via limit / offset so a single call cannot return the
entire catalog of roles + their permissions. Stable order is (name, id)
so offset is deterministic across calls.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
query Parameters
Is System (boolean) or Is System (null) (Is System)

Filter by is_system flag

Name (string) or Name (null) (Name)

Substring match on role name

limit
integer (Limit) [ 1 .. 200 ]
Default: 100
offset
integer (Offset) >= 0
Default: 0

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Role

Create a custom (non-system) role. Superuser-only.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
Request Body schema: application/json
required
Description (string) or Description (null) (Description)
name
required
string (Name) [ 1 .. 255 ] characters
Parent Role Id (string) or Parent Role Id (null) (Parent Role Id)
permissions
Array of strings (Permissions)

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.

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "name": "string",
  • "parent_role_id": "7ea77ce3-4218-4d39-ad84-02444a2f4ee7",
  • "permissions": [
    ]
}

Response samples

Content type
application/json
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4",
  • "description": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "is_system": true,
  • "name": "string",
  • "parent_role_id": "7ea77ce3-4218-4d39-ad84-02444a2f4ee7",
  • "permissions": [
    ],
  • "updated_at": "2019-08-24T14:15:22Z",
  • "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9"
}

List Roles

List roles. Open to authenticated users so the UI can populate dropdowns.

Paginated via limit / offset so a single call cannot return the
entire catalog of roles + their permissions. Stable order is (name, id)
so offset is deterministic across calls.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
query Parameters
Is System (boolean) or Is System (null) (Is System)

Filter by is_system flag

Name (string) or Name (null) (Name)

Substring match on role name

limit
integer (Limit) [ 1 .. 200 ]
Default: 100
offset
integer (Offset) >= 0
Default: 0

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Role

Create a custom (non-system) role. Superuser-only.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
Request Body schema: application/json
required
Description (string) or Description (null) (Description)
name
required
string (Name) [ 1 .. 255 ] characters
Parent Role Id (string) or Parent Role Id (null) (Parent Role Id)
permissions
Array of strings (Permissions)

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.

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "name": "string",
  • "parent_role_id": "7ea77ce3-4218-4d39-ad84-02444a2f4ee7",
  • "permissions": [
    ]
}

Response samples

Content type
application/json
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4",
  • "description": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "is_system": true,
  • "name": "string",
  • "parent_role_id": "7ea77ce3-4218-4d39-ad84-02444a2f4ee7",
  • "permissions": [
    ],
  • "updated_at": "2019-08-24T14:15:22Z",
  • "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9"
}

Delete Role

Delete a custom role.

System roles cannot be deleted; roles with active assignments return 409
(delete the assignments first).

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
role_id
required
string <uuid> (Role Id)

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Read Role

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
role_id
required
string <uuid> (Role Id)

Responses

Response samples

Content type
application/json
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4",
  • "description": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "is_system": true,
  • "name": "string",
  • "parent_role_id": "7ea77ce3-4218-4d39-ad84-02444a2f4ee7",
  • "permissions": [
    ],
  • "updated_at": "2019-08-24T14:15:22Z",
  • "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9"
}

Update Role

Update fields on a custom role. System roles are read-only.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
role_id
required
string <uuid> (Role Id)
Request Body schema: application/json
required
Description (string) or Description (null) (Description)
Name (string) or Name (null) (Name)
Parent Role Id (string) or Parent Role Id (null) (Parent Role Id)
Array of Permissions (strings) or Permissions (null) (Permissions)

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "name": "string",
  • "parent_role_id": "7ea77ce3-4218-4d39-ad84-02444a2f4ee7",
  • "permissions": [
    ]
}

Response samples

Content type
application/json
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4",
  • "description": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "is_system": true,
  • "name": "string",
  • "parent_role_id": "7ea77ce3-4218-4d39-ad84-02444a2f4ee7",
  • "permissions": [
    ],
  • "updated_at": "2019-08-24T14:15:22Z",
  • "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9"
}

List Shares

List share rows visible to the caller (paginated, max 200).

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
query Parameters
Resource Type (string) or Resource Type (null) (Resource Type)
Resource Id (string) or Resource Id (null) (Resource Id)
Target Id (string) or Target Id (null) (Target Id)
Scope (string) or Scope (null) (Scope)
limit
integer (Limit) [ 1 .. 200 ]
Default: 100
offset
integer (Offset) >= 0
Default: 0

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Share

Create an authz_share row for a resource.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
Request Body schema: application/json
required
permission_level
string (Permission Level)
Default: "read"
Enum: "read" "write" "execute" "admin"
resource_id
required
string <uuid> (Resource Id)
resource_type
required
string (Resource Type)
Enum: "flow" "deployment" "project" "knowledge_base" "variable" "file"
scope
required
string (Scope)
Enum: "private" "team" "user" "public"
Target Id (string) or Target Id (null) (Target Id)

Responses

Request samples

Content type
application/json
{
  • "permission_level": "read",
  • "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
  • "resource_type": "flow",
  • "scope": "private",
  • "target_id": "d3bcdc92-4191-401b-ad0c-42056c6efab9"
}

Response samples

Content type
application/json
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "permission_level": "read",
  • "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
  • "resource_type": "flow",
  • "scope": "private",
  • "target_id": "d3bcdc92-4191-401b-ad0c-42056c6efab9"
}

List Shares

List share rows visible to the caller (paginated, max 200).

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
query Parameters
Resource Type (string) or Resource Type (null) (Resource Type)
Resource Id (string) or Resource Id (null) (Resource Id)
Target Id (string) or Target Id (null) (Target Id)
Scope (string) or Scope (null) (Scope)
limit
integer (Limit) [ 1 .. 200 ]
Default: 100
offset
integer (Offset) >= 0
Default: 0

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Share

Create an authz_share row for a resource.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
Request Body schema: application/json
required
permission_level
string (Permission Level)
Default: "read"
Enum: "read" "write" "execute" "admin"
resource_id
required
string <uuid> (Resource Id)
resource_type
required
string (Resource Type)
Enum: "flow" "deployment" "project" "knowledge_base" "variable" "file"
scope
required
string (Scope)
Enum: "private" "team" "user" "public"
Target Id (string) or Target Id (null) (Target Id)

Responses

Request samples

Content type
application/json
{
  • "permission_level": "read",
  • "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
  • "resource_type": "flow",
  • "scope": "private",
  • "target_id": "d3bcdc92-4191-401b-ad0c-42056c6efab9"
}

Response samples

Content type
application/json
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "permission_level": "read",
  • "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
  • "resource_type": "flow",
  • "scope": "private",
  • "target_id": "d3bcdc92-4191-401b-ad0c-42056c6efab9"
}

Delete Share

Revoke an existing share.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
share_id
required
string <uuid> (Share Id)

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Get Share

Fetch a single share by id with the same visibility rules as list.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
share_id
required
string <uuid> (Share Id)

Responses

Response samples

Content type
application/json
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "permission_level": "read",
  • "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
  • "resource_type": "flow",
  • "scope": "private",
  • "target_id": "d3bcdc92-4191-401b-ad0c-42056c6efab9"
}

Update Share

Update the permission level of an existing share.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
share_id
required
string <uuid> (Share Id)
Request Body schema: application/json
required
permission_level
required
string (Permission Level)
Enum: "read" "write" "execute" "admin"

Responses

Request samples

Content type
application/json
{
  • "permission_level": "read"
}

Response samples

Content type
application/json
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "permission_level": "read",
  • "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
  • "resource_type": "flow",
  • "scope": "private",
  • "target_id": "d3bcdc92-4191-401b-ad0c-42056c6efab9"
}

List Teams

List teams. Open to any authenticated user (for the share dialog's team picker).

Paginated via limit / offset so a single call cannot enumerate every
team. Stable order is (team_name, id) so offset is deterministic.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
query Parameters
Search (string) or Search (null) (Search)

Substring match on team_name or adom_name

Is Active (boolean) or Is Active (null) (Is Active)
limit
integer (Limit) [ 1 .. 200 ]
Default: 100
offset
integer (Offset) >= 0
Default: 0

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Team

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
Request Body schema: application/json
required
adom_name
required
string (Adom Name) [ 1 .. 255 ] characters

Administrative-domain slug, unique across all teams (often the SSO group name).

Description (string) or Description (null) (Description)
is_active
boolean (Is Active)
Default: true
team_name
required
string (Team Name) [ 1 .. 255 ] characters

Responses

Request samples

Content type
application/json
{
  • "adom_name": "string",
  • "description": "string",
  • "is_active": true,
  • "team_name": "string"
}

Response samples

Content type
application/json
{
  • "adom_name": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "description": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "is_active": true,
  • "team_name": "string",
  • "updated_at": "2019-08-24T14:15:22Z"
}

List Teams

List teams. Open to any authenticated user (for the share dialog's team picker).

Paginated via limit / offset so a single call cannot enumerate every
team. Stable order is (team_name, id) so offset is deterministic.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
query Parameters
Search (string) or Search (null) (Search)

Substring match on team_name or adom_name

Is Active (boolean) or Is Active (null) (Is Active)
limit
integer (Limit) [ 1 .. 200 ]
Default: 100
offset
integer (Offset) >= 0
Default: 0

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Team

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
Request Body schema: application/json
required
adom_name
required
string (Adom Name) [ 1 .. 255 ] characters

Administrative-domain slug, unique across all teams (often the SSO group name).

Description (string) or Description (null) (Description)
is_active
boolean (Is Active)
Default: true
team_name
required
string (Team Name) [ 1 .. 255 ] characters

Responses

Request samples

Content type
application/json
{
  • "adom_name": "string",
  • "description": "string",
  • "is_active": true,
  • "team_name": "string"
}

Response samples

Content type
application/json
{
  • "adom_name": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "description": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "is_active": true,
  • "team_name": "string",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Delete Team

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
team_id
required
string <uuid> (Team Id)

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Read Team

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
team_id
required
string <uuid> (Team Id)

Responses

Response samples

Content type
application/json
{
  • "adom_name": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "description": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "is_active": true,
  • "team_name": "string",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Update Team

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
team_id
required
string <uuid> (Team Id)
Request Body schema: application/json
required
Adom Name (string) or Adom Name (null) (Adom Name)
Description (string) or Description (null) (Description)
Is Active (boolean) or Is Active (null) (Is Active)
Team Name (string) or Team Name (null) (Team Name)

Responses

Request samples

Content type
application/json
{
  • "adom_name": "string",
  • "description": "string",
  • "is_active": true,
  • "team_name": "string"
}

Response samples

Content type
application/json
{
  • "adom_name": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "description": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "is_active": true,
  • "team_name": "string",
  • "updated_at": "2019-08-24T14:15:22Z"
}

List Members

List members of a team. Any authenticated user (so the UI can render team rosters).

Paginated via limit / offset so a single call cannot enumerate a
large team's full roster. Stable order is (created_at, user_id).

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
team_id
required
string <uuid> (Team Id)
query Parameters
limit
integer (Limit) [ 1 .. 200 ]
Default: 100
offset
integer (Offset) >= 0
Default: 0

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add Member

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
team_id
required
string <uuid> (Team Id)
Request Body schema: application/json
required
source
string (Source)
Default: "manual"
Enum: "manual" "sso"
user_id
required
string <uuid> (User Id)

Responses

Request samples

Content type
application/json
{
  • "source": "manual",
  • "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
}

Response samples

Content type
application/json
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "source": "string",
  • "team_id": "810007d0-bec5-486c-b5d1-28fcd8a079ba",
  • "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
}

Remove Member

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
team_id
required
string <uuid> (Team Id)
user_id
required
string <uuid> (User Id)

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Chat

Build Flow

Build and process a flow, returning a job ID for event polling.

This endpoint requires authentication through the CurrentActiveUser dependency.
For public flows that don't require authentication, use the /build_public_tmp/flow_id/flow endpoint.

Args:
flow_id: UUID of the flow to build
background_tasks: Background tasks manager
inputs: Optional input values for the flow
data: Optional flow data
files: Optional files to include
stop_component_id: Optional ID of component to stop at
start_component_id: Optional ID of component to start from
log_builds: Whether to log the build process
current_user: The authenticated user
queue_service: Queue service for job management
flow_name: Optional name for the flow
event_delivery: Optional event delivery type - default is streaming

Returns:
Dict with job_id that can be used to poll for build status

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
flow_id
required
string <uuid> (Flow Id)
query Parameters
Stop Component Id (string) or Stop Component Id (null) (Stop Component Id)
Start Component Id (string) or Start Component Id (null) (Start Component Id)
log_builds
boolean (Log Builds)
Default: true
Flow Name (string) or Flow Name (null) (Flow Name)
event_delivery
string (EventDeliveryType)
Default: "polling"
Enum: "streaming" "direct" "polling"
Request Body schema: application/json
FlowDataRequest (object) or null
Array of Files (strings) or Files (null) (Files)
InputValueRequest (object) or null

Responses

Request samples

Content type
application/json
{
  • "data": {
    },
  • "files": [
    ],
  • "inputs": {
    }
}

Response samples

Content type
application/json
null

Cancel Build

Cancel a specific build job.

Requires authentication and ownership verification to prevent a user from
aborting another user's running build (DoS via job cancellation).
Jobs with no registered owner (build_public_tmp) are accessible to any
authenticated user, consistent with get_build_events.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
job_id
required
string (Job Id)

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "success": true
}

Get Build Events

Get events for a specific build job.

Requires authentication and ownership verification. A job owner is registered
when build_flow is called; if a registered owner does not match the requesting
user the endpoint returns 404 to avoid leaking job existence.
Jobs started via build_public_tmp have no registered owner and remain accessible
to any authenticated user.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
job_id
required
string (Job Id)
query Parameters
event_delivery
string (EventDeliveryType)
Default: "streaming"
Enum: "streaming" "direct" "polling"

Responses

Response samples

Content type
application/json
null

Build Public Tmp

Build a public flow without requiring authentication.

This endpoint is specifically for public flows that don't require authentication.
It uses a client_id cookie to create a deterministic flow ID for tracking purposes.

Security Note:
- The 'data' parameter is NOT accepted to prevent flow definition tampering
- Public flows must execute the stored flow definition only
- The flow definition is always loaded from the database
- Caller-supplied 'inputs.session' is namespaced under the (client_id,
flow_id) virtual flow ID so an unauthenticated caller cannot address a
session that lives outside its own namespace (CVE-2026-33017)

The endpoint:
1. Verifies the requested flow is marked as public in the database
2. Creates a deterministic UUID based on client_id and flow_id
3. Uses the flow owner's permissions to build the flow
4. Always loads the flow definition from the database

Requirements:
- The flow must be marked as PUBLIC in the database
- The request must include a client_id cookie

Args:
flow_id: UUID of the public flow to build
background_tasks: Background tasks manager
inputs: Optional input values for the flow
files: Optional files to include
stop_component_id: Optional ID of component to stop at
start_component_id: Optional ID of component to start from
log_builds: Whether to log the build process
flow_name: Optional name for the flow
request: FastAPI request object (needed for cookie access)
queue_service: Queue service for job management
authenticated_user: Optional authenticated user (resolved from cookie/token if present)
event_delivery: Optional event delivery type - default is streaming

Returns:
Dict with job_id that can be used to poll for build status

path Parameters
flow_id
required
string <uuid> (Flow Id)
query Parameters
Stop Component Id (string) or Stop Component Id (null) (Stop Component Id)
Start Component Id (string) or Start Component Id (null) (Start Component Id)
Log Builds (boolean) or Log Builds (null) (Log Builds)
Default: true
Flow Name (string) or Flow Name (null) (Flow Name)
event_delivery
string (EventDeliveryType)
Default: "polling"
Enum: "streaming" "direct" "polling"
Request Body schema: application/json
Array of Files (strings) or Files (null) (Files)
InputValueRequest (object) or null

Responses

Request samples

Content type
application/json
{
  • "files": [
    ],
  • "inputs": {
    }
}

Response samples

Content type
application/json
null

Cancel Build Public

Cancel a public flow build job.

This endpoint does not require authentication, matching the public build endpoint.
It is used by the shareable playground to cancel builds.

path Parameters
job_id
required
string (Job Id)

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "success": true
}

Get Build Events Public

Get events for a public flow build job.

This endpoint does not require authentication, matching the public build endpoint.
It is used by the shareable playground to consume build events.

path Parameters
job_id
required
string (Job Id)
query Parameters
event_delivery
string (EventDeliveryType)
Default: "streaming"
Enum: "streaming" "direct" "polling"

Responses

Response samples

Content type
application/json
null

Extensions

Get Extension Events

Poll for extension lifecycle events the current user has triggered.

Events are scoped to the authenticated user via a server-derived keyspace
(user:{user_id}); there is no client-controllable keyspace, so an
authenticated user cannot read another user's flow-migration or
bundle-reload events. A client-supplied keyspace query parameter is
rejected with 422 so the contract is explicit -- previously the value was
silently dropped, which masked client bugs that assumed it had effect.

svc.since() uses blocking sqlite3; run in a thread pool so the asyncio
event loop is not held while waiting on disk I/O.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
query Parameters
since
number (Since)
Default: 0

UTC epoch timestamp; return events after this cursor

Responses

Response samples

Content type
application/json
{
  • "events": [
    ],
  • "settled": true
}

Reload Extension Bundle

Trigger an atomic-swap reload for a single Bundle.

Returns the typed :class:~lfx.extension.reload.ReloadResult body on
success. Per the typed-error contract, structural failures
(broken bundle, missing source path, name mismatch) surface as
422 Unprocessable Entity with the first typed error in the body
so clients can surface fix hints inline; the full ReloadResult
payload (with all errors and warnings) is returned via the FastAPI
detail envelope. Concurrency-control collisions surface as
409 Conflict (reload-in-progress). Non-2xx is the wire
contract for every error path -- the body still carries the typed
error so the client renders the same fix-hint envelope.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
extension_id
required
string (Extension Id)
bundle_name
required
string (Bundle Name)

Responses

Response samples

Content type
application/json
{ }

Files

Delete File

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
file_name
required
string (File Name)
flow_id
required
string <uuid> (Flow Id)

Responses

Response samples

Content type
application/json
null

Download File

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
file_name
required
string (File Name)
flow_id
required
string <uuid> (Flow Id)

Responses

Response samples

Content type
application/json
null

Download Image

Download image from storage for browser rendering.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
file_name
required
string (File Name)
flow_id
required
string <uuid> (Flow Id)

Responses

Response samples

Content type
application/json
null

List Files

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
flow_id
required
string <uuid> (Flow Id)

Responses

Response samples

Content type
application/json
null

List Profile Pictures

List profile pictures from local filesystem.

Profile pictures are first looked up in config_dir/profile_pictures/,
then fallback to the package's bundled profile_pictures directory.

Responses

Response samples

Content type
application/json
null

Download Profile Picture

Download profile picture from local filesystem.

Profile pictures are first looked up in config_dir/profile_pictures/,
then fallback to the package's bundled profile_pictures directory.

path Parameters
folder_name
required
string (Folder Name)
file_name
required
string (File Name)

Responses

Response samples

Content type
application/json
null

Upload File

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
flow_id
required
string <uuid> (Flow Id)
Request Body schema: multipart/form-data
required
file
required
string <application/octet-stream> (File)

Responses

Response samples

Content type
application/json
{
  • "file_path": "string",
  • "flowId": "string"
}

Delete All Files

Delete all files for the current user.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header

Responses

Response samples

Content type
application/json
null

List Files

List the files available to the current user.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Upload User File

Upload a file for the current user and track it in the database.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
query Parameters
append
boolean (Append)
Default: false
ephemeral
boolean (Ephemeral)
Default: false
Request Body schema: multipart/form-data
required
file
required
string <application/octet-stream> (File)

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "path": "string",
  • "provider": "string",
  • "size": 0
}

Delete All Files

Delete all files for the current user.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header

Responses

Response samples

Content type
application/json
null

List Files

List the files available to the current user.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Upload User File

Upload a file for the current user and track it in the database.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
query Parameters
append
boolean (Append)
Default: false
ephemeral
boolean (Ephemeral)
Default: false
Request Body schema: multipart/form-data
required
file
required
string <application/octet-stream> (File)

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "path": "string",
  • "provider": "string",
  • "size": 0
}

Delete Files Batch

Delete multiple files by their IDs.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
Request Body schema: application/json
required
Array
string <uuid>

Responses

Request samples

Content type
application/json
[
  • "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]

Response samples

Content type
application/json
null

Download Files Batch

Download multiple files as a zip file by their IDs.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
Request Body schema: application/json
required
Array
string <uuid>

Responses

Request samples

Content type
application/json
[
  • "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]

Response samples

Content type
application/json
null

Delete File

Delete a file by its ID.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
file_id
required
string <uuid> (File Id)

Responses

Response samples

Content type
application/json
null

Download File

Download a file by its ID or return its content as a string/bytes.

Args:
file_id: UUID of the file.
current_user: Authenticated user.
session: Database session.
storage_service: File storage service.
return_content: If True, return raw content (str) instead of StreamingResponse.

Returns:
StreamingResponse for client downloads or str for internal use.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
file_id
required
string <uuid> (File Id)
query Parameters
return_content
boolean (Return Content)
Default: false

Responses

Response samples

Content type
application/json
null

Edit File Name

Edit the name of a file by its ID.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
file_id
required
string <uuid> (File Id)
query Parameters
name
required
string (Name)

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "path": "string",
  • "provider": "string",
  • "size": 0
}

Flows

Delete Multiple Flows

Delete multiple flows by their IDs.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
Request Body schema: application/json
required
Array
string <uuid>

Responses

Request samples

Content type
application/json
[
  • "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]

Response samples

Content type
application/json
null

Read Flows

Retrieve a list of flows with optional pagination, filtering, and header-only mode.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
query Parameters
remove_example_flows
boolean (Remove Example Flows)
Default: false
components_only
boolean (Components Only)
Default: false
get_all
boolean (Get All)
Default: true
Folder Id (string) or Folder Id (null) (Folder Id)
header_flows
boolean (Header Flows)
Default: false
page
integer (Page) >= 1
Default: 1
size
integer (Size) [ 1 .. 100 ]
Default: 50

Responses

Response samples

Content type
application/json
Example
[ ]

Create Flow

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
Request Body schema: application/json
required
access_type
string (AccessTypeEnum)
Default: "PRIVATE"
Enum: "PRIVATE" "PUBLIC"
Action Description (string) or Action Description (null) (Action Description)

The description of the action associated with the flow

Action Name (string) or Action Name (null) (Action Name)

The name of the action associated with the flow

Data (object) or Data (null) (Data)
Description (string) or Description (null) (Description)
Endpoint Name (string) or Endpoint Name (null) (Endpoint Name)
Folder Id (string) or Folder Id (null) (Folder Id)
Fs Path (string) or Fs Path (null) (Fs Path)
Gradient (string) or Gradient (null) (Gradient)
Icon (string) or Icon (null) (Icon)
Icon Bg Color (string) or Icon Bg Color (null) (Icon Bg Color)
Id (string) or Id (null) (Id)
Is Component (boolean) or Is Component (null) (Is Component)
Default: false
Locked (boolean) or Locked (null) (Locked)
Default: false
Mcp Enabled (boolean) or Mcp Enabled (null) (Mcp Enabled)
Default: false

Can be exposed in the MCP server

name
required
string (Name)
Array of Tags (strings) or Tags (null) (Tags)
Updated At (string) or Updated At (null) (Updated At)
User Id (string) or User Id (null) (User Id)
Webhook (boolean) or Webhook (null) (Webhook)
Default: false

Can be used on the webhook endpoint

Workspace Id (string) or Workspace Id (null) (Workspace Id)

Responses

Request samples

Content type
application/json
{
  • "access_type": "PRIVATE",
  • "action_description": "string",
  • "action_name": "string",
  • "data": { },
  • "description": "string",
  • "endpoint_name": "string",
  • "folder_id": "7695bac3-9397-4ec2-9335-45a2a16f1901",
  • "fs_path": "string",
  • "gradient": "string",
  • "icon": "string",
  • "icon_bg_color": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "is_component": false,
  • "locked": false,
  • "mcp_enabled": false,
  • "name": "string",
  • "tags": [
    ],
  • "updated_at": "2019-08-24T14:15:22Z",
  • "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
  • "webhook": false,
  • "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9"
}

Response samples

Content type
application/json
{
  • "access_type": "PRIVATE",
  • "action_description": "string",
  • "action_name": "string",
  • "data": { },
  • "description": "string",
  • "endpoint_name": "string",
  • "folder_id": "7695bac3-9397-4ec2-9335-45a2a16f1901",
  • "gradient": "string",
  • "icon": "string",
  • "icon_bg_color": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "is_component": false,
  • "locked": false,
  • "mcp_enabled": false,
  • "name": "string",
  • "name_key": "string",
  • "tags": [
    ],
  • "updated_at": "2019-08-24T14:15:22Z",
  • "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
  • "webhook": false,
  • "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9"
}

Read Basic Examples

Retrieve a list of basic example flows.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Flows

Create multiple new flows.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
Request Body schema: application/json
required
required
Array of objects (Flows)
Array
access_type
string (AccessTypeEnum)
Default: "PRIVATE"
Enum: "PRIVATE" "PUBLIC"
Action Description (string) or Action Description (null) (Action Description)

The description of the action associated with the flow

Action Name (string) or Action Name (null) (Action Name)

The name of the action associated with the flow

Data (object) or Data (null) (Data)
Description (string) or Description (null) (Description)
Endpoint Name (string) or Endpoint Name (null) (Endpoint Name)
Folder Id (string) or Folder Id (null) (Folder Id)
Fs Path (string) or Fs Path (null) (Fs Path)
Gradient (string) or Gradient (null) (Gradient)
Icon (string) or Icon (null) (Icon)
Icon Bg Color (string) or Icon Bg Color (null) (Icon Bg Color)
Id (string) or Id (null) (Id)
Is Component (boolean) or Is Component (null) (Is Component)
Default: false
Locked (boolean) or Locked (null) (Locked)
Default: false
Mcp Enabled (boolean) or Mcp Enabled (null) (Mcp Enabled)
Default: false

Can be exposed in the MCP server

name
required
string (Name)
Array of Tags (strings) or Tags (null) (Tags)
Updated At (string) or Updated At (null) (Updated At)
User Id (string) or User Id (null) (User Id)
Webhook (boolean) or Webhook (null) (Webhook)
Default: false

Can be used on the webhook endpoint

Workspace Id (string) or Workspace Id (null) (Workspace Id)

Responses

Request samples

Content type
application/json
{
  • "flows": [
    ]
}

Response samples

Content type
application/json
[
  • {
    }
]

Download Multiple File

Download all flows as a zip file.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
Request Body schema: application/json
required
Array
string <uuid>

Responses

Request samples

Content type
application/json
[
  • "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]

Response samples

Content type
application/json
null

Read Public Flow

Read a public flow without requiring authorization (public means public).

path Parameters
flow_id
required
string <uuid> (Flow Id)

Responses

Response samples

Content type
application/json
{
  • "access_type": "PRIVATE",
  • "action_description": "string",
  • "action_name": "string",
  • "data": { },
  • "description": "string",
  • "endpoint_name": "string",
  • "folder_id": "7695bac3-9397-4ec2-9335-45a2a16f1901",
  • "gradient": "string",
  • "icon": "string",
  • "icon_bg_color": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "is_component": false,
  • "locked": false,
  • "mcp_enabled": false,
  • "name": "string",
  • "name_key": "string",
  • "tags": [
    ],
  • "updated_at": "2019-08-24T14:15:22Z",
  • "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
  • "webhook": false,
  • "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9"
}

Upload File

Upload flows from a JSON or ZIP file (upsert semantics for flows with stable IDs).

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
query Parameters
Folder Id (string) or Folder Id (null) (Folder Id)
Request Body schema: multipart/form-data
File (string) or File (null) (File)
Any of
string <application/octet-stream> (File)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Delete Flow

Delete a flow.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
flow_id
required
string <uuid> (Flow Id)

Responses

Response samples

Content type
application/json
null

Read Flow

Read a flow.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
flow_id
required
string <uuid> (Flow Id)

Responses

Response samples

Content type
application/json
{
  • "access_type": "PRIVATE",
  • "action_description": "string",
  • "action_name": "string",
  • "data": { },
  • "description": "string",
  • "endpoint_name": "string",
  • "folder_id": "7695bac3-9397-4ec2-9335-45a2a16f1901",
  • "gradient": "string",
  • "icon": "string",
  • "icon_bg_color": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "is_component": false,
  • "locked": false,
  • "mcp_enabled": false,
  • "name": "string",
  • "name_key": "string",
  • "tags": [
    ],
  • "updated_at": "2019-08-24T14:15:22Z",
  • "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
  • "webhook": false,
  • "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9"
}

Update Flow

Update a flow.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
flow_id
required
string <uuid> (Flow Id)
Request Body schema: application/json
required
AccessTypeEnum (string) or null
Action Description (string) or Action Description (null) (Action Description)
Action Name (string) or Action Name (null) (Action Name)
Data (object) or Data (null) (Data)
Description (string) or Description (null) (Description)
Endpoint Name (string) or Endpoint Name (null) (Endpoint Name)
Folder Id (string) or Folder Id (null) (Folder Id)
Fs Path (string) or Fs Path (null) (Fs Path)
Locked (boolean) or Locked (null) (Locked)
Mcp Enabled (boolean) or Mcp Enabled (null) (Mcp Enabled)
Name (string) or Name (null) (Name)
Workspace Id (string) or Workspace Id (null) (Workspace Id)

Responses

Request samples

Content type
application/json
{
  • "access_type": "PRIVATE",
  • "action_description": "string",
  • "action_name": "string",
  • "data": { },
  • "description": "string",
  • "endpoint_name": "string",
  • "folder_id": "7695bac3-9397-4ec2-9335-45a2a16f1901",
  • "fs_path": "string",
  • "locked": true,
  • "mcp_enabled": true,
  • "name": "string",
  • "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9"
}

Response samples

Content type
application/json
{
  • "access_type": "PRIVATE",
  • "action_description": "string",
  • "action_name": "string",
  • "data": { },
  • "description": "string",
  • "endpoint_name": "string",
  • "folder_id": "7695bac3-9397-4ec2-9335-45a2a16f1901",
  • "gradient": "string",
  • "icon": "string",
  • "icon_bg_color": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "is_component": false,
  • "locked": false,
  • "mcp_enabled": false,
  • "name": "string",
  • "name_key": "string",
  • "tags": [
    ],
  • "updated_at": "2019-08-24T14:15:22Z",
  • "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
  • "webhook": false,
  • "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9"
}

Upsert Flow

Create or update a flow with a specific ID (upsert).

Returns 201 for creation, 200 for update. Returns 404 if owned by another user.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
flow_id
required
string <uuid> (Flow Id)
Request Body schema: application/json
required
access_type
string (AccessTypeEnum)
Default: "PRIVATE"
Enum: "PRIVATE" "PUBLIC"
Action Description (string) or Action Description (null) (Action Description)

The description of the action associated with the flow

Action Name (string) or Action Name (null) (Action Name)

The name of the action associated with the flow

Data (object) or Data (null) (Data)
Description (string) or Description (null) (Description)
Endpoint Name (string) or Endpoint Name (null) (Endpoint Name)
Folder Id (string) or Folder Id (null) (Folder Id)
Fs Path (string) or Fs Path (null) (Fs Path)
Gradient (string) or Gradient (null) (Gradient)
Icon (string) or Icon (null) (Icon)
Icon Bg Color (string) or Icon Bg Color (null) (Icon Bg Color)
Id (string) or Id (null) (Id)
Is Component (boolean) or Is Component (null) (Is Component)
Default: false
Locked (boolean) or Locked (null) (Locked)
Default: false
Mcp Enabled (boolean) or Mcp Enabled (null) (Mcp Enabled)
Default: false

Can be exposed in the MCP server

name
required
string (Name)
Array of Tags (strings) or Tags (null) (Tags)
Updated At (string) or Updated At (null) (Updated At)
User Id (string) or User Id (null) (User Id)
Webhook (boolean) or Webhook (null) (Webhook)
Default: false

Can be used on the webhook endpoint

Workspace Id (string) or Workspace Id (null) (Workspace Id)

Responses

Request samples

Content type
application/json
{
  • "access_type": "PRIVATE",
  • "action_description": "string",
  • "action_name": "string",
  • "data": { },
  • "description": "string",
  • "endpoint_name": "string",
  • "folder_id": "7695bac3-9397-4ec2-9335-45a2a16f1901",
  • "fs_path": "string",
  • "gradient": "string",
  • "icon": "string",
  • "icon_bg_color": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "is_component": false,
  • "locked": false,
  • "mcp_enabled": false,
  • "name": "string",
  • "tags": [
    ],
  • "updated_at": "2019-08-24T14:15:22Z",
  • "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
  • "webhook": false,
  • "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9"
}

Response samples

Content type
application/json
{
  • "access_type": "PRIVATE",
  • "action_description": "string",
  • "action_name": "string",
  • "data": { },
  • "description": "string",
  • "endpoint_name": "string",
  • "folder_id": "7695bac3-9397-4ec2-9335-45a2a16f1901",
  • "gradient": "string",
  • "icon": "string",
  • "icon_bg_color": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "is_component": false,
  • "locked": false,
  • "mcp_enabled": false,
  • "name": "string",
  • "name_key": "string",
  • "tags": [
    ],
  • "updated_at": "2019-08-24T14:15:22Z",
  • "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
  • "webhook": false,
  • "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9"
}

Get Note Translations

Return translated note node descriptions for the current locale.

Returns a mapping of node_id → translated markdown text. Only nodes
with a matching translation key are included; nodes without translations
are omitted so the caller can leave them unchanged.

A missing or inaccessible flow yields 404 (via AuthorizedReadFlow),
consistent with GET /flows/{id}; the sole frontend caller (NoteNode)
treats that as "no translations" and renders the original text.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
flow_id
required
string <uuid> (Flow Id)

Responses

Response samples

Content type
application/json
{
  • "property1": "string",
  • "property2": "string"
}

Get Starter Projects

Get a list of starter projects.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Flow Events

Get Flow Events

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
flow_id
required
string <uuid> (Flow Id)
query Parameters
since
number (Since)
Default: 0

UTC timestamp to get events after

Responses

Response samples

Content type
application/json
{
  • "events": [
    ],
  • "settled": true
}

Create Flow Event

Append an event to a flow's event queue.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
flow_id
required
string <uuid> (Flow Id)
Request Body schema: application/json
required
summary
string (Summary) <= 500 characters
Default: ""
type
required
string (Type)
Enum: "component_added" "component_removed" "component_configured" "connection_added" "connection_removed" "flow_updated" "flow_settled"

Responses

Request samples

Content type
application/json
{
  • "summary": "",
  • "type": "component_added"
}

Response samples

Content type
application/json
{
  • "summary": "string",
  • "timestamp": 0,
  • "type": "string"
}

mcp_projects

List Project Tools

List project MCP tools.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
project_id
required
string <uuid> (Project Id)
query Parameters
mcp_enabled
boolean (Mcp Enabled)
Default: true

Responses

Response samples

Content type
application/json
null

Update Project Mcp Settings

Update the MCP settings of all flows in a project and project-level auth settings.

On MCP Composer failure, this endpoint should return with a 200 status code and an error message in
the body of the response to display to the user.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
project_id
required
string <uuid> (Project Id)
Request Body schema: application/json
required
AuthSettings (object) or null
required
Array of objects (Settings)

Responses

Request samples

Content type
application/json
{
  • "auth_settings": {
    },
  • "settings": [
    ]
}

Response samples

Content type
application/json
null

Get Project Composer Url

Get the MCP Composer URL for a specific project.

On failure, this endpoint should return with a 200 status code and an error message in
the body of the response to display to the user.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
project_id
required
string <uuid> (Project Id)

Responses

Response samples

Content type
application/json
{
  • "error_message": "string",
  • "legacy_sse_url": "string",
  • "project_id": "string",
  • "streamable_http_url": "string",
  • "uses_composer": true
}

Install Mcp Config

Install MCP server configuration for Cursor, Windsurf, or Claude.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
project_id
required
string <uuid> (Project Id)
Request Body schema: application/json
required
client
required
string (Client)
Transport (string) or Transport (null) (Transport)

Responses

Request samples

Content type
application/json
{
  • "client": "string",
  • "transport": "sse"
}

Response samples

Content type
application/json
null

Check Installed Mcp Servers

Check if MCP server configuration is installed for this project in Cursor, Windsurf, or Claude.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
project_id
required
string <uuid> (Project Id)

Responses

Response samples

Content type
application/json
null

Monitor

Delete Vertex Builds

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
query Parameters
flow_id
required
string <uuid> (Flow Id)

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Get Vertex Builds

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
query Parameters
flow_id
required
string <uuid> (Flow Id)

Responses

Response samples

Content type
application/json
{
  • "vertex_builds": {
    }
}

Job Queue Metrics

Return a snapshot of job-queue observability metrics.

For the in-memory backend this exposes only backend and active_jobs.
For the Redis backend the snapshot also includes bridge counts, consumer
wrappers, cancel-dispatcher liveness, and the cancel-stats counters
(published / marker_hit / dispatched_owned /
dispatched_foreign / publish_errors / dispatcher_reconnects /
polling_watchdog_kills / activity_touch_errors /
activity_get_errors / activity_parse_errors /
dispatcher_internal_errors). dispatcher_reconnects tracks explicit
dispatcher-loop retries and redis-py transparent pubsub reconnect callbacks.

Restricted to superusers because the snapshot exposes process-wide tenant
activity (live job counts, cancel rates) — useful for ops, sensitive in
multi-tenant deployments.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header

Responses

Response samples

Content type
application/json
{ }

Delete Messages

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
Request Body schema: application/json
required
Array
string <uuid>

Responses

Request samples

Content type
application/json
[
  • "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Get Messages

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
query Parameters
Flow Id (string) or Flow Id (null) (Flow Id)
Session Id (string) or Session Id (null) (Session Id)
Sender (string) or Sender (null) (Sender)
Sender Name (string) or Sender Name (null) (Sender Name)
Order By (string) or Order By (null) (Order By)
Default: "timestamp"

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Update Session Id

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
old_session_id
required
string (Old Session Id)
query Parameters
new_session_id
required
string (New Session Id)

The new session ID to update to

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Delete Messages Session

Delete messages for a single session.

Only deletes messages from sessions belonging to flows owned by the current user.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
session_id
required
string (Session Id)

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Delete Messages Sessions

Bulk delete messages for multiple sessions at once.

Only deletes messages from sessions belonging to flows owned by the current user.

Args:
session_ids: List of session IDs to delete (max 500)
session: Database session
current_user: Current authenticated user

Returns:
Confirmation message with count of deleted sessions

Raises:
HTTPException: 400 if session_ids list exceeds 500 items
HTTPException: 500 if database operation fails

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
Request Body schema: application/json
required
Array
string

Responses

Request samples

Content type
application/json
[
  • "string"
]

Response samples

Content type
application/json
null

Get Message Sessions

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
query Parameters
Flow Id (string) or Flow Id (null) (Flow Id)

Responses

Response samples

Content type
application/json
[
  • "string"
]

Get Shared Messages

Get messages for a shared/public flow, scoped to the authenticated user.

Uses a deterministic virtual flow_id derived from the user's ID and the
original flow ID. Only messages stored under this virtual flow_id are returned.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
query Parameters
source_flow_id
required
string <uuid> (Source Flow Id)

The original public flow ID

Session Id (string) or Session Id (null) (Session Id)
Order By (string) or Order By (null) (Order By)
Default: "timestamp"

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Rename Shared Session

Rename a session on a shared/public flow, scoped to the authenticated user.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
old_session_id
required
string (Old Session Id)
query Parameters
new_session_id
required
string (New Session Id)

The new session ID

source_flow_id
required
string <uuid> (Source Flow Id)

The original public flow ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Delete Shared Messages Session

Delete messages for a session on a shared/public flow, scoped to the authenticated user.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
session_id
required
string (Session Id)
query Parameters
source_flow_id
required
string <uuid> (Source Flow Id)

The original public flow ID

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Get Shared Message Sessions

Get session IDs for a shared/public flow, scoped to the authenticated user.

Uses a deterministic virtual flow_id derived from the user's ID and the
original flow ID. Only messages stored under this virtual flow_id are returned.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
query Parameters
source_flow_id
required
string <uuid> (Source Flow Id)

The original public flow ID

Responses

Response samples

Content type
application/json
[
  • "string"
]

Update Shared Message

Update a message on a shared/public flow, scoped to the authenticated user.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
message_id
required
string <uuid> (Message Id)
query Parameters
source_flow_id
required
string <uuid> (Source Flow Id)

The original public flow ID

Request Body schema: application/json
required
Category (string) or Category (null) (Category)
Array of Content Blocks (objects) or Content Blocks (null) (Content Blocks)
Context Id (string) or Context Id (null) (Context Id)
Edit (boolean) or Edit (null) (Edit)
Error (boolean) or Error (null) (Error)
Array of Files (strings) or Files (null) (Files)
Properties (object) or null
Sender (string) or Sender (null) (Sender)
Sender Name (string) or Sender Name (null) (Sender Name)
Session Id (string) or Session Id (null) (Session Id)
Session Metadata (object) or Session Metadata (null) (Session Metadata)
Text (string) or Text (null) (Text)

Responses

Request samples

Content type
application/json
{
  • "category": "string",
  • "content_blocks": [
    ],
  • "context_id": "string",
  • "edit": true,
  • "error": true,
  • "files": [
    ],
  • "properties": {
    },
  • "sender": "string",
  • "sender_name": "string",
  • "session_id": "string",
  • "session_metadata": { },
  • "text": "string"
}

Response samples

Content type
application/json
{
  • "category": "message",
  • "content_blocks": [
    ],
  • "context_id": "string",
  • "edit": false,
  • "error": false,
  • "files": [
    ],
  • "flow_id": "0746f03b-16cc-49fb-9833-df3713d407d2",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "properties": {
    },
  • "run_id": "dded282c-8ebd-44cf-8ba5-9a234973d1ec",
  • "sender": "string",
  • "sender_name": "string",
  • "session_id": "string",
  • "session_metadata": { },
  • "text": "string",
  • "timestamp": "2019-08-24T14:15:22Z"
}

Update Message

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
message_id
required
string <uuid> (Message Id)
Request Body schema: application/json
required
Category (string) or Category (null) (Category)
Array of Content Blocks (objects) or Content Blocks (null) (Content Blocks)
Context Id (string) or Context Id (null) (Context Id)
Edit (boolean) or Edit (null) (Edit)
Error (boolean) or Error (null) (Error)
Array of Files (strings) or Files (null) (Files)
Properties (object) or null
Sender (string) or Sender (null) (Sender)
Sender Name (string) or Sender Name (null) (Sender Name)
Session Id (string) or Session Id (null) (Session Id)
Session Metadata (object) or Session Metadata (null) (Session Metadata)
Text (string) or Text (null) (Text)

Responses

Request samples

Content type
application/json
{
  • "category": "string",
  • "content_blocks": [
    ],
  • "context_id": "string",
  • "edit": true,
  • "error": true,
  • "files": [
    ],
  • "properties": {
    },
  • "sender": "string",
  • "sender_name": "string",
  • "session_id": "string",
  • "session_metadata": { },
  • "text": "string"
}

Response samples

Content type
application/json
{
  • "category": "message",
  • "content_blocks": [
    ],
  • "context_id": "string",
  • "edit": false,
  • "error": false,
  • "files": [
    ],
  • "flow_id": "0746f03b-16cc-49fb-9833-df3713d407d2",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "properties": {
    },
  • "run_id": "dded282c-8ebd-44cf-8ba5-9a234973d1ec",
  • "sender": "string",
  • "sender_name": "string",
  • "session_id": "string",
  • "session_metadata": { },
  • "text": "string",
  • "timestamp": "2019-08-24T14:15:22Z"
}

Get Transactions

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
query Parameters
flow_id
required
string <uuid> (Flow Id)
page
integer (Page) >= 1
Default: 1

Page number

size
integer (Size) [ 1 .. 100 ]
Default: 50

Page size

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "page": 1,
  • "pages": 0,
  • "size": 1,
  • "total": 0
}

Traces

Delete Traces By Flow

Delete all traces for a flow.

Args:
flow_id: The ID of the flow whose traces should be deleted.
current_user: The authenticated user (required for authorization).

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
query Parameters
flow_id
required
string <uuid> (Flow Id)

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Get Traces

Get list of traces for a flow.

Args:
current_user: Authenticated user (required for authorization)
flow_id: Filter by flow ID
session_id: Filter by session ID
status: Filter by trace status
query: Search query for trace name/id/session id
start_time: Filter traces starting on/after this time (ISO)
end_time: Filter traces starting on/before this time (ISO)
page: Page number (1-based)
size: Page size

Returns:
List of traces

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
query Parameters
Flow Id (string) or Flow Id (null) (Flow Id)
Session Id (string) or Session Id (null) (Session Id)
SpanStatus (string) or Status (null) (Status)
Query (string) or Query (null) (Query)
Start Time (string) or Start Time (null) (Start Time)
End Time (string) or End Time (null) (End Time)
page
integer (Page) >= 0
Default: 1
size
integer (Size) [ 1 .. 200 ]
Default: 50

Responses

Response samples

Content type
application/json
{
  • "pages": 0,
  • "total": 0,
  • "traces": [
    ]
}

Delete Trace

Delete a trace and all its spans.

Args:
trace_id: The ID of the trace to delete.
current_user: The authenticated user (required for authorization).

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
trace_id
required
string <uuid> (Trace Id)

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Get Trace

Get a single trace with its hierarchical span tree.

Args:
trace_id: The ID of the trace to retrieve.
current_user: The authenticated user (required for authorization).

Returns:
TraceRead containing the trace and its hierarchical span tree.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
trace_id
required
string <uuid> (Trace Id)

Responses

Response samples

Content type
application/json
{
  • "endTime": "2019-08-24T14:15:22Z",
  • "flowId": "ccd52024-9c9c-4751-993a-9d75a778bf9d",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "input": { },
  • "name": "string",
  • "output": { },
  • "sessionId": "string",
  • "spans": [
    ],
  • "startTime": "2019-08-24T14:15:22Z",
  • "status": "unset",
  • "totalLatencyMs": 0,
  • "totalTokens": 0
}

Projects

Read Projects

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Project

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
Request Body schema: application/json
required
Auth Settings (object) or Auth Settings (null) (Auth Settings)

Authentication settings for the folder/project

Array of Components List (strings) or Components List (null) (Components List)
Description (string) or Description (null) (Description)
Array of Flows List (strings) or Flows List (null) (Flows List)
name
required
string (Name)

Responses

Request samples

Content type
application/json
{
  • "auth_settings": { },
  • "components_list": [
    ],
  • "description": "string",
  • "flows_list": [
    ],
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "auth_settings": { },
  • "description": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef"
}

Download File

Download all flows from project as a zip file.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
project_id
required
string <uuid> (Project Id)

Responses

Response samples

Content type
application/json
null

Upload File

Upload flows from a file.

Accepts either a JSON file with project metadata (folder_name, folder_description, flows)
or a ZIP file containing individual flow JSON files (as produced by the download endpoint).

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
Request Body schema: multipart/form-data
File (string) or File (null) (File)
Any of
string <application/octet-stream> (File)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Delete Project

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
project_id
required
string <uuid> (Project Id)

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Read Project

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
project_id
required
string <uuid> (Project Id)
query Parameters
Page (integer) or Page (null) (Page)
Size (integer) or Size (null) (Size)
is_component
boolean (Is Component)
Default: false
is_flow
boolean (Is Flow)
Default: false
search
string (Search)
Default: ""

Responses

Response samples

Content type
application/json
Example
{
  • "flows": {
    },
  • "folder": {
    }
}

Update Project

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
project_id
required
string <uuid> (Project Id)
Request Body schema: application/json
required
Auth Settings (object) or Auth Settings (null) (Auth Settings)
components
Array of strings <uuid> (Components) [ items <uuid > ]
Description (string) or Description (null) (Description)
flows
Array of strings <uuid> (Flows) [ items <uuid > ]
Name (string) or Name (null) (Name)
Parent Id (string) or Parent Id (null) (Parent Id)

Responses

Request samples

Content type
application/json
{
  • "auth_settings": { },
  • "components": [
    ],
  • "description": "string",
  • "flows": [
    ],
  • "name": "string",
  • "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef"
}

Response samples

Content type
application/json
{
  • "auth_settings": { },
  • "description": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef"
}

OpenAI Responses API

Create Response

Create a response using OpenAI Responses API format.

This endpoint accepts a flow_id in the model parameter and processes
the input through the specified Langflow flow.

Args:
request: OpenAI Responses API request with model (flow_id) and input
background_tasks: FastAPI background task manager
api_key_user: Authenticated user from API key
http_request: The incoming HTTP request
telemetry_service: Telemetry service for logging

Returns:
OpenAI-compatible response or streaming response

Raises:
HTTPException: For validation errors or flow execution issues

Authorizations:
API key queryAPI key header
Request Body schema: application/json
required
background
boolean (Background)
Default: false

Whether to process in background

Array of Include (strings) or Include (null) (Include)

Additional response data to include, e.g., ['tool_call.results']

input
required
string (Input)

The input text to process

model
required
string (Model)

The flow ID to execute (used instead of OpenAI model)

Previous Response Id (string) or Previous Response Id (null) (Previous Response Id)

ID of previous response to continue conversation

stream
boolean (Stream)
Default: false

Whether to stream the response

Array of Tools (any) or Tools (null) (Tools)

Tools are not supported yet

Responses

Request samples

Content type
application/json
{
  • "background": false,
  • "include": [
    ],
  • "input": "string",
  • "model": "string",
  • "previous_response_id": "string",
  • "stream": false,
  • "tools": [
    ]
}

Response samples

Content type
application/json
null

Users

Read All Users

Retrieve a list of users from the database with pagination.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
query Parameters
skip
integer (Skip)
Default: 0
limit
integer (Limit)
Default: 10
Search (string) or Search (null) (Search)

Responses

Response samples

Content type
application/json
{
  • "total_count": 0,
  • "users": [
    ]
}

Add User

Add a new user to the database.

This endpoint allows public user registration (sign up).
User activation is controlled by the NEW_USER_IS_ACTIVE setting.

Request Body schema: application/json
required
Optins (object) or Optins (null) (Optins)
Default: {"dialog_dismissed":false,"discord_clicked":false,"github_starred":false}
password
required
string (Password)
username
required
string (Username)

Responses

Request samples

Content type
application/json
{
  • "optins": {
    },
  • "password": "string",
  • "username": "string"
}

Response samples

Content type
application/json
{
  • "create_at": "2019-08-24T14:15:22Z",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "is_active": true,
  • "is_superuser": true,
  • "last_login_at": "2019-08-24T14:15:22Z",
  • "optins": { },
  • "profile_image": "string",
  • "store_api_key": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "username": "string"
}

Read Current User

Retrieve the current user's data.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header

Responses

Response samples

Content type
application/json
{
  • "create_at": "2019-08-24T14:15:22Z",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "is_active": true,
  • "is_superuser": true,
  • "last_login_at": "2019-08-24T14:15:22Z",
  • "optins": { },
  • "profile_image": "string",
  • "store_api_key": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "username": "string"
}

Delete User

Delete a user from the database.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
user_id
required
string <uuid> (User Id)

Responses

Response samples

Content type
application/json
{ }

Patch User

Update an existing user's data.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
user_id
required
string <uuid> (User Id)
Request Body schema: application/json
required
Is Active (boolean) or Is Active (null) (Is Active)
Is Superuser (boolean) or Is Superuser (null) (Is Superuser)
Last Login At (string) or Last Login At (null) (Last Login At)
Optins (object) or Optins (null) (Optins)
Password (string) or Password (null) (Password)
Profile Image (string) or Profile Image (null) (Profile Image)
Username (string) or Username (null) (Username)

Responses

Request samples

Content type
application/json
{
  • "is_active": true,
  • "is_superuser": true,
  • "last_login_at": "2019-08-24T14:15:22Z",
  • "optins": { },
  • "password": "string",
  • "profile_image": "string",
  • "username": "string"
}

Response samples

Content type
application/json
{
  • "create_at": "2019-08-24T14:15:22Z",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "is_active": true,
  • "is_superuser": true,
  • "last_login_at": "2019-08-24T14:15:22Z",
  • "optins": { },
  • "profile_image": "string",
  • "store_api_key": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "username": "string"
}

Reset Password

Reset a user's password.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
user_id
required
string <uuid> (User Id)
Request Body schema: application/json
required
Is Active (boolean) or Is Active (null) (Is Active)
Is Superuser (boolean) or Is Superuser (null) (Is Superuser)
Last Login At (string) or Last Login At (null) (Last Login At)
Optins (object) or Optins (null) (Optins)
Password (string) or Password (null) (Password)
Profile Image (string) or Profile Image (null) (Profile Image)
Username (string) or Username (null) (Username)

Responses

Request samples

Content type
application/json
{
  • "is_active": true,
  • "is_superuser": true,
  • "last_login_at": "2019-08-24T14:15:22Z",
  • "optins": { },
  • "password": "string",
  • "profile_image": "string",
  • "username": "string"
}

Response samples

Content type
application/json
{
  • "create_at": "2019-08-24T14:15:22Z",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "is_active": true,
  • "is_superuser": true,
  • "last_login_at": "2019-08-24T14:15:22Z",
  • "optins": { },
  • "profile_image": "string",
  • "store_api_key": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "username": "string"
}

MCP

Get Servers

Get the list of available servers.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
query Parameters
Action Count (boolean) or Action Count (null) (Action Count)

Responses

Response samples

Content type
application/json
null

Delete Server

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
server_name
required
string (Server Name)

Responses

Response samples

Content type
application/json
null

Get Server Endpoint

Get a specific server.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
server_name
required
string (Server Name)

Responses

Response samples

Content type
application/json
null

Update Server Endpoint

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
server_name
required
string (Server Name)
Request Body schema: application/json
required
Array of Args (strings) or Args (null) (Args)
Command (string) or Command (null) (Command)
Env (object) or Env (null) (Env)
Headers (object) or Headers (null) (Headers)
Url (string) or Url (null) (Url)
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "args": [
    ],
  • "command": "string",
  • "env": {
    },
  • "headers": {
    },
  • "url": "string"
}

Response samples

Content type
application/json
null

Add Server

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
path Parameters
server_name
required
string (Server Name)
Request Body schema: application/json
required
Array of Args (strings) or Args (null) (Args)
Command (string) or Command (null) (Command)
Env (object) or Env (null) (Env)
Headers (object) or Headers (null) (Headers)
Url (string) or Url (null) (Url)
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "args": [
    ],
  • "command": "string",
  • "env": {
    },
  • "headers": {
    },
  • "url": "string"
}

Response samples

Content type
application/json
null

Workflow

Get Workflow Status

Get status of workflow job by job ID

Authorizations:
API key queryAPI key header
query Parameters
Job Id (string) or Job Id (string) or Job Id (null) (Job Id)

Job ID to query

Responses

Response samples

Content type
{
  • "created_timestamp": "string",
  • "errors": [ ],
  • "flow_id": "string",
  • "globals": {
    },
  • "inputs": { },
  • "job_id": "string",
  • "object": "response",
  • "outputs": { },
  • "status": "queued"
}

Execute Workflow

Execute a workflow with support for sync, stream, and background modes

Authorizations:
API key queryAPI key header
Request Body schema: application/json
required
background
boolean (Background)
Default: false
flow_id
required
string (Flow Id)
object (Globals)

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.

Inputs (object) or Inputs (null) (Inputs)

Component-specific inputs in flat format: 'component_id.param_name': value

stream
boolean (Stream)
Default: false

Responses

Request samples

Content type
application/json
{
  • "background": false,
  • "flow_id": "flow_67ccd2be17f0819081ff3bb2cf6508e60bb6a6b452d3795b",
  • "globals": {
    },
  • "inputs": {
    },
  • "stream": false
}

Response samples

Content type
Example
null

Stop Workflow

Stop a running workflow execution

Authorizations:
API key queryAPI key header
Request Body schema: application/json
required
required
Job Id (string) or Job Id (string) (Job Id)
Any of
string (Job Id)

Responses

Request samples

Content type
application/json
{
  • "job_id": "string"
}

Response samples

Content type
application/json
{
  • "job_id": "string",
  • "message": "string"
}

Health Check

Health

Responses

Response samples

Content type
application/json
null

Health Check

Responses

Response samples

Content type
application/json
{
  • "chat": "error check the server logs",
  • "db": "error check the server logs",
  • "status": "nok"
}

Log

Logs

Retrieve application logs with authentication required.

SECURITY: Logs may contain sensitive information and require authentication.

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header
query Parameters
lines_before
integer (Lines Before)
Default: 0

The number of logs before the timestamp or the last log

lines_after
integer (Lines After)
Default: 0

The number of logs after the timestamp

timestamp
integer (Timestamp)
Default: 0

The timestamp to start getting logs from

Responses

Response samples

Content type
application/json
null

Stream Logs

HTTP/2 Server-Sent-Event (SSE) endpoint for streaming logs.

Requires authentication to prevent exposure of sensitive log data.
It establishes a long-lived connection to the server and receives log messages in real-time.
The client should use the header "Accept: text/event-stream".

Authorizations:
OAuth2PasswordBearerCookieAPI key queryAPI key header

Responses

Response samples

Content type
application/json
null
Search