Create a workflow
POST /v1/workflows
sub_pipeline step.Authorizations
API key in format: Bearer inf_***
Body
Human-readable name, unique to no one — two workflows in a workspace may share it. Identity is the returned id.
120"Product shot → upscaled social set"
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.
Free text shown beside the workflow in the dashboard. Not interpreted, not passed to any step.
2000Response
Created. Version is always 1.
Workflow UUID. Unchanged by an update.
"b0e9f2a4-2b1a-4c7d-9a3e-1f5c8d2e4b60"
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.
2
The workflow name after the write.
"Weekly report"