Download OpenAPI specification:
FlowDrop is a visual workflow editor for AI applications and data processing pipelines. This API provides comprehensive endpoints for managing workflows, node types, pipeline execution, and port configuration.
API endpoints require Drupal authentication. Use Bearer token or session-based authentication.
All errors return a consistent format with success flag, error message, and optional details.
Check if the FlowDrop API is running and responsive. This endpoint is at the root level following industry conventions for Kubernetes liveness/readiness probes and load balancer health checks.
{- "status": "healthy",
- "timestamp": "2019-08-24T14:15:22Z",
- "version": "1.0.0",
- "service": "FlowDrop API",
- "uptime": 3600
}Retrieve public system configuration settings
{- "success": true,
- "data": {
- "version": "1.0.0",
- "features": {
- "property1": true,
- "property2": true
}, - "limits": {
- "maxWorkflowNodes": 0,
- "maxConcurrentExecutions": 0
}
}, - "message": "string",
- "error": "string"
}Retrieve all available node processors with optional filtering by category, search query, and pagination. Supports filtering by node category (models, data_processing, input_output, etc.) and search queries.
| category | string (NodeCategory) Enum: "triggers" "inputs" "outputs" "prompts" "models" "processing" "logic" "data" "tools" "helpers" "vector stores" "embeddings" "memories" "agents" "ai" "bundles" Filter by node category |
| search | string <= 100 characters Search node types by name, description, or tags |
| limit | integer [ 1 .. 1000 ] Default: 100 Maximum number of results (1-1000) |
| offset | integer >= 0 Default: 0 Number of results to skip for pagination |
{- "success": true,
- "data": [
- {
- "id": "openai_chat_executor",
- "name": "OpenAI Chat",
- "description": "Chat completion using OpenAI's GPT models",
- "category": "ai",
- "version": "1.0.0",
- "icon": "mdi:chat",
- "color": "#10a37f",
- "type": "default",
- "supportedTypes": [
- "default",
- "simple"
], - "inputs": [
- {
- "id": "data",
- "name": "Input Data",
- "type": "input",
- "dataType": "mixed",
- "required": false,
- "description": "Input data for the node"
}
], - "outputs": [
- {
- "id": "response",
- "name": "Response",
- "type": "output",
- "dataType": "string",
- "description": "The OpenAI response"
}
], - "configSchema": {
- "type": "object",
- "properties": {
- "model": {
- "type": "string",
- "title": "Model",
- "default": "gpt-4o-mini",
- "enum": [
- "gpt-4o-mini",
- "gpt-5",
- "gpt-4.1"
]
}, - "temperature": {
- "type": "number",
- "title": "Temperature",
- "default": 0.7,
- "minimum": 0,
- "maximum": 2
}, - "maxTokens": {
- "type": "integer",
- "title": "Max Tokens",
- "default": 1000,
- "minimum": 1,
- "maximum": 4096
}, - "apiKey": {
- "type": "string",
- "title": "API Key",
- "format": "hidden"
}
}
}, - "tags": [
- "openai",
- "gpt",
- "chat",
- "ai"
]
}
], - "message": "Found 1 node types"
}Retrieve detailed metadata for a specific node type by its unique identifier
| id required | string Example: calculator Node type unique identifier |
{- "success": true,
- "data": {
- "id": "calculator",
- "name": "Calculator",
- "type": "note",
- "supportedTypes": [
- "note"
], - "description": "Perform mathematical operations on input data",
- "category": "triggers",
- "version": "1.0.0",
- "icon": "mdi:calculator",
- "color": "#3b82f6",
- "inputs": [
- {
- "id": "data",
- "name": "Input Data",
- "type": "input",
- "dataType": "mixed",
- "required": false,
- "description": "Input data for the node",
- "defaultValue": null
}
], - "outputs": [
- {
- "id": "data",
- "name": "Input Data",
- "type": "input",
- "dataType": "mixed",
- "required": false,
- "description": "Input data for the node",
- "defaultValue": null
}
], - "configSchema": {
- "type": "object",
- "properties": {
- "property1": {
- "type": "string",
- "title": "string",
- "description": "string",
- "default": null,
- "enum": [
- null
], - "multiple": true,
- "minimum": 0,
- "maximum": 0,
- "minLength": 0,
- "maxLength": 0,
- "pattern": "string",
- "format": "multiline",
- "items": { },
- "properties": {
- "property1": { },
- "property2": { }
}
}, - "property2": {
- "type": "string",
- "title": "string",
- "description": "string",
- "default": null,
- "enum": [
- null
], - "multiple": true,
- "minimum": 0,
- "maximum": 0,
- "minLength": 0,
- "maxLength": 0,
- "pattern": "string",
- "format": "multiline",
- "items": { },
- "properties": {
- "property1": { },
- "property2": { }
}
}
}, - "required": [
- "string"
], - "additionalProperties": false
}, - "tags": [
- "math",
- "calculation",
- "processing"
], - "extensions": {
- "ui": {
- "hideUnconnectedHandles": true,
- "style": {
- "opacity": 0.8
}
}, - "myapp:analytics": {
- "trackUsage": true,
- "customField": "value"
}
}
}, - "message": "string",
- "error": "string"
}Retrieve the complete port configuration system including available data types, compatibility rules, and default settings. This configuration determines how nodes can be connected in workflows based on port data types.
{- "success": true,
- "data": {
- "version": "1.0.0",
- "defaultDataType": "mixed",
- "dataTypes": [
- {
- "id": "string",
- "name": "String",
- "description": "Text data type",
- "color": "#3b82f6",
- "category": "primitive",
- "aliases": [
- "text",
- "str"
], - "enabled": true
}, - {
- "id": "number",
- "name": "Number",
- "description": "Numeric data type",
- "color": "#10b981",
- "category": "primitive",
- "enabled": true
}, - {
- "id": "mixed",
- "name": "Mixed",
- "description": "Any data type",
- "color": "#6b7280",
- "category": "special",
- "enabled": true
}
], - "compatibilityRules": [
- {
- "from": "string",
- "to": "mixed",
- "description": "Strings can connect to mixed ports"
}, - {
- "from": "number",
- "to": "mixed",
- "description": "Numbers can connect to mixed ports"
}, - {
- "from": "mixed",
- "to": "string",
- "description": "Mixed can connect to string with conversion"
}
]
}, - "message": "Port configuration loaded successfully"
}Retrieve all workflows with optional search filtering and pagination. Returns workflow metadata including nodes, edges, and execution history.
| search | string <= 100 characters Search workflows by name or description |
| tags | string Filter by tags (comma-separated) |
| limit | integer [ 1 .. 100 ] Default: 50 Maximum number of workflows to return |
| offset | integer >= 0 Default: 0 Number of workflows to skip |
| sort | string Default: "updated_at" Enum: "created_at" "updated_at" "name" Sort field |
| order | string Default: "desc" Enum: "asc" "desc" Sort direction |
{- "success": true,
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "My AI Workflow",
- "description": "string",
- "nodes": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "calculator",
- "position": {
- "x": 100,
- "y": 200
}, - "deletable": true,
- "data": {
- "label": "Math Calculator",
- "config": {
- "model": "gpt-4o-mini",
- "temperature": 0.7,
- "maxTokens": 1000,
- "apiKey": "sk-...",
- "dynamicInputs": [
- {
- "name": "extra_data",
- "label": "Extra Data",
- "dataType": "json",
- "required": false
}
], - "dynamicOutputs": [
- {
- "name": "result",
- "label": "Result",
- "dataType": "string"
}
], - "branches": [
- {
- "name": "success",
- "label": "Success",
- "condition": "status === 200"
}, - {
- "name": "error",
- "label": "Error",
- "isDefault": true
}
]
}, - "metadata": {
- "id": "calculator",
- "name": "Calculator",
- "type": "note",
- "supportedTypes": [
- "note"
], - "description": "Perform mathematical operations on input data",
- "category": "triggers",
- "version": "1.0.0",
- "icon": "mdi:calculator",
- "color": "#3b82f6",
- "inputs": [
- {
- "id": "data",
- "name": "Input Data",
- "type": "input",
- "dataType": "mixed",
- "required": false,
- "description": "Input data for the node",
- "defaultValue": null
}
], - "outputs": [
- {
- "id": "data",
- "name": "Input Data",
- "type": "input",
- "dataType": "mixed",
- "required": false,
- "description": "Input data for the node",
- "defaultValue": null
}
], - "configSchema": {
- "type": "object",
- "properties": {
- "property1": {
- "type": null,
- "title": null,
- "description": null,
- "default": null,
- "enum": [ ],
- "multiple": null,
- "minimum": null,
- "maximum": null,
- "minLength": null,
- "maxLength": null,
- "pattern": null,
- "format": null,
- "items": null,
- "properties": { }
}, - "property2": {
- "type": null,
- "title": null,
- "description": null,
- "default": null,
- "enum": [ ],
- "multiple": null,
- "minimum": null,
- "maximum": null,
- "minLength": null,
- "maxLength": null,
- "pattern": null,
- "format": null,
- "items": null,
- "properties": { }
}
}, - "required": [
- "string"
], - "additionalProperties": false
}, - "tags": [
- "math",
- "calculation",
- "processing"
], - "extensions": {
- "ui": {
- "hideUnconnectedHandles": true,
- "style": {
- "opacity": 0.8
}
}, - "myapp:analytics": {
- "trackUsage": true,
- "customField": "value"
}
}
}, - "isProcessing": true,
- "error": "string",
- "nodeId": "string",
- "executionInfo": {
- "status": "idle",
- "executionCount": 5,
- "lastExecuted": "2019-08-24T14:15:22Z",
- "lastExecutionDuration": 1500,
- "lastError": "string",
- "isExecuting": true
}, - "extensions": {
- "ui": {
- "hideUnconnectedHandles": true,
- "style": {
- "opacity": 0.8
}
}, - "myapp:analytics": {
- "trackUsage": true,
- "customField": "value"
}
}
}
}
], - "edges": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "source": "07b8e003-7027-443f-88b0-24a5eb1cc68b",
- "target": "65a17d54-9c67-4477-8b80-d3f97e165aa5",
- "sourceHandle": "string",
- "targetHandle": "string",
- "type": "default",
- "selectable": true,
- "deletable": true,
- "data": {
- "label": "string",
- "condition": "string",
- "metadata": {
- "edgeType": "trigger",
- "sourcePortDataType": "string"
}, - "isToolConnection": true,
- "targetNodeType": "string",
- "targetCategory": "string"
}
}
], - "metadata": {
- "version": "1.0.0",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "author": "admin",
- "tags": [
- "ai",
- "production"
], - "versionId": "string",
- "updateNumber": 0
}
}
], - "message": "string",
- "error": "string"
}Create a new workflow with the provided name, description, nodes, and edges. The workflow will be assigned a unique UUID and metadata will be automatically generated.
| name required | string [ 1 .. 200 ] characters Workflow name |
| description | string <= 1000 characters Workflow description |
Array of objects (WorkflowNode) | |
Array of objects (WorkflowEdge) | |
| tags | Array of strings <= 20 items [ items <= 50 characters ] |
{- "name": "My First Workflow",
- "description": "A simple workflow for testing",
- "nodes": [ ],
- "edges": [ ]
}{- "success": true,
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "My AI Workflow",
- "description": "string",
- "nodes": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "calculator",
- "position": {
- "x": 100,
- "y": 200
}, - "deletable": true,
- "data": {
- "label": "Math Calculator",
- "config": {
- "model": "gpt-4o-mini",
- "temperature": 0.7,
- "maxTokens": 1000,
- "apiKey": "sk-...",
- "dynamicInputs": [
- {
- "name": "extra_data",
- "label": "Extra Data",
- "dataType": "json",
- "required": false
}
], - "dynamicOutputs": [
- {
- "name": "result",
- "label": "Result",
- "dataType": "string"
}
], - "branches": [
- {
- "name": "success",
- "label": "Success",
- "condition": "status === 200"
}, - {
- "name": "error",
- "label": "Error",
- "isDefault": true
}
]
}, - "metadata": {
- "id": "calculator",
- "name": "Calculator",
- "type": "note",
- "supportedTypes": [
- "note"
], - "description": "Perform mathematical operations on input data",
- "category": "triggers",
- "version": "1.0.0",
- "icon": "mdi:calculator",
- "color": "#3b82f6",
- "inputs": [
- {
- "id": "data",
- "name": "Input Data",
- "type": "input",
- "dataType": "mixed",
- "required": false,
- "description": "Input data for the node",
- "defaultValue": null
}
], - "outputs": [
- {
- "id": "data",
- "name": "Input Data",
- "type": "input",
- "dataType": "mixed",
- "required": false,
- "description": "Input data for the node",
- "defaultValue": null
}
], - "configSchema": {
- "type": "object",
- "properties": {
- "property1": {
- "type": "string",
- "title": "string",
- "description": "string",
- "default": null,
- "enum": [
- null
], - "multiple": true,
- "minimum": 0,
- "maximum": 0,
- "minLength": 0,
- "maxLength": 0,
- "pattern": "string",
- "format": "multiline",
- "items": { },
- "properties": {
- "property1": null,
- "property2": null
}
}, - "property2": {
- "type": "string",
- "title": "string",
- "description": "string",
- "default": null,
- "enum": [
- null
], - "multiple": true,
- "minimum": 0,
- "maximum": 0,
- "minLength": 0,
- "maxLength": 0,
- "pattern": "string",
- "format": "multiline",
- "items": { },
- "properties": {
- "property1": null,
- "property2": null
}
}
}, - "required": [
- "string"
], - "additionalProperties": false
}, - "tags": [
- "math",
- "calculation",
- "processing"
], - "extensions": {
- "ui": {
- "hideUnconnectedHandles": true,
- "style": {
- "opacity": 0.8
}
}, - "myapp:analytics": {
- "trackUsage": true,
- "customField": "value"
}
}
}, - "isProcessing": true,
- "error": "string",
- "nodeId": "string",
- "executionInfo": {
- "status": "idle",
- "executionCount": 5,
- "lastExecuted": "2019-08-24T14:15:22Z",
- "lastExecutionDuration": 1500,
- "lastError": "string",
- "isExecuting": true
}, - "extensions": {
- "ui": {
- "hideUnconnectedHandles": true,
- "style": {
- "opacity": 0.8
}
}, - "myapp:analytics": {
- "trackUsage": true,
- "customField": "value"
}
}
}
}
], - "edges": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "source": "07b8e003-7027-443f-88b0-24a5eb1cc68b",
- "target": "65a17d54-9c67-4477-8b80-d3f97e165aa5",
- "sourceHandle": "string",
- "targetHandle": "string",
- "type": "default",
- "selectable": true,
- "deletable": true,
- "data": {
- "label": "string",
- "condition": "string",
- "metadata": {
- "edgeType": "trigger",
- "sourcePortDataType": "string"
}, - "isToolConnection": true,
- "targetNodeType": "string",
- "targetCategory": "string"
}
}
], - "metadata": {
- "version": "1.0.0",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "author": "admin",
- "tags": [
- "ai",
- "production"
], - "versionId": "string",
- "updateNumber": 0
}
}, - "message": "string",
- "error": "string"
}Retrieve a specific workflow with all its nodes, edges, and metadata
| id required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 Workflow UUID |
{- "success": true,
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "My AI Workflow",
- "description": "string",
- "nodes": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "calculator",
- "position": {
- "x": 100,
- "y": 200
}, - "deletable": true,
- "data": {
- "label": "Math Calculator",
- "config": {
- "model": "gpt-4o-mini",
- "temperature": 0.7,
- "maxTokens": 1000,
- "apiKey": "sk-...",
- "dynamicInputs": [
- {
- "name": "extra_data",
- "label": "Extra Data",
- "dataType": "json",
- "required": false
}
], - "dynamicOutputs": [
- {
- "name": "result",
- "label": "Result",
- "dataType": "string"
}
], - "branches": [
- {
- "name": "success",
- "label": "Success",
- "condition": "status === 200"
}, - {
- "name": "error",
- "label": "Error",
- "isDefault": true
}
]
}, - "metadata": {
- "id": "calculator",
- "name": "Calculator",
- "type": "note",
- "supportedTypes": [
- "note"
], - "description": "Perform mathematical operations on input data",
- "category": "triggers",
- "version": "1.0.0",
- "icon": "mdi:calculator",
- "color": "#3b82f6",
- "inputs": [
- {
- "id": "data",
- "name": "Input Data",
- "type": "input",
- "dataType": "mixed",
- "required": false,
- "description": "Input data for the node",
- "defaultValue": null
}
], - "outputs": [
- {
- "id": "data",
- "name": "Input Data",
- "type": "input",
- "dataType": "mixed",
- "required": false,
- "description": "Input data for the node",
- "defaultValue": null
}
], - "configSchema": {
- "type": "object",
- "properties": {
- "property1": {
- "type": "string",
- "title": "string",
- "description": "string",
- "default": null,
- "enum": [
- null
], - "multiple": true,
- "minimum": 0,
- "maximum": 0,
- "minLength": 0,
- "maxLength": 0,
- "pattern": "string",
- "format": "multiline",
- "items": { },
- "properties": {
- "property1": null,
- "property2": null
}
}, - "property2": {
- "type": "string",
- "title": "string",
- "description": "string",
- "default": null,
- "enum": [
- null
], - "multiple": true,
- "minimum": 0,
- "maximum": 0,
- "minLength": 0,
- "maxLength": 0,
- "pattern": "string",
- "format": "multiline",
- "items": { },
- "properties": {
- "property1": null,
- "property2": null
}
}
}, - "required": [
- "string"
], - "additionalProperties": false
}, - "tags": [
- "math",
- "calculation",
- "processing"
], - "extensions": {
- "ui": {
- "hideUnconnectedHandles": true,
- "style": {
- "opacity": 0.8
}
}, - "myapp:analytics": {
- "trackUsage": true,
- "customField": "value"
}
}
}, - "isProcessing": true,
- "error": "string",
- "nodeId": "string",
- "executionInfo": {
- "status": "idle",
- "executionCount": 5,
- "lastExecuted": "2019-08-24T14:15:22Z",
- "lastExecutionDuration": 1500,
- "lastError": "string",
- "isExecuting": true
}, - "extensions": {
- "ui": {
- "hideUnconnectedHandles": true,
- "style": {
- "opacity": 0.8
}
}, - "myapp:analytics": {
- "trackUsage": true,
- "customField": "value"
}
}
}
}
], - "edges": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "source": "07b8e003-7027-443f-88b0-24a5eb1cc68b",
- "target": "65a17d54-9c67-4477-8b80-d3f97e165aa5",
- "sourceHandle": "string",
- "targetHandle": "string",
- "type": "default",
- "selectable": true,
- "deletable": true,
- "data": {
- "label": "string",
- "condition": "string",
- "metadata": {
- "edgeType": "trigger",
- "sourcePortDataType": "string"
}, - "isToolConnection": true,
- "targetNodeType": "string",
- "targetCategory": "string"
}
}
], - "metadata": {
- "version": "1.0.0",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "author": "admin",
- "tags": [
- "ai",
- "production"
], - "versionId": "string",
- "updateNumber": 0
}
}, - "message": "string",
- "error": "string"
}Update an existing workflow. All fields are optional - only provided fields will be updated. The updatedAt timestamp will be automatically set to the current time.
| id required | string <uuid> Workflow UUID |
| name | string [ 1 .. 200 ] characters Workflow name |
| description | string <= 1000 characters Workflow description |
Array of objects (WorkflowNode) | |
Array of objects (WorkflowEdge) | |
object |
{- "name": "string",
- "description": "string",
- "nodes": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "calculator",
- "position": {
- "x": 100,
- "y": 200
}, - "deletable": true,
- "data": {
- "label": "Math Calculator",
- "config": {
- "model": "gpt-4o-mini",
- "temperature": 0.7,
- "maxTokens": 1000,
- "apiKey": "sk-...",
- "dynamicInputs": [
- {
- "name": "extra_data",
- "label": "Extra Data",
- "dataType": "json",
- "required": false
}
], - "dynamicOutputs": [
- {
- "name": "result",
- "label": "Result",
- "dataType": "string"
}
], - "branches": [
- {
- "name": "success",
- "label": "Success",
- "condition": "status === 200"
}, - {
- "name": "error",
- "label": "Error",
- "isDefault": true
}
]
}, - "metadata": {
- "id": "calculator",
- "name": "Calculator",
- "type": "note",
- "supportedTypes": [
- "note"
], - "description": "Perform mathematical operations on input data",
- "category": "triggers",
- "version": "1.0.0",
- "icon": "mdi:calculator",
- "color": "#3b82f6",
- "inputs": [
- {
- "id": "data",
- "name": "Input Data",
- "type": "input",
- "dataType": "mixed",
- "required": false,
- "description": "Input data for the node",
- "defaultValue": null
}
], - "outputs": [
- {
- "id": "data",
- "name": "Input Data",
- "type": "input",
- "dataType": "mixed",
- "required": false,
- "description": "Input data for the node",
- "defaultValue": null
}
], - "configSchema": {
- "type": "object",
- "properties": {
- "property1": {
- "type": "string",
- "title": "string",
- "description": "string",
- "default": null,
- "enum": [
- null
], - "multiple": true,
- "minimum": 0,
- "maximum": 0,
- "minLength": 0,
- "maxLength": 0,
- "pattern": "string",
- "format": "multiline",
- "items": { },
- "properties": {
- "property1": { },
- "property2": { }
}
}, - "property2": {
- "type": "string",
- "title": "string",
- "description": "string",
- "default": null,
- "enum": [
- null
], - "multiple": true,
- "minimum": 0,
- "maximum": 0,
- "minLength": 0,
- "maxLength": 0,
- "pattern": "string",
- "format": "multiline",
- "items": { },
- "properties": {
- "property1": { },
- "property2": { }
}
}
}, - "required": [
- "string"
], - "additionalProperties": false
}, - "tags": [
- "math",
- "calculation",
- "processing"
], - "extensions": {
- "ui": {
- "hideUnconnectedHandles": true,
- "style": {
- "opacity": 0.8
}
}, - "myapp:analytics": {
- "trackUsage": true,
- "customField": "value"
}
}
}, - "isProcessing": true,
- "error": "string",
- "nodeId": "string",
- "executionInfo": {
- "status": "idle",
- "executionCount": 5,
- "lastExecuted": "2019-08-24T14:15:22Z",
- "lastExecutionDuration": 1500,
- "lastError": "string",
- "isExecuting": true
}, - "extensions": {
- "ui": {
- "hideUnconnectedHandles": true,
- "style": {
- "opacity": 0.8
}
}, - "myapp:analytics": {
- "trackUsage": true,
- "customField": "value"
}
}
}
}
], - "edges": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "source": "07b8e003-7027-443f-88b0-24a5eb1cc68b",
- "target": "65a17d54-9c67-4477-8b80-d3f97e165aa5",
- "sourceHandle": "string",
- "targetHandle": "string",
- "type": "default",
- "selectable": true,
- "deletable": true,
- "data": {
- "label": "string",
- "condition": "string",
- "metadata": {
- "edgeType": "trigger",
- "sourcePortDataType": "string"
}, - "isToolConnection": true,
- "targetNodeType": "string",
- "targetCategory": "string"
}
}
], - "metadata": {
- "tags": [
- "string"
], - "author": "string"
}
}{- "success": true,
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "My AI Workflow",
- "description": "string",
- "nodes": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "calculator",
- "position": {
- "x": 100,
- "y": 200
}, - "deletable": true,
- "data": {
- "label": "Math Calculator",
- "config": {
- "model": "gpt-4o-mini",
- "temperature": 0.7,
- "maxTokens": 1000,
- "apiKey": "sk-...",
- "dynamicInputs": [
- {
- "name": "extra_data",
- "label": "Extra Data",
- "dataType": "json",
- "required": false
}
], - "dynamicOutputs": [
- {
- "name": "result",
- "label": "Result",
- "dataType": "string"
}
], - "branches": [
- {
- "name": "success",
- "label": "Success",
- "condition": "status === 200"
}, - {
- "name": "error",
- "label": "Error",
- "isDefault": true
}
]
}, - "metadata": {
- "id": "calculator",
- "name": "Calculator",
- "type": "note",
- "supportedTypes": [
- "note"
], - "description": "Perform mathematical operations on input data",
- "category": "triggers",
- "version": "1.0.0",
- "icon": "mdi:calculator",
- "color": "#3b82f6",
- "inputs": [
- {
- "id": "data",
- "name": "Input Data",
- "type": "input",
- "dataType": "mixed",
- "required": false,
- "description": "Input data for the node",
- "defaultValue": null
}
], - "outputs": [
- {
- "id": "data",
- "name": "Input Data",
- "type": "input",
- "dataType": "mixed",
- "required": false,
- "description": "Input data for the node",
- "defaultValue": null
}
], - "configSchema": {
- "type": "object",
- "properties": {
- "property1": {
- "type": "string",
- "title": "string",
- "description": "string",
- "default": null,
- "enum": [
- null
], - "multiple": true,
- "minimum": 0,
- "maximum": 0,
- "minLength": 0,
- "maxLength": 0,
- "pattern": "string",
- "format": "multiline",
- "items": { },
- "properties": {
- "property1": null,
- "property2": null
}
}, - "property2": {
- "type": "string",
- "title": "string",
- "description": "string",
- "default": null,
- "enum": [
- null
], - "multiple": true,
- "minimum": 0,
- "maximum": 0,
- "minLength": 0,
- "maxLength": 0,
- "pattern": "string",
- "format": "multiline",
- "items": { },
- "properties": {
- "property1": null,
- "property2": null
}
}
}, - "required": [
- "string"
], - "additionalProperties": false
}, - "tags": [
- "math",
- "calculation",
- "processing"
], - "extensions": {
- "ui": {
- "hideUnconnectedHandles": true,
- "style": {
- "opacity": 0.8
}
}, - "myapp:analytics": {
- "trackUsage": true,
- "customField": "value"
}
}
}, - "isProcessing": true,
- "error": "string",
- "nodeId": "string",
- "executionInfo": {
- "status": "idle",
- "executionCount": 5,
- "lastExecuted": "2019-08-24T14:15:22Z",
- "lastExecutionDuration": 1500,
- "lastError": "string",
- "isExecuting": true
}, - "extensions": {
- "ui": {
- "hideUnconnectedHandles": true,
- "style": {
- "opacity": 0.8
}
}, - "myapp:analytics": {
- "trackUsage": true,
- "customField": "value"
}
}
}
}
], - "edges": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "source": "07b8e003-7027-443f-88b0-24a5eb1cc68b",
- "target": "65a17d54-9c67-4477-8b80-d3f97e165aa5",
- "sourceHandle": "string",
- "targetHandle": "string",
- "type": "default",
- "selectable": true,
- "deletable": true,
- "data": {
- "label": "string",
- "condition": "string",
- "metadata": {
- "edgeType": "trigger",
- "sourcePortDataType": "string"
}, - "isToolConnection": true,
- "targetNodeType": "string",
- "targetCategory": "string"
}
}
], - "metadata": {
- "version": "1.0.0",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "author": "admin",
- "tags": [
- "ai",
- "production"
], - "versionId": "string",
- "updateNumber": 0
}
}, - "message": "string",
- "error": "string"
}Permanently delete a workflow and all associated data including execution history
| id required | string <uuid> Workflow UUID |
{- "success": true,
- "message": "Workflow deleted successfully"
}Create a new pipeline and start execution in one call. This is a convenience endpoint that combines pipeline creation with immediate execution. Returns the pipeline ID and initial status for tracking.
| id required | string <uuid> Workflow UUID |
object Input values for specific nodes | |
object |
{- "inputs": { },
- "options": {
- "timeout": 0,
- "maxSteps": 0
}
}{- "success": true,
- "data": {
- "execution_id": "02ca5b65-a269-4c45-8d4a-0c74ff3ae670",
- "status": "pending",
- "started_at": "2019-08-24T14:15:22Z",
- "estimated_completion": "2019-08-24T14:15:22Z"
}, - "message": "string",
- "error": "string"
}Retrieve execution history across all workflows. Supports filtering by workflow, status, and date range.
| workflow_id | string <uuid> Filter by workflow UUID |
| status | string Enum: "pending" "running" "completed" "failed" "cancelled" Filter by execution status |
| limit | integer [ 1 .. 100 ] Default: 50 Maximum number of results |
| offset | integer >= 0 Default: 0 Number of results to skip |
{- "success": true,
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "workflow_id": "string",
- "status": "string",
- "created": "2019-08-24T14:15:22Z",
- "updated": "2019-08-24T14:15:22Z"
}
], - "message": "string",
- "error": "string"
}Retrieve the current status and details of a specific execution. This is an alias for the pipeline detail endpoint.
| id required | string <uuid> Execution/Pipeline UUID |
{- "status": "pending",
- "jobs": [
- {
- "id": "string",
- "node_id": "string",
- "status": "idle",
- "execution_count": 0,
- "started": "2019-08-24T14:15:22Z",
- "completed": "2019-08-24T14:15:22Z",
- "execution_time": 0,
- "error_message": "string"
}
], - "node_statuses": {
- "property1": {
- "status": "idle",
- "last_executed": "2019-08-24T14:15:22Z",
- "execution_time": 0,
- "error": "string"
}, - "property2": {
- "status": "idle",
- "last_executed": "2019-08-24T14:15:22Z",
- "execution_time": 0,
- "error": "string"
}
}, - "job_status_summary": {
- "total": 0,
- "pending": 0,
- "running": 0,
- "completed": 0,
- "failed": 0,
- "cancelled": 0
}
}Cancel a running execution. Only executions in 'pending' or 'running' status can be cancelled.
| id required | string <uuid> Execution/Pipeline UUID |
{- "success": true,
- "message": "Execution cancelled successfully"
}Retrieve detailed execution logs for a specific execution
| id required | string <uuid> Execution/Pipeline UUID |
| level | string Enum: "debug" "info" "warning" "error" Filter by log level |
| node_id | string Filter by node ID |
{- "success": true,
- "data": [
- {
- "timestamp": "2019-08-24T14:15:22Z",
- "level": "debug",
- "message": "string",
- "node_id": "string",
- "context": { }
}
], - "message": "string"
}Get all pipeline executions for a specific workflow
| workflow_id required | string Workflow ID or machine name |
| status | string Enum: "pending" "running" "completed" "failed" "cancelled" Filter by pipeline status |
{- "success": true,
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "workflow_id": "string",
- "status": "string",
- "created": "2019-08-24T14:15:22Z",
- "updated": "2019-08-24T14:15:22Z"
}
], - "message": "string",
- "error": "string"
}Retrieve detailed information about a pipeline execution including:
| id required | string <uuid> Pipeline UUID |
{- "status": "running",
- "jobs": [
- {
- "id": "job-1",
- "node_id": "node-1",
- "status": "completed",
- "execution_count": 5,
- "started": "2024-01-20T10:00:00Z",
- "completed": "2024-01-20T10:00:05Z",
- "execution_time": 5000
}, - {
- "id": "job-2",
- "node_id": "node-2",
- "status": "running",
- "execution_count": 3,
- "started": "2024-01-20T10:00:05Z"
}
], - "node_statuses": {
- "node-1": {
- "status": "completed",
- "last_executed": "2024-01-20T10:00:05Z",
- "execution_time": 5000
}, - "node-2": {
- "status": "running",
- "last_executed": "2024-01-20T10:00:05Z"
}
}, - "job_status_summary": {
- "total": 5,
- "pending": 0,
- "running": 1,
- "completed": 3,
- "failed": 1,
- "cancelled": 0
}
}Retrieve only the current status of a pipeline (lightweight endpoint). Use this for polling when you only need the status, not full details.
| id required | string <uuid> Pipeline UUID |
{- "success": true,
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "pending",
- "progress": 100,
- "updated": "2019-08-24T14:15:22Z"
}, - "message": "string",
- "error": "string"
}Start execution of a pipeline
| id required | string <uuid> Pipeline UUID |
object Input values for specific nodes | |
object |
{- "inputs": { },
- "options": {
- "timeout": 0,
- "maxSteps": 0
}
}{- "success": true,
- "data": {
- "pipeline_id": "ec036e81-7903-4e4d-bbfa-ac8516341cf0",
- "status": "pending",
- "message": "string"
}, - "message": "string",
- "error": "string"
}Retrieve detailed execution logs for a pipeline
| id required | string <uuid> Pipeline UUID |
| level | string Enum: "debug" "info" "warning" "error" Filter by log level |
{- "success": true,
- "data": [
- {
- "timestamp": "2019-08-24T14:15:22Z",
- "level": "debug",
- "message": "string",
- "node_id": "string",
- "context": { }
}
]
}Retrieve all playground sessions associated with a workflow. Sessions are used to test and interact with workflows in an isolated environment.
| id required | string <uuid> Workflow UUID |
| limit | integer [ 1 .. 100 ] Default: 20 Maximum number of sessions to return |
| offset | integer >= 0 Default: 0 Number of sessions to skip |
{- "success": true,
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "workflowId": "43c4fa9b-0cbc-4b57-a121-9d7d46a3eaa4",
- "name": "Test Session 1",
- "status": "idle",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { }
}
], - "message": "string",
- "error": "string"
}Create a new playground session for testing a workflow. The session can be named for easy identification.
| id required | string <uuid> Workflow UUID |
| name | string <= 100 characters Optional session name |
object Optional metadata for the session |
{- "name": "Test Session 1",
- "metadata": { }
}{- "success": true,
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "workflowId": "43c4fa9b-0cbc-4b57-a121-9d7d46a3eaa4",
- "name": "Test Session 1",
- "status": "idle",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { }
}, - "message": "string",
- "error": "string"
}Retrieve detailed information about a specific playground session, including its current status and configuration.
| sessionId required | string <uuid> Playground session UUID |
{- "success": true,
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "workflowId": "43c4fa9b-0cbc-4b57-a121-9d7d46a3eaa4",
- "name": "Test Session 1",
- "status": "idle",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { }
}, - "message": "string",
- "error": "string"
}Permanently delete a playground session and all its messages. This action cannot be undone.
| sessionId required | string <uuid> Playground session UUID |
{- "success": true,
- "message": "Session deleted successfully"
}Retrieve messages from a playground session with optional filtering.
Supports polling via the since parameter to fetch only new messages.
| sessionId required | string <uuid> Playground session UUID |
| since | string <date-time> ISO 8601 timestamp to fetch messages after this time. Used for polling to get only new messages. |
| limit | integer [ 1 .. 500 ] Default: 100 Maximum number of messages to return |
{- "success": true,
- "data": [
- {
- "id": "be4d854d-d6b3-4242-b2ea-0008b2e059bd",
- "sessionId": "fe5304ea-f069-433f-b0bf-945975c0b806",
- "role": "user",
- "content": "Hello. How are you?",
- "timestamp": "2026-01-19T10:03:32+01:00",
- "status": "completed",
- "sequenceNumber": 1,
- "parentMessageId": null,
- "nodeId": null,
- "metadata": { }
}
], - "message": "string",
- "error": "string",
- "hasMore": true,
- "sessionStatus": "idle"
}Send a user message or trigger workflow execution with inputs. This starts or continues the conversation in the playground.
The message is created with status "pending" and processing begins immediately (synchronously) or is queued (asynchronously) based on the session's execution mode. The response returns immediately with the message entity, allowing clients to poll the message status endpoint to track processing progress.
Messages are processed in sequence order within a session to ensure proper conversation flow. If a previous message is not yet complete, the request will be rejected with a conflict error.
| sessionId required | string <uuid> Playground session UUID |
| content required | string <= 10000 characters Message content (typically user input) |
object Additional input values for workflow nodes |
{- "content": "Hello, can you help me analyze this data?"
}{- "success": true,
- "data": {
- "id": "be4d854d-d6b3-4242-b2ea-0008b2e059bd",
- "sessionId": "fe5304ea-f069-433f-b0bf-945975c0b806",
- "role": "user",
- "content": "Hello. How are you?",
- "timestamp": "2026-01-19T10:03:32+01:00",
- "status": "completed",
- "sequenceNumber": 1,
- "parentMessageId": null,
- "nodeId": null,
- "metadata": { }
}, - "message": "string",
- "error": "string"
}Retrieve a specific message from a playground session by its ID. Returns full message details including status and metadata.
| sessionId required | string <uuid> Playground session UUID |
| messageId required | string <uuid> Message UUID |
{- "success": true,
- "data": {
- "id": "be4d854d-d6b3-4242-b2ea-0008b2e059bd",
- "sessionId": "fe5304ea-f069-433f-b0bf-945975c0b806",
- "role": "user",
- "content": "Hello. How are you?",
- "timestamp": "2026-01-19T10:03:32+01:00",
- "status": "completed",
- "sequenceNumber": 1,
- "parentMessageId": null,
- "nodeId": null,
- "metadata": { }
}, - "message": "string",
- "error": "string"
}Retrieve only the status of a message (lightweight endpoint for polling). Useful for checking if message processing is complete without fetching full message data.
| sessionId required | string <uuid> Playground session UUID |
| messageId required | string <uuid> Message UUID |
{- "success": true,
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "pending",
- "sequenceNumber": 0,
- "timestamp": "2019-08-24T14:15:22Z"
}, - "message": "string",
- "error": "string"
}Stop the currently running execution in the playground session. This cancels any pending workflow operations.
| sessionId required | string <uuid> Playground session UUID |
{- "success": true,
- "message": "Execution stopped"
}Human-in-the-Loop (HITL) interrupt endpoints for workflow interactions. Interrupts allow workflows to pause execution and request user input.
Retrieve details about a specific interrupt request. Interrupts are created when a workflow execution requires human input.
| interruptId required | string <uuid> Interrupt UUID |
{- "success": true,
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "messageId": "8540d774-4863-4d2b-b788-4ecb19412e85",
- "type": "confirmation",
- "status": "pending",
- "nodeId": "string",
- "executionId": "string",
- "config": {
- "message": "Do you approve this action?",
- "confirm_label": "Approve",
- "cancel_label": "Reject"
}, - "allowCancel": true,
- "response": null,
- "response_time": "2019-08-24T14:15:22Z",
- "user_id": "string",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "message": "string",
- "error": "string"
}Submit user response to resolve a pending interrupt. The value type depends on the interrupt type:
| interruptId required | string <uuid> Interrupt UUID |
| value required | any User's response. Type depends on interrupt type:
|
{- "value": true
}{- "success": true,
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "messageId": "8540d774-4863-4d2b-b788-4ecb19412e85",
- "type": "confirmation",
- "status": "pending",
- "nodeId": "string",
- "executionId": "string",
- "config": {
- "message": "Do you approve this action?",
- "confirm_label": "Approve",
- "cancel_label": "Reject"
}, - "allowCancel": true,
- "response": null,
- "response_time": "2019-08-24T14:15:22Z",
- "user_id": "string",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "message": "string",
- "error": "string"
}Cancel a pending interrupt without providing a response. This may not be allowed for all interrupts - check the allowCancel property in the interrupt data before attempting to cancel.
| interruptId required | string <uuid> Interrupt UUID |
{- "success": true,
- "message": "Interrupt cancelled"
}List all interrupts associated with a playground session. Useful for displaying pending interrupts or reviewing interrupt history.
| sessionId required | string <uuid> Playground session UUID |
| status | string Enum: "pending" "resolved" "cancelled" Filter by interrupt status |
| limit | integer [ 1 .. 100 ] Default: 50 Maximum number of interrupts to return |
| offset | integer >= 0 Default: 0 Number of interrupts to skip |
{- "success": true,
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "messageId": "8540d774-4863-4d2b-b788-4ecb19412e85",
- "type": "confirmation",
- "status": "pending",
- "nodeId": "string",
- "executionId": "string",
- "config": {
- "message": "Do you approve this action?",
- "confirm_label": "Approve",
- "cancel_label": "Reject"
}, - "allowCancel": true,
- "response": null,
- "response_time": "2019-08-24T14:15:22Z",
- "user_id": "string",
- "createdAt": "2019-08-24T14:15:22Z"
}
], - "message": "string",
- "error": "string"
}List all interrupts associated with a pipeline execution. Useful for monitoring workflow progress and pending user actions.
| pipelineId required | string <uuid> Pipeline UUID |
| status | string Enum: "pending" "resolved" "cancelled" Filter by interrupt status |
| limit | integer [ 1 .. 100 ] Default: 50 Maximum number of interrupts to return |
| offset | integer >= 0 Default: 0 Number of interrupts to skip |
{- "success": true,
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "messageId": "8540d774-4863-4d2b-b788-4ecb19412e85",
- "type": "confirmation",
- "status": "pending",
- "nodeId": "string",
- "executionId": "string",
- "config": {
- "message": "Do you approve this action?",
- "confirm_label": "Approve",
- "cancel_label": "Reject"
}, - "allowCancel": true,
- "response": null,
- "response_time": "2019-08-24T14:15:22Z",
- "user_id": "string",
- "createdAt": "2019-08-24T14:15:22Z"
}
], - "message": "string",
- "error": "string"
}Validate a workflow structure without saving it. Checks for:
| id required | string <uuid> Workflow UUID |
| name required | string <= 200 characters Workflow name |
| description | string <= 1000 characters Workflow description |
required | Array of objects (WorkflowNode) Workflow nodes |
required | Array of objects (WorkflowEdge) Workflow edges |
required | object (WorkflowMetadata) |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "My AI Workflow",
- "description": "string",
- "nodes": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "calculator",
- "position": {
- "x": 100,
- "y": 200
}, - "deletable": true,
- "data": {
- "label": "Math Calculator",
- "config": {
- "model": "gpt-4o-mini",
- "temperature": 0.7,
- "maxTokens": 1000,
- "apiKey": "sk-...",
- "dynamicInputs": [
- {
- "name": "extra_data",
- "label": "Extra Data",
- "dataType": "json",
- "required": false
}
], - "dynamicOutputs": [
- {
- "name": "result",
- "label": "Result",
- "dataType": "string"
}
], - "branches": [
- {
- "name": "success",
- "label": "Success",
- "condition": "status === 200"
}, - {
- "name": "error",
- "label": "Error",
- "isDefault": true
}
]
}, - "metadata": {
- "id": "calculator",
- "name": "Calculator",
- "type": "note",
- "supportedTypes": [
- "note"
], - "description": "Perform mathematical operations on input data",
- "category": "triggers",
- "version": "1.0.0",
- "icon": "mdi:calculator",
- "color": "#3b82f6",
- "inputs": [
- {
- "id": "data",
- "name": "Input Data",
- "type": "input",
- "dataType": "mixed",
- "required": false,
- "description": "Input data for the node",
- "defaultValue": null
}
], - "outputs": [
- {
- "id": "data",
- "name": "Input Data",
- "type": "input",
- "dataType": "mixed",
- "required": false,
- "description": "Input data for the node",
- "defaultValue": null
}
], - "configSchema": {
- "type": "object",
- "properties": {
- "property1": {
- "type": "string",
- "title": "string",
- "description": "string",
- "default": null,
- "enum": [
- null
], - "multiple": true,
- "minimum": 0,
- "maximum": 0,
- "minLength": 0,
- "maxLength": 0,
- "pattern": "string",
- "format": "multiline",
- "items": { },
- "properties": {
- "property1": { },
- "property2": { }
}
}, - "property2": {
- "type": "string",
- "title": "string",
- "description": "string",
- "default": null,
- "enum": [
- null
], - "multiple": true,
- "minimum": 0,
- "maximum": 0,
- "minLength": 0,
- "maxLength": 0,
- "pattern": "string",
- "format": "multiline",
- "items": { },
- "properties": {
- "property1": { },
- "property2": { }
}
}
}, - "required": [
- "string"
], - "additionalProperties": false
}, - "tags": [
- "math",
- "calculation",
- "processing"
], - "extensions": {
- "ui": {
- "hideUnconnectedHandles": true,
- "style": {
- "opacity": 0.8
}
}, - "myapp:analytics": {
- "trackUsage": true,
- "customField": "value"
}
}
}, - "isProcessing": true,
- "error": "string",
- "nodeId": "string",
- "executionInfo": {
- "status": "idle",
- "executionCount": 5,
- "lastExecuted": "2019-08-24T14:15:22Z",
- "lastExecutionDuration": 1500,
- "lastError": "string",
- "isExecuting": true
}, - "extensions": {
- "ui": {
- "hideUnconnectedHandles": true,
- "style": {
- "opacity": 0.8
}
}, - "myapp:analytics": {
- "trackUsage": true,
- "customField": "value"
}
}
}
}
], - "edges": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "source": "07b8e003-7027-443f-88b0-24a5eb1cc68b",
- "target": "65a17d54-9c67-4477-8b80-d3f97e165aa5",
- "sourceHandle": "string",
- "targetHandle": "string",
- "type": "default",
- "selectable": true,
- "deletable": true,
- "data": {
- "label": "string",
- "condition": "string",
- "metadata": {
- "edgeType": "trigger",
- "sourcePortDataType": "string"
}, - "isToolConnection": true,
- "targetNodeType": "string",
- "targetCategory": "string"
}
}
], - "metadata": {
- "version": "1.0.0",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "author": "admin",
- "tags": [
- "ai",
- "production"
], - "versionId": "string",
- "updateNumber": 0
}
}{- "success": true,
- "data": {
- "valid": true,
- "errors": [
- "string"
], - "warnings": [
- "string"
], - "suggestions": [
- "string"
]
}, - "message": "string",
- "error": "string"
}Export a workflow as JSON or YAML format
| id required | string <uuid> Workflow UUID |
| format | string Default: "json" Enum: "json" "yaml" Export format |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "My AI Workflow",
- "description": "string",
- "nodes": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "calculator",
- "position": {
- "x": 100,
- "y": 200
}, - "deletable": true,
- "data": {
- "label": "Math Calculator",
- "config": {
- "model": "gpt-4o-mini",
- "temperature": 0.7,
- "maxTokens": 1000,
- "apiKey": "sk-...",
- "dynamicInputs": [
- {
- "name": "extra_data",
- "label": "Extra Data",
- "dataType": "json",
- "required": false
}
], - "dynamicOutputs": [
- {
- "name": "result",
- "label": "Result",
- "dataType": "string"
}
], - "branches": [
- {
- "name": "success",
- "label": "Success",
- "condition": "status === 200"
}, - {
- "name": "error",
- "label": "Error",
- "isDefault": true
}
]
}, - "metadata": {
- "id": "calculator",
- "name": "Calculator",
- "type": "note",
- "supportedTypes": [
- "note"
], - "description": "Perform mathematical operations on input data",
- "category": "triggers",
- "version": "1.0.0",
- "icon": "mdi:calculator",
- "color": "#3b82f6",
- "inputs": [
- {
- "id": "data",
- "name": "Input Data",
- "type": "input",
- "dataType": "mixed",
- "required": false,
- "description": "Input data for the node",
- "defaultValue": null
}
], - "outputs": [
- {
- "id": "data",
- "name": "Input Data",
- "type": "input",
- "dataType": "mixed",
- "required": false,
- "description": "Input data for the node",
- "defaultValue": null
}
], - "configSchema": {
- "type": "object",
- "properties": {
- "property1": {
- "type": "string",
- "title": "string",
- "description": "string",
- "default": null,
- "enum": [
- null
], - "multiple": true,
- "minimum": 0,
- "maximum": 0,
- "minLength": 0,
- "maxLength": 0,
- "pattern": "string",
- "format": "multiline",
- "items": { },
- "properties": {
- "property1": { },
- "property2": { }
}
}, - "property2": {
- "type": "string",
- "title": "string",
- "description": "string",
- "default": null,
- "enum": [
- null
], - "multiple": true,
- "minimum": 0,
- "maximum": 0,
- "minLength": 0,
- "maxLength": 0,
- "pattern": "string",
- "format": "multiline",
- "items": { },
- "properties": {
- "property1": { },
- "property2": { }
}
}
}, - "required": [
- "string"
], - "additionalProperties": false
}, - "tags": [
- "math",
- "calculation",
- "processing"
], - "extensions": {
- "ui": {
- "hideUnconnectedHandles": true,
- "style": {
- "opacity": 0.8
}
}, - "myapp:analytics": {
- "trackUsage": true,
- "customField": "value"
}
}
}, - "isProcessing": true,
- "error": "string",
- "nodeId": "string",
- "executionInfo": {
- "status": "idle",
- "executionCount": 5,
- "lastExecuted": "2019-08-24T14:15:22Z",
- "lastExecutionDuration": 1500,
- "lastError": "string",
- "isExecuting": true
}, - "extensions": {
- "ui": {
- "hideUnconnectedHandles": true,
- "style": {
- "opacity": 0.8
}
}, - "myapp:analytics": {
- "trackUsage": true,
- "customField": "value"
}
}
}
}
], - "edges": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "source": "07b8e003-7027-443f-88b0-24a5eb1cc68b",
- "target": "65a17d54-9c67-4477-8b80-d3f97e165aa5",
- "sourceHandle": "string",
- "targetHandle": "string",
- "type": "default",
- "selectable": true,
- "deletable": true,
- "data": {
- "label": "string",
- "condition": "string",
- "metadata": {
- "edgeType": "trigger",
- "sourcePortDataType": "string"
}, - "isToolConnection": true,
- "targetNodeType": "string",
- "targetCategory": "string"
}
}
], - "metadata": {
- "version": "1.0.0",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "author": "admin",
- "tags": [
- "ai",
- "production"
], - "versionId": "string",
- "updateNumber": 0
}
}Import a workflow from JSON format. A new UUID will be assigned to the imported workflow.
| id required | string <uuid> Workflow UUID |
| name required | string <= 200 characters Workflow name |
| description | string <= 1000 characters Workflow description |
required | Array of objects (WorkflowNode) Workflow nodes |
required | Array of objects (WorkflowEdge) Workflow edges |
required | object (WorkflowMetadata) |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "My AI Workflow",
- "description": "string",
- "nodes": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "calculator",
- "position": {
- "x": 100,
- "y": 200
}, - "deletable": true,
- "data": {
- "label": "Math Calculator",
- "config": {
- "model": "gpt-4o-mini",
- "temperature": 0.7,
- "maxTokens": 1000,
- "apiKey": "sk-...",
- "dynamicInputs": [
- {
- "name": "extra_data",
- "label": "Extra Data",
- "dataType": "json",
- "required": false
}
], - "dynamicOutputs": [
- {
- "name": "result",
- "label": "Result",
- "dataType": "string"
}
], - "branches": [
- {
- "name": "success",
- "label": "Success",
- "condition": "status === 200"
}, - {
- "name": "error",
- "label": "Error",
- "isDefault": true
}
]
}, - "metadata": {
- "id": "calculator",
- "name": "Calculator",
- "type": "note",
- "supportedTypes": [
- "note"
], - "description": "Perform mathematical operations on input data",
- "category": "triggers",
- "version": "1.0.0",
- "icon": "mdi:calculator",
- "color": "#3b82f6",
- "inputs": [
- {
- "id": "data",
- "name": "Input Data",
- "type": "input",
- "dataType": "mixed",
- "required": false,
- "description": "Input data for the node",
- "defaultValue": null
}
], - "outputs": [
- {
- "id": "data",
- "name": "Input Data",
- "type": "input",
- "dataType": "mixed",
- "required": false,
- "description": "Input data for the node",
- "defaultValue": null
}
], - "configSchema": {
- "type": "object",
- "properties": {
- "property1": {
- "type": "string",
- "title": "string",
- "description": "string",
- "default": null,
- "enum": [
- null
], - "multiple": true,
- "minimum": 0,
- "maximum": 0,
- "minLength": 0,
- "maxLength": 0,
- "pattern": "string",
- "format": "multiline",
- "items": { },
- "properties": {
- "property1": { },
- "property2": { }
}
}, - "property2": {
- "type": "string",
- "title": "string",
- "description": "string",
- "default": null,
- "enum": [
- null
], - "multiple": true,
- "minimum": 0,
- "maximum": 0,
- "minLength": 0,
- "maxLength": 0,
- "pattern": "string",
- "format": "multiline",
- "items": { },
- "properties": {
- "property1": { },
- "property2": { }
}
}
}, - "required": [
- "string"
], - "additionalProperties": false
}, - "tags": [
- "math",
- "calculation",
- "processing"
], - "extensions": {
- "ui": {
- "hideUnconnectedHandles": true,
- "style": {
- "opacity": 0.8
}
}, - "myapp:analytics": {
- "trackUsage": true,
- "customField": "value"
}
}
}, - "isProcessing": true,
- "error": "string",
- "nodeId": "string",
- "executionInfo": {
- "status": "idle",
- "executionCount": 5,
- "lastExecuted": "2019-08-24T14:15:22Z",
- "lastExecutionDuration": 1500,
- "lastError": "string",
- "isExecuting": true
}, - "extensions": {
- "ui": {
- "hideUnconnectedHandles": true,
- "style": {
- "opacity": 0.8
}
}, - "myapp:analytics": {
- "trackUsage": true,
- "customField": "value"
}
}
}
}
], - "edges": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "source": "07b8e003-7027-443f-88b0-24a5eb1cc68b",
- "target": "65a17d54-9c67-4477-8b80-d3f97e165aa5",
- "sourceHandle": "string",
- "targetHandle": "string",
- "type": "default",
- "selectable": true,
- "deletable": true,
- "data": {
- "label": "string",
- "condition": "string",
- "metadata": {
- "edgeType": "trigger",
- "sourcePortDataType": "string"
}, - "isToolConnection": true,
- "targetNodeType": "string",
- "targetCategory": "string"
}
}
], - "metadata": {
- "version": "1.0.0",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "author": "admin",
- "tags": [
- "ai",
- "production"
], - "versionId": "string",
- "updateNumber": 0
}
}{- "success": true,
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "My AI Workflow",
- "description": "string",
- "nodes": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "calculator",
- "position": {
- "x": 100,
- "y": 200
}, - "deletable": true,
- "data": {
- "label": "Math Calculator",
- "config": {
- "model": "gpt-4o-mini",
- "temperature": 0.7,
- "maxTokens": 1000,
- "apiKey": "sk-...",
- "dynamicInputs": [
- {
- "name": "extra_data",
- "label": "Extra Data",
- "dataType": "json",
- "required": false
}
], - "dynamicOutputs": [
- {
- "name": "result",
- "label": "Result",
- "dataType": "string"
}
], - "branches": [
- {
- "name": "success",
- "label": "Success",
- "condition": "status === 200"
}, - {
- "name": "error",
- "label": "Error",
- "isDefault": true
}
]
}, - "metadata": {
- "id": "calculator",
- "name": "Calculator",
- "type": "note",
- "supportedTypes": [
- "note"
], - "description": "Perform mathematical operations on input data",
- "category": "triggers",
- "version": "1.0.0",
- "icon": "mdi:calculator",
- "color": "#3b82f6",
- "inputs": [
- {
- "id": "data",
- "name": "Input Data",
- "type": "input",
- "dataType": "mixed",
- "required": false,
- "description": "Input data for the node",
- "defaultValue": null
}
], - "outputs": [
- {
- "id": "data",
- "name": "Input Data",
- "type": "input",
- "dataType": "mixed",
- "required": false,
- "description": "Input data for the node",
- "defaultValue": null
}
], - "configSchema": {
- "type": "object",
- "properties": {
- "property1": {
- "type": "string",
- "title": "string",
- "description": "string",
- "default": null,
- "enum": [
- null
], - "multiple": true,
- "minimum": 0,
- "maximum": 0,
- "minLength": 0,
- "maxLength": 0,
- "pattern": "string",
- "format": "multiline",
- "items": { },
- "properties": {
- "property1": null,
- "property2": null
}
}, - "property2": {
- "type": "string",
- "title": "string",
- "description": "string",
- "default": null,
- "enum": [
- null
], - "multiple": true,
- "minimum": 0,
- "maximum": 0,
- "minLength": 0,
- "maxLength": 0,
- "pattern": "string",
- "format": "multiline",
- "items": { },
- "properties": {
- "property1": null,
- "property2": null
}
}
}, - "required": [
- "string"
], - "additionalProperties": false
}, - "tags": [
- "math",
- "calculation",
- "processing"
], - "extensions": {
- "ui": {
- "hideUnconnectedHandles": true,
- "style": {
- "opacity": 0.8
}
}, - "myapp:analytics": {
- "trackUsage": true,
- "customField": "value"
}
}
}, - "isProcessing": true,
- "error": "string",
- "nodeId": "string",
- "executionInfo": {
- "status": "idle",
- "executionCount": 5,
- "lastExecuted": "2019-08-24T14:15:22Z",
- "lastExecutionDuration": 1500,
- "lastError": "string",
- "isExecuting": true
}, - "extensions": {
- "ui": {
- "hideUnconnectedHandles": true,
- "style": {
- "opacity": 0.8
}
}, - "myapp:analytics": {
- "trackUsage": true,
- "customField": "value"
}
}
}
}
], - "edges": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "source": "07b8e003-7027-443f-88b0-24a5eb1cc68b",
- "target": "65a17d54-9c67-4477-8b80-d3f97e165aa5",
- "sourceHandle": "string",
- "targetHandle": "string",
- "type": "default",
- "selectable": true,
- "deletable": true,
- "data": {
- "label": "string",
- "condition": "string",
- "metadata": {
- "edgeType": "trigger",
- "sourcePortDataType": "string"
}, - "isToolConnection": true,
- "targetNodeType": "string",
- "targetCategory": "string"
}
}
], - "metadata": {
- "version": "1.0.0",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "author": "admin",
- "tags": [
- "ai",
- "production"
], - "versionId": "string",
- "updateNumber": 0
}
}, - "message": "string",
- "error": "string"
}