Retrieve a flow by ID
Retrieve a specific flow by ID.
Returns the latest version of a flow with its complete definition, metadata, and optional computed fields. This endpoint is typically used when displaying flow details or preparing to execute a flow.
Behavior
- Always returns the latest version unless a specific version is requested via
/flows/{flow_id}/versions/{version} - Use expansion parameters to include computed fields (see FlowResponse model docs)
Use Cases
- Display flow details in your application UI
- Retrieve flow definition before execution
- Check flow validation status and errors
Authorizations
API key authentication. Include your API key in the X-API-Key header as: X-API-Key YOUR_API_KEY
Example:
JWT Bearer token authentication. Include your access token in the Authorization header as: Bearer YOUR_ACCESS_TOKEN
Example:
Path 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.
Include JSON Schema definitions for input task executors' input structure. Calls get_input_model() to generate dynamic input schemas for form building.
Response
Flow successfully retrieved
Response model for a flow object.
Represents a complete flow definition with metadata, execution statistics, and optional computed fields. Use query parameters to include additional fields that require extra processing.
Expansion Parameters
Control which computed fields are included using these query parameters:
include_ordered_task_names: Addstask_namesfield with topological sortinclude_validation_errors: Addsvalidation_errorsfield if flow is invalidinclude_dynamic_data: Enriches each task indefinitionwith runtime config optionsinclude_output_schemas: Enriches each task indefinitionwith JSON schema
Performance Considerations
Each expansion parameter adds processing overhead. Only request fields you need:
- Base response: ~50-100ms
+ include_ordered_task_names: +50ms for 20+ tasks+ include_dynamic_data: +100-500ms (calls external APIs)+ include_output_schemas: +10-50ms+ include_validation_errors: No overhead (always validated)
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
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)
Flow version number. Increments on each update.
x >= 1Detailed flow description
Total number of times this flow has been executed across all versions
Flow-level configuration settings
Topologically sorted list of task names in execution order. Only included when include_ordered_task_names=true. Useful for visualizing task dependencies and execution flow.
DSL validation errors if the flow definition is malformed. Only included when include_validation_errors=true. Empty list indicates a valid flow. Each error contains location and message details.