Skip to content

API Overview

FlowDrop is organized as tree-shakable sub-modules. Import only what you need to minimize bundle size.

Types and utilities with zero heavy dependencies. Safe to import anywhere without pulling in Svelte components or CodeMirror.

Key exports:

  • Core types: Workflow, WorkflowNode, WorkflowEdge, NodeMetadata, NodePort
  • Node types: BuiltinNodeType, NodeCategory
  • Auth providers: AuthProvider, StaticAuthProvider, CallbackAuthProvider, NoAuthProvider
  • Configuration: FlowDropConfig, EndpointConfig, createEndpointConfig
  • Event handlers: FlowDropEventHandlers, FlowDropFeatures
  • Port system: PortConfig, PortDataTypeConfig, PortCompatibilityRule
  • UI Schema: UISchemaElement, UISchemaControl, UISchemaGroup
  • Form types: FieldSchema, FieldType, SchemaFormProps
  • Agent Spec types and adapters
  • Theme: theme, resolvedTheme, setTheme, toggleTheme
  • Utilities: colors, icons, node types, connections, cycle detection

Visual workflow editor with @xyflow/svelte.

Key exports:

  • Components: WorkflowEditor, App, NodeSidebar, ConfigForm, ConfigPanel
  • Node components: WorkflowNodeComponent, SimpleNode, ToolNode, NotesNode, GatewayNode, SquareNode, TerminalNode, UniversalNode
  • Mount functions: mountFlowDropApp, mountWorkflowEditor, unmountFlowDropApp
  • Helpers: WorkflowOperationsHelper, NodeOperationsHelper, EdgeStylingHelper, ConfigurationHelper
  • Stores: workflow store, port coordinates, history
  • Services: API client, toast service, node execution
  • Registration: registerCustomNode, registerFlowDropPlugin, createPlugin

Dynamic form generation from JSON Schema.

Key exports:

  • Components: SchemaForm, FormField, FormFieldWrapper
  • Field types: FormTextField, FormTextarea, FormNumberField, FormToggle, FormSelect, FormArray, FormCheckboxGroup, FormRangeField
  • UISchema: FormFieldset, FormUISchemaRenderer
  • Registry: registerFieldComponent, fieldComponentRegistry, matchers

Code and JSON editor support (adds ~300KB, requires CodeMirror).

Key exports:

  • Components: FormCodeEditor, FormTemplateEditor
  • Registration: registerCodeEditorField(), registerTemplateEditorField()

Markdown editor support (requires CodeMirror + @codemirror/lang-markdown).

Key exports:

  • Component: FormMarkdownEditor
  • Registration: registerMarkdownEditorField()

Content rendering components.

Key exports:

  • MarkdownDisplay — renders markdown content using the marked library

Interactive workflow testing and human-in-the-loop.

Key exports:

  • Components: Playground, PlaygroundModal, ChatPanel, SessionManager, ExecutionLogs, MessageBubble
  • Interrupts: InterruptBubble, ConfirmationPrompt, ChoicePrompt, TextInputPrompt, FormPrompt, ReviewPrompt
  • Services: PlaygroundService, InterruptService
  • Store: playground state, interrupt management
  • Mount functions: mountPlayground, unmountPlayground
  • Types: PlaygroundSession, PlaygroundMessage, Interrupt, InterruptType

User preferences with hybrid persistence.

Key exports:

  • Components: ThemeToggle, SettingsPanel, SettingsModal
  • Store: settings state (theme, editor, UI, behavior, API categories)
  • Types: FlowDropSettings, ThemeSettings, EditorSettings, UISettings

CSS styling with design tokens.

Exports: CSS files with --fd-* custom properties for theming.

Full bundle — re-exports from all sub-modules for convenience. Use this when bundle size is not a concern.

FlowDrop expects a backend implementing these endpoint groups. Not all are required — see Backend Implementation for which tier each belongs to.

Required (Tier 1 — Minimum Viable Backend)

Section titled “Required (Tier 1 — Minimum Viable Backend)”
MethodPathPurpose
GET/healthHealth check (called on mount)
GET/nodesList available node types
GET/workflows/:idLoad a workflow
POST/workflowsCreate a new workflow
PUT/workflows/:idUpdate a workflow
MethodPathPurpose
GET/categoriesCategory definitions for sidebar groups
GET/port-configPort data types and compatibility rules
GET/nodes/:idGet single node metadata
GET/workflowsList all workflows
DELETE/workflows/:idDelete a workflow
GET/system/configRuntime configuration
GroupPathsPurpose
Execution/workflows/{id}/execute, /executions/{id}/statusWorkflow execution
Pipelines/pipeline/{id}Pipeline status & logs
Playground/playground/sessions, /playground/sessions/{id}/messagesInteractive testing
Interrupts/interrupts/{id}, /interrupts/{id}/resolveHuman-in-the-loop
Settings/settingsUser preferences
Agent Spec/agentspecAgent Spec import/export

See the OpenAPI specification for full endpoint documentation, or follow the Backend: Express.js recipe to get started quickly.