Graph model
GET /api/v1/workflows/:id returns the full graph. PUT /api/v1/workflows/:id replaces the entire graph. Default handles are source-1 → target-1. Condition false branch uses source-false. Reference upstream values with {{variableName}}. Built-in helpers such as {{now}} are documented under Templates.
Do not send credentialId — it is stripped on write. On read, credential ids and secrets are never returned; nodes may include data.credentialConfigured so agents know a dashboard credential is attached. Users attach credentials in the UI after the graph is written.
{
"nodes": [
{
"id": "t1",
"type": "MANUAL_TRIGGER",
"position": { "x": 0, "y": 0 },
"data": {}
},
{
"id": "h1",
"type": "HTTP_REQUEST",
"position": { "x": 280, "y": 0 },
"data": {
"variableName": "users",
"endpoint": "https://api.example.com/users",
"method": "GET",
"authType": "NONE"
}
}
],
"edges": [
{
"id": "e1",
"source": "t1",
"target": "h1",
"sourceHandle": "source-1",
"targetHandle": "target-1"
}
]
}