Skip to main content
Build a Flow using the graph structure. The API workflow id is a UUID; node IDs are stable strings within the graph.

Save a graph

Choose an actual entry returned by the catalog and place it on a step. This example creates a one-step saved draft:
The response is a Listing: the saved Flow plus owner, creator display fields, publication state and nullable terms. Keep its returned modified value.

Update or publish

Send If-Match: <saved.modified> on later writes. Saving uses POST /api/workflows; publication uses /api/workflows/{id}/publish, and deletion uses DELETE /api/workflows/{id}. When a write returns 409, reload the current record and apply the intended edits to that version. Graph validation also checks unique nodes/routes, valid endpoints, matching resource kinds and acyclic connections.

Current Canvas versus saved drafts

GET, PUT and DELETE /api/draft manage the current work in progress. /api/workflows manages saved drafts and published workflows. To test a supplied unsaved graph, send it as flow to /api/draft/run with the run input and payment headers. You can also POST { prompt, flow, history } to /api/vibe and apply its graph patches before saving. See Vibe’s agent for the builder’s tools and event order.