Docs

Create, publish, and run workflow graphs over the same API key. LLM nodes bill usage.

Workflows

GET    /v1/workflows
POST   /v1/workflows
GET    /v1/workflows/:id
PATCH  /v1/workflows/:id
DELETE /v1/workflows/:id
POST   /v1/workflows/:id/run
GET    /v1/workflows/:id/runs
GET    /v1/workflows/:id/runs/:runId
POST   /v1/workflows/:id/publish
GET    /v1/workflows/:id/versions
POST   /v1/workflows/:id/trigger

graph is { nodes, edges }. Draft edits stay on graph. POST /publish snapshots published_graph and increments published_version. Live /run and /trigger use the published snapshot when one exists.

Dashboard inbound hooks (webhook / inbound / agent event / record) are POST /api/public/workflows/:id/hook with x-workflow-secret.

Node types the dashboard runner executes:

TypeBehavior
input / outputPass the current text through
llm / chat / generateChat completion on data.model
tool / web_searchLive search, code, files, images, embeddings
conditionSafe string check + True/False branch
transform / set_variable{{input}} / {{vars.x}} / {{steps.id.text}}
waitDelay or pause until due
loopMap items through a template
assignQueue / assignee on the run
httpHTTPS integration (public hosts only)
subflowRun another published workflow
human_reviewPause for approve/reject, optional SLA
bash
curl http://localhost:3001/v1/workflows/$ID/run \ -H "Authorization: Bearer $OPENDOOR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"query":"Summarize OpenDoor billing"}'