FlowDrop Docs
API referenceWorkflows

Update workflow

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.

PUT
/workflows/{id}

Authorization

AuthorizationBearer <token>

JWT token for authentication

In: header

Path Parameters

id*string

Workflow UUID

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X PUT "https://example.com/workflows/497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{}'
{  "success": true,  "message": "string",  "error": "string",  "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": {            "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",            "type": "note",            "supportedTypes": [              "note"            ],            "description": "Perform mathematical operations on input data",            "category": "processing",            "version": "1.0.0",            "icon": "mdi:calculator",            "color": "#3b82f6",            "badge": "API",            "portDataType": "trigger",            "inputs": [              {                "id": "json",                "name": "JSON Response",                "type": "input",                "dataType": "mixed",                "required": false,                "description": "Parsed JSON response from the HTTP request",                "defaultValue": null,                "exposedByDefault": true,                "displayOrder": 0,                "schema": {                  "type": "object",                  "properties": {                    "user": {                      "type": "object",                      "title": "User",                      "description": "User information",                      "properties": {                        "id": {                          "type": "integer",                          "description": "User ID"                        },                        "name": {                          "type": "string",                          "description": "User full name"                        },                        "email": {                          "type": "string",                          "description": "User email address"                        },                        "address": {                          "type": "object",                          "title": "Address",                          "properties": {                            "street": {                              "type": "string"                            },                            "city": {                              "type": "string"                            },                            "country": {                              "type": "string"                            }                          }                        }                      }                    },                    "orders": {                      "type": "array",                      "title": "Orders",                      "description": "List of user orders",                      "items": {                        "type": "object",                        "properties": {                          "order_id": {                            "type": "string"                          },                          "product_name": {                            "type": "string"                          },                          "quantity": {                            "type": "integer"                          },                          "price": {                            "type": "number"                          }                        }                      }                    }                  }                }              }            ],            "outputs": [              {                "id": "json",                "name": "JSON Response",                "type": "input",                "dataType": "mixed",                "required": false,                "description": "Parsed JSON response from the HTTP request",                "defaultValue": null,                "exposedByDefault": true,                "displayOrder": 0,                "schema": {                  "type": "object",                  "properties": {                    "user": {                      "type": "object",                      "title": "User",                      "description": "User information",                      "properties": {                        "id": {                          "type": "integer",                          "description": "User ID"                        },                        "name": {                          "type": "string",                          "description": "User full name"                        },                        "email": {                          "type": "string",                          "description": "User email address"                        },                        "address": {                          "type": "object",                          "title": "Address",                          "properties": {                            "street": {                              "type": "string"                            },                            "city": {                              "type": "string"                            },                            "country": {                              "type": "string"                            }                          }                        }                      }                    },                    "orders": {                      "type": "array",                      "title": "Orders",                      "description": "List of user orders",                      "items": {                        "type": "object",                        "properties": {                          "order_id": {                            "type": "string"                          },                          "product_name": {                            "type": "string"                          },                          "quantity": {                            "type": "integer"                          },                          "price": {                            "type": "number"                          }                        }                      }                    }                  }                }              }            ],            "configSchema": {              "type": "object",              "properties": {                "property1": {                  "type": "string",                  "title": "string",                  "description": "string",                  "default": null,                  "enum": [                    null                  ],                  "oneOf": [                    {                      "const": "string",                      "title": "string",                      "description": "string"                    }                  ],                  "multiple": true,                  "minimum": 0,                  "maximum": 0,                  "step": 0,                  "minLength": 0,                  "maxLength": 0,                  "pattern": "string",                  "placeholder": "string",                  "format": "multiline",                  "variables": {                    "ports": [                      "data"                    ],                    "showHints": true,                    "includePortName": false                  },                  "x-display-order": -2,                  "items": {},                  "minItems": 0,                  "maxItems": 0,                  "properties": {                    "property1": {},                    "property2": {}                  },                  "autocomplete": {                    "url": "/api/users/search",                    "queryParam": "q",                    "minChars": 0,                    "debounceMs": 300,                    "fetchOnFocus": false,                    "labelField": "label",                    "valueField": "value",                    "allowFreeText": false,                    "multiple": false,                    "params": {                      "property1": "string",                      "property2": "string"                    }                  },                  "readOnly": true,                  "height": "300px",                  "darkTheme": true,                  "autoFormat": true,                  "showToolbar": true,                  "showStatusBar": true,                  "spellChecker": false,                  "placeholderExample": "Hello {{ name }}, your order #{{ order_id }} is ready!"                },                "property2": {                  "type": "string",                  "title": "string",                  "description": "string",                  "default": null,                  "enum": [                    null                  ],                  "oneOf": [                    {                      "const": "string",                      "title": "string",                      "description": "string"                    }                  ],                  "multiple": true,                  "minimum": 0,                  "maximum": 0,                  "step": 0,                  "minLength": 0,                  "maxLength": 0,                  "pattern": "string",                  "placeholder": "string",                  "format": "multiline",                  "variables": {                    "ports": [                      "data"                    ],                    "showHints": true,                    "includePortName": false                  },                  "x-display-order": -2,                  "items": {},                  "minItems": 0,                  "maxItems": 0,                  "properties": {                    "property1": {},                    "property2": {}                  },                  "autocomplete": {                    "url": "/api/users/search",                    "queryParam": "q",                    "minChars": 0,                    "debounceMs": 300,                    "fetchOnFocus": false,                    "labelField": "label",                    "valueField": "value",                    "allowFreeText": false,                    "multiple": false,                    "params": {                      "property1": "string",                      "property2": "string"                    }                  },                  "readOnly": true,                  "height": "300px",                  "darkTheme": true,                  "autoFormat": true,                  "showToolbar": true,                  "showStatusBar": true,                  "spellChecker": false,                  "placeholderExample": "Hello {{ name }}, your order #{{ order_id }} is ready!"                }              },              "required": [                "string"              ],              "additionalProperties": false            },            "tags": [              "math",              "calculation",              "processing"            ],            "formats": [              "agentspec"            ],            "extensions": {              "ui": {                "style": {                  "opacity": 0.8                }              },              "agentspec:component_type": "llm_node",              "myapp:analytics": {                "trackUsage": true,                "customField": "value"              }            }          },          "isProcessing": true,          "error": "string",          "executionInfo": {            "status": "idle",            "executionCount": 5,            "lastExecuted": "2019-08-24T14:15:22Z",            "lastExecutionDuration": 1500,            "lastError": "string",            "isExecuting": true          },          "extensions": {            "ui": {              "style": {                "opacity": 0.8              }            },            "agentspec:component_type": "llm_node",            "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": {      "schemaVersion": "1.0.0",      "createdAt": "2019-08-24T14:15:22Z",      "updatedAt": "2019-08-24T14:15:22Z",      "author": "admin",      "tags": [        "ai",        "production"      ],      "versionId": "string",      "updateNumber": 0,      "format": "flowdrop"    },    "config": {},    "interface": {      "inputs": [        {          "id": "customerName",          "name": "string",          "description": "string",          "dataType": "mixed",          "required": true,          "defaultValue": null,          "examples": [            null          ],          "schema": {            "type": "object",            "properties": {              "user": {                "type": "object",                "title": "User",                "description": "User information",                "properties": {                  "id": {                    "type": "integer",                    "description": "User ID"                  },                  "name": {                    "type": "string",                    "description": "User full name"                  },                  "email": {                    "type": "string",                    "description": "User email address"                  },                  "address": {                    "type": "object",                    "title": "Address",                    "properties": {                      "street": {                        "type": "string"                      },                      "city": {                        "type": "string"                      },                      "country": {                        "type": "string"                      }                    }                  }                }              },              "orders": {                "type": "array",                "title": "Orders",                "description": "List of user orders",                "items": {                  "type": "object",                  "properties": {                    "order_id": {                      "type": "string"                    },                    "product_name": {                      "type": "string"                    },                    "quantity": {                      "type": "integer"                    },                    "price": {                      "type": "number"                    }                  }                }              }            }          },          "bindings": [            {              "nodeId": "959356e3-6168-4a92-b4a5-b9d462be6177",              "portId": "string"            }          ],          "meta": {}        }      ],      "outputs": [        {          "id": "customerName",          "name": "string",          "description": "string",          "dataType": "mixed",          "required": true,          "defaultValue": null,          "examples": [            null          ],          "schema": {            "type": "object",            "properties": {              "user": {                "type": "object",                "title": "User",                "description": "User information",                "properties": {                  "id": {                    "type": "integer",                    "description": "User ID"                  },                  "name": {                    "type": "string",                    "description": "User full name"                  },                  "email": {                    "type": "string",                    "description": "User email address"                  },                  "address": {                    "type": "object",                    "title": "Address",                    "properties": {                      "street": {                        "type": "string"                      },                      "city": {                        "type": "string"                      },                      "country": {                        "type": "string"                      }                    }                  }                }              },              "orders": {                "type": "array",                "title": "Orders",                "description": "List of user orders",                "items": {                  "type": "object",                  "properties": {                    "order_id": {                      "type": "string"                    },                    "product_name": {                      "type": "string"                    },                    "quantity": {                      "type": "integer"                    },                    "price": {                      "type": "number"                    }                  }                }              }            }          },          "bindings": [            {              "nodeId": "959356e3-6168-4a92-b4a5-b9d462be6177",              "portId": "string"            }          ],          "meta": {}        }      ]    }  }}