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

  • idstringrequired

    Workflow id.

Body

Required · application/json

  • namestring
  • triggerstring
  • graphobject

    The automation graph: nodes (with canvas positions) plus directed edges.

    • nodesobject[]required
      • idstringrequired
      • typeenumrequired
        triggersend_emaildelaywait_eventconditionupdate_contactwebhookexit
      • labelstringrequired
      • configobject
      • xnumberrequired
      • ynumberrequired
    • edgesobject[]required
      • fromstringrequired
      • tostringrequired
      • labelstring
  • reentryenum
    neverafter_exitalways
  • statusenum
    draftactivepaused

Response

200 · Workflow

  • workflowIdstringrequired
  • projectIdstring
  • namestringrequired
  • statusenumrequired
    draftactivepaused
  • triggerstringrequired

    `event:<name>`, `contact.created`, `segment:enter:<ref>`, or `segment:exit:<ref>`.

  • graphobject | null
  • reentryenumrequired
    neverafter_exitalways
  • enteredinteger
  • completedinteger
  • activeinteger
  • createdAtdate-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