Update a workflow
PATCH
/v1/workflows/{id}Secret key — sk_… or sk_test_… · Base URL https://api.volanea.com
Also used to activate or pause via status.
Path parameters
idstringrequiredWorkflow id.
Body
Required · application/json
namestringtriggerstringgraphobjectThe automation graph: nodes (with canvas positions) plus directed edges.
nodesobject[]requiredidstringrequiredtypeenumrequiredtriggersend_emaildelaywait_eventconditionupdate_contactwebhookexitlabelstringrequiredconfigobjectxnumberrequiredynumberrequired
edgesobject[]requiredfromstringrequiredtostringrequiredlabelstring
reentryenumneverafter_exitalwaysstatusenumdraftactivepaused
Response
200 · Workflow
workflowIdstringrequiredprojectIdstringnamestringrequiredstatusenumrequireddraftactivepausedtriggerstringrequired`event:<name>`, `contact.created`, `segment:enter:<ref>`, or `segment:exit:<ref>`.
graphobject | nullreentryenumrequiredneverafter_exitalwaysenteredintegercompletedintegeractiveintegercreatedAtdate-timerequired
Errors
Every failure returns the standard envelope — branch on `code`, never on the wording of `error`.
401Missing or invalid API key.404Not found.422Request validation failed (code `validation_error`, 422).
Request
curl https://api.volanea.com/v1/workflows/id_123 \
-X PATCH \
-H "Authorization: Bearer sk_..." \
-H "Content-Type: application/json" \
-d '{
"name": "Welcome",
"trigger": "<trigger>",
"graph": {
"nodes": [
{
"id": "<id>",
"type": "trigger",
"label": "<label>",
"config": {},
"x": 1,
"y": 1
}
],
"edges": [
{
"from": "hello@yourdomain.com",
"to": "ada@example.com",
"label": "<label>"
}
]
}
}'Response
200 · application/json
{
"success": true,
"data": {
"workflowId": "wf_7d31",
"projectId": "<projectId>",
"name": "Welcome",
"status": "draft",
"trigger": "<trigger>",
"graph": {
"nodes": [
{
"id": null,
"type": null,
"label": null,
"config": null,
"x": null,
"y": null
}
],
"edges": [
{
"from": null,
"to": null,
"label": null
}
]
},
"reentry": "never",
"entered": 1,
"completed": 1,
"active": 1,
"createdAt": "2026-01-01T09:00:00.000Z"
}
}92 endpoints · OpenAPI document