Skip to main content
PUT
Update workflow (creates new version if definition changed)
Changing the definition mints a NEW version rather than editing the old one, so a run that is already going keeps executing the definition it started with, and version= still fetches what ran.

Authorizations

Authorization
string
header
required

API key in format: Bearer inf_***

Path Parameters

id
string
required

Workflow UUID.

Example:

"b0e9f2a4-2b1a-4c7d-9a3e-1f5c8d2e4b60"

Body

application/json
name
string

New name. Omit to leave it unchanged — this is a partial update, not a replacement.

Maximum string length: 120
description
string

New description. Omit to leave it unchanged.

Maximum string length: 2000
definition
object

The workflow document: its steps, their bindings, and the inputs it declares. Validated by parsePipelineDef at this boundary, so a malformed definition is a 400 here and is never stored. The step union is defined in Zod (schemas/pipeline-definition.schema.ts) rather than as a class, which is why this is published as a free-form object rather than a modelled schema — read that file for the authoritative shape.

Supplying it creates a NEW VERSION rather than editing the current one — earlier versions stay readable by version.

Response

Updated. version is the new latest.

id
string
required

Workflow UUID. Unchanged by an update.

Example:

"b0e9f2a4-2b1a-4c7d-9a3e-1f5c8d2e4b60"

version
number
required

The version this write left as latest. Always 1 from POST. From PUT it is the previous latest + 1 when the request carried a definition, and the UNCHANGED previous latest when it did not.

Example:

2

name
string
required

The workflow name after the write.

Example:

"Weekly report"