Create a new flow
Create a new flow in draft status.
Creates a flow definition that can be executed via the flow executions API. New flows are assigned version 1 and status 'draft', allowing iterative development before marking as 'published' for production use.
Flow Lifecycle
- Draft: Newly created flows start here. Editable and testable.
- Published: Ready for production. Can be executed by end users.
DSL Validation
The flow definition is validated against the DSL schema during creation.
If validation fails, a 400 error is returned with detailed error messages
in the details array.
Common Validation Errors
- Missing required fields (tasks, edges)
- Invalid task executor names
- Circular dependencies in task graph
- Invalid parameter types for task executors
Header Parameters
Query Parameters
Include topologically sorted list of task names in execution order. Useful for visualizing task dependencies. Adds ~50ms latency for complex flows with 20+ tasks.
Include DSL validation errors if the flow definition is malformed. Essential for debugging invalid flows during development. No performance impact as validation runs regardless.
Include runtime configuration options for each task (e.g., dropdown values, available resources). Requires authentication to external services. May add 100-500ms latency depending on integration APIs.
Include JSON Schema definitions for each task's output structure. Required for building dynamic UIs or validating task connections. Adds ~10-50ms latency for schema generation.
Body Parameters
Flow definition in DSL format. Must include tasks array, edges array, and version. See Flow DSL documentation for schema details.
Human-readable name for the flow. Displayed in UI and logs.
Response
Response Attributes
Complete flow definition in DSL format. May be enriched with additional fields when using expansion parameters (include_dynamic_data, include_output_schemas). Enriched fields are added to each task within definition.tasks[].
Human-readable flow name
Total number of times this flow has been executed across all versions
Whether this is the latest version of the flow
Organization that owns this flow
Flow lifecycle status. Values: 'draft' (editable), 'published' (ready for production use)
Show child attributes
Show child attributes
Flow version number. Increments on each update.
Response Attributes
Standard error detail structure.
This model matches the error format returned by the centralized exception handlers in app/api/errors/handlers.py.
Show child attributes
Response Attributes
Standard error detail structure.
This model matches the error format returned by the centralized exception handlers in app/api/errors/handlers.py.
Show child attributes
Response Attributes
Standard error detail structure.
This model matches the error format returned by the centralized exception handlers in app/api/errors/handlers.py.
Show child attributes
Response Attributes
Show child attributes
Response Attributes
Standard error detail structure.
This model matches the error format returned by the centralized exception handlers in app/api/errors/handlers.py.