Skip to main content

Workflow Definitions

Endpoints for managing workflow definitions.
MethodEndpointDescription
POST/api/v1/workflowsCreate a new workflow
GET/api/v1/workflowsList all workflows
GET/api/v1/workflows/:idGet workflow by ID
PUT/api/v1/workflows/:idUpdate workflow (creates new version)
DELETE/api/v1/workflows/:idDisable workflow
POST/api/v1/workflows/validateValidate definition without saving
GET/api/v1/workflows/:id/versionsList all versions
GET/api/v1/workflows/:id/versions/:vGet specific version

Create Workflow

Request Body
{
  "workflowId": "incident-rca",
  "name": "Incident Root Cause Analysis",
  "description": "Parallel investigation with synthesis",
  "definition": {
    "id": "incident-rca",
    "start": "investigate",
    "states": [...]
  }
}

Workflow Runs

Endpoints for executing workflows and tracking their progress.
MethodEndpointDescription
POST/api/v1/workflow-runsStart a new run
GET/api/v1/workflow-runsList runs (filter by workflow_id, status)
GET/api/v1/workflow-runs/:idGet run status and output
GET/api/v1/workflow-runs/:id/streamSSE stream of run updates
GET/api/v1/workflow-runs/:id/stepsList completed steps
POST/api/v1/workflow-runs/:id/pausePause execution
POST/api/v1/workflow-runs/:id/resumeResume paused run
POST/api/v1/workflow-runs/:id/cancelCancel run

Start Run

Request Body
{
  "workflowId": "incident-rca",
  "input": {
    "service_name": "payment-service",
    "namespace": "production"
  }
}

Streaming Updates (SSE)

The /api/v1/workflow-runs/:id/stream endpoint provides a server-sent events (SSE) stream of run updates. Events:
  • run_started: Emitted when the run begins
  • step_started: Emitted when a step begins execution
  • step_completed: Emitted when a step finishes
  • run_completed: Emitted when the entire workflow finishes
  • run_failed: Emitted if an error occurs

Human Approvals

Endpoints for managing human_approval steps in workflows.
MethodEndpointDescription
GET/api/v1/workflow-approvalsList pending approvals
GET/api/v1/workflow-approvals/:idGet approval details
POST/api/v1/workflow-approvals/:id/approveApprove with optional comment
POST/api/v1/workflow-approvals/:id/rejectReject with reason

Approve Request

Request Body
{
  "comment": "Reviewed and approved for production rollout"
}
Set X-Approver-ID header to identify the approver. Defaults to api-user if not provided.