FlowDrop Docs
API referenceValidation

Validate workflow

Validate a workflow structure without saving it. Checks for: - Valid node connections and port compatibility - Required configuration fields - Circular dependencies - Orphaned nodes - Missing required inputs

POST
/workflows/validate

Authorization

AuthorizationBearer <token>

JWT token for authentication

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/workflows/validate" \  -H "Content-Type: application/json" \  -d '{    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "name": "My AI Workflow",    "nodes": [      {        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",        "type": "calculator",        "position": {          "x": 100,          "y": 200        },        "data": {          "label": "Math Calculator",          "config": {            "instanceTitle": "Email Summarizer",            "instanceDescription": "Summarizes incoming emails into 3 bullet points",            "instanceBadge": "LLM",            "nodeType": "simple",            "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": {            "node_type_id": "calculator",            "name": "Calculator",            "description": "Perform mathematical operations on input data",            "category": "processing",            "version": "1.0.0",            "inputs": [              {                "id": "json",                "name": "JSON Response",                "type": "input",                "dataType": "mixed"              }            ],            "outputs": [              {                "id": "json",                "name": "JSON Response",                "type": "input",                "dataType": "mixed"              }            ]          }        }      }    ],    "edges": [      {        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",        "source": "07b8e003-7027-443f-88b0-24a5eb1cc68b",        "target": "65a17d54-9c67-4477-8b80-d3f97e165aa5"      }    ],    "metadata": {      "schemaVersion": "1.0.0",      "createdAt": "2019-08-24T14:15:22Z",      "updatedAt": "2019-08-24T14:15:22Z"    }  }'
{  "success": true,  "message": "string",  "error": "string",  "data": {    "valid": true,    "errors": [      "string"    ],    "warnings": [      "string"    ],    "suggestions": [      "string"    ]  }}