Run a workflow with the provided input documents.
This endpoint creates a workflow run and starts execution in the background:
Note: Only published workflows can be run. Use POST //publish to publish first.
Args: workflow_id: The ID of the workflow to run request: The run request containing input documents for each start node
Returns: WorkflowRun with status “running” - check the run details endpoint for updates
Request to run a workflow with input documents.
Documents are provided as a dict mapping start node IDs to document inputs.
Example: { "documents": { "start-node-1": { "filename": "invoice.pdf", "mime_type": "application/pdf", "content": "base64_encoded_content..." }, "start-node-2": { "filename": "receipt.pdf", "mime_type": "application/pdf", "content": "base64_encoded_content..." } } }
Mapping of start node IDs to their input documents
Successful Response
A stored workflow run record.
Lightweight document storing:
ID of the workflow that was run
Name of the workflow at time of execution
Organization that owns this run
Reference to config snapshot (workflow_config_snapshots or workflow_snapshots collection)
Unique ID for this run
Optional dataset this run belongs to (for manual runs)
Overall status
pending, queued, running, completed, error, waiting_for_human, cancelled When the workflow completed
Total duration in milliseconds
Summary status of each step
Start node ID -> input document reference
Final outputs from end nodes
Error message if workflow failed
Node IDs that are waiting for human review
Serialized node outputs to resume from