Update a Workflow
Use this endpoint to update an existing workflow definition. Only workflows with draft status can be updated. allowedCallers lists who may run the workflow; only a person writes it (an application gets 403 FLK-0365). An absent allowedCallers keeps the list and an empty list clears it. Only a person writes a protected provider configuration, or a workflow that uses a protected or deleted one: an application gets 403 FLK-0365. Create and update accept only protected provider configurations on it (422 FLK-0367), and activation needs a non-empty allowedCallers list (422 FLK-0366). Every edge that leaves a node runs; of a conditional, every edge on the one output it chooses. A node that two parallel branches of one run reach answers 422 FLK-0187. Branches from different outputs of a conditional may rejoin. A wait node pauses the execution for data.durationSeconds, for example {"id": "wait-1", "type": "wait", "data": {"durationSeconds": 120}}. While paused, the execution status is waiting. When it resumes, later nodes read the output {deadline, firedAt} under the node ID, for example wait-1.firedAt. Rules checked at save, each answering 422: durationSeconds is an integer from 1 to 43200 (FLK-0183); no wait below a fan-out (FLK-0184); waits along one path add up to at most 43200 seconds (FLK-0185); a workflow with a wait has no loop (FLK-0186).
Autorizaciones
JWT bearer token issued by the identity provider. Send it in the Authorization header as Bearer <token>.
Parámetros de ruta
Unique identifier of the workflow.
Cuerpo
Request body containing the updated workflow definition.
Updated workflow name.
1 - 100"Payment Notification Flow v2"
Updated description of the workflow.
500"Updated flow that sets the payment output."
Updated connections between nodes.
200Updated custom metadata.
Updated list of workflow nodes.
100Who may run the workflow: applications by client ID and people by user ID. An empty list lets any caller that the route authorizes run it. Only a person writes this list. A caller outside the list gets 403 FLK-0519 when requesting a new execution, and no execution is created. A schedule or Streaming Hub trigger carries no caller, so it never runs a workflow that has a list. An absent field keeps the list, and an empty list clears it.
Respuesta
Indicates that the request was successful and the response contains the requested data.
Timestamp when the workflow was created.
"2026-03-17T14:30:00Z"
Human-readable description of the workflow.
"Receives a webhook trigger and sets the payment output."
Connections between nodes that define the execution flow.
Unique identifier of the workflow.
"a1b2c3d4-e5f6-7890-abcd-ef1234567890"
Custom key-value pairs for tagging or categorizing.
Unique name of the workflow.
"Payment Notification Flow"
The steps that make up this workflow.
Current lifecycle status: draft (editable), active (executable), or inactive (archived).
draft, active, inactive "active"
Timestamp of the last update.
"2026-03-17T15:00:00Z"
Who may run the workflow: applications by client ID and people by user ID. An empty list lets any caller that the route authorizes run it. Only a person writes this list. A caller outside the list gets 403 FLK-0519 when requesting a new execution, and no execution is created. A schedule or Streaming Hub trigger carries no caller, so it never runs a workflow that has a list.

