Skip to main content
PATCH
Update a workflow
Send only what you want to change. steps replaces the whole list. Everything is checked like Create a workflow. The state before the change is saved as a version you can restore in the app. The owner, or a workspace owner, admin, or member (a viewer gets 403). Needs workflows:write. MCP tool: update_workflow.

Authorizations

Authorization
string
header
required

API key with the vd_sk_ prefix, as Authorization: Bearer vd_sk_.... Create keys in Settings → API Keys.

Headers

Idempotency-Key
string

Any unique string (such as your order id). Resending the same request with the same key within 24 hours returns the first answer (with Idempotent-Replayed: true) and does nothing twice; the same key with a different request is a 422 idempotency_key_reused.

Required string length: 1 - 255

Path Parameters

slug
string
required

Body

application/json

Only what is sent changes. Each save keeps the previous state as a version.

name
string | null
Required string length: 1 - 500
description
string | null
Maximum string length: 10000
inputs
Inputs · object[] | null

The inputs a run takes (the API trigger): [{name, type, required, default, description, example}]; type is string, number, integer, boolean, array or object.

steps
Steps · object[] | null

The steps, in the same JSON the app saves: [{id, name, type, config, on_error, retries}]. type is one of the executor's step types (skill, workflow, http, code, transform, agent, ...). A skill step names the skill in config.skill; a workflow step in config.target_workflow_id. Steps read inputs as {{inputs.}}.

connections
Connections · object[] | null

Edges between steps: [{from_step, to_step}]. Leave empty for a straight line (steps run in order).

Response

The workflow after the change.

A workflow as an API: what it takes and returns, its track record and endpoints.

id
string
required
slug
string
required
name
string
required
api_endpoint
string
required
runs_endpoint
string
required
run_status_endpoint
string
required
mcp_tool
string
required
description
string | null
status
string | null
input_schema
Input Schema · object[]
input_json_schema
Input Json Schema · object
output
string
default:""
output_json_schema
Output Json Schema · object
run_json_schema
Run Json Schema · object
trigger
Trigger · object
reliability
Reliability · object
steps
Steps · object[] | null

The graph's steps (on create, change and GET with include_graph=true).

connections
Connections · object[] | null
version
integer | null

How many saved versions came before this one.