List/View Data Flows
Listing and viewing data flows in Nexla allows you to understand your data processing architecture, monitor flow status, and manage data pipelines. The system provides comprehensive APIs for viewing flow information, status, and configuration details.
List All Data Flows
The primary endpoint for listing data flows is the modern /flows
endpoint, which provides comprehensive information about all flows accessible to your account.
API Endpoint
To retrieve all accessible data flows:
GET /flows
- Nexla API
GET /flows
Response Structure
The response includes comprehensive flow information including configuration, status, and metadata.
- Nexla API
[
{
"id": 2001,
"flow_node_id": "flow_2001",
"origin_node_id": "source_1001",
"flow_type": "streaming",
"status": "ACTIVE",
"owner": {
"id": 42,
"full_name": "John Smith"
},
"org": {
"id": 101,
"name": "Acme Corporation"
},
"access_roles": ["owner"],
"data_source": {
"id": 1001,
"name": "Customer Data Source",
"source_type": "s3"
},
"data_set": {
"id": 3001,
"name": "Customer Analytics Dataset"
},
"data_sink": {
"id": 4001,
"name": "Data Warehouse Sink",
"sink_type": "snowflake"
},
"created_at": "2023-01-15T10:30:00.000Z",
"updated_at": "2023-01-15T15:45:00.000Z"
},
{
"id": 2002,
"flow_node_id": "flow_2002",
"origin_node_id": "source_1002",
"flow_type": "in_memory",
"status": "PAUSED",
"owner": {
"id": 42,
"full_name": "John Smith"
},
"org": {
"id": 101,
"name": "Acme Corporation"
},
"access_roles": ["owner"],
"data_source": {
"id": 1002,
"name": "Sales Data Source",
"source_type": "postgres"
},
"data_set": {
"id": 3002,
"name": "Sales Analytics Dataset"
},
"data_sink": {
"id": 4002,
"name": "Reporting Database Sink",
"sink_type": "mysql"
},
"created_at": "2023-01-14T14:20:00.000Z",
"updated_at": "2023-01-15T12:15:00.000Z"
}
]
Show Flow by ID
To retrieve a specific data flow by its identifier, use the flow ID endpoint.
Flow by ID Endpoint
GET /flows/{flow_id}
- Nexla API
GET /flows/2001
Flow by ID Response
The response provides detailed information about the specific flow, including all configuration and status details.
- Nexla API
{
"id": 2001,
"flow_node_id": "flow_2001",
"origin_node_id": "source_1001",
"flow_type": "streaming",
"status": "ACTIVE",
"owner": {
"id": 42,
"full_name": "John Smith"
},
"org": {
"id": 101,
"name": "Acme Corporation"
},
"access_roles": ["owner"],
"data_source": {
"id": 1001,
"name": "Customer Data Source",
"source_type": "s3",
"status": "ACTIVE"
},
"data_set": {
"id": 3001,
"name": "Customer Analytics Dataset",
"description": "Processed customer data for analytics"
},
"data_sink": {
"id": 4001,
"name": "Data Warehouse Sink",
"sink_type": "snowflake",
"status": "ACTIVE"
},
"flow_config": {
"batch_size": 1000,
"processing_interval": "5m",
"retry_policy": "exponential_backoff"
},
"created_at": "2023-01-15T10:30:00.000Z",
"updated_at": "2023-01-15T15:45:00.000Z"
}
Show Flow by Data Source, Set or Sink
You can also retrieve flow information by querying related resources like data sources, data sets, or data sinks.
Flow by Data Source
To find flows associated with a specific data source:
GET /data_sources/{source_id}/flow
- Nexla API
GET /data_sources/1001/flow
Flow by Data Set
To find flows associated with a specific data set:
GET /data_sets/{dataset_id}/flow
- Nexla API
GET /data_sets/3001/flow
Flow by Data Sink
To find flows associated with a specific data sink:
GET /data_sinks/{sink_id}/flow
- Nexla API
GET /data_sinks/4001/flow
Pause Flow
To pause a running data flow, use the pause endpoint.
Pause Endpoint
PUT /flows/{flow_id}/pause
- Nexla API
PUT /flows/2001/pause
Pause Response
A successful pause operation returns the updated flow status.
- Nexla API
{
"id": 2001,
"status": "PAUSED",
"paused_at": "2023-01-15T16:00:00.000Z",
"updated_at": "2023-01-15T16:00:00.000Z"
}
Flow Types
Nexla supports multiple data flow types, each optimized for specific data processing scenarios and use cases. Understanding these flow types helps you choose the right approach for your data integration needs.
Flow Accessors
Flow accessors determine who can view and manage specific flows.
Owner Access
Flow owners have full control over their flows:
- Full Management: Create, update, delete, and control flows
- Access Control: Grant access to team members and other users
- Configuration: Modify flow settings and parameters
Team Access
Team members can access flows based on team permissions:
- Shared Access: Access to team-shared flows
- Limited Control: View and monitor flows (depending on permissions)
- Collaboration: Work with team members on flow management
Organization Access
Organization-wide access controls apply to all flows:
- Boundary Enforcement: Flows are isolated by organization
- Admin Oversight: Organization administrators can monitor all flows
- Resource Management: Organization-level resource allocation
Projects
Flows can be organized into projects for better management and organization.
Project Organization
Projects group related flows together:
- Logical Grouping: Organize flows by purpose or function
- Access Control: Manage permissions at the project level
- Resource Management: Allocate resources across project flows
Project Management
Manage projects through dedicated endpoints:
GET /projects
POST /projects
PUT /projects/{project_id}
DELETE /projects/{project_id}
Pagination and Filtering
The flows endpoint supports pagination and filtering for large numbers of flows.
Pagination
Use query parameters to paginate results:
GET /flows?page=1&per_page=100
Filtering
Filter flows by various criteria:
GET /flows?status=ACTIVE
GET /flows?flow_type=streaming
GET /flows?owner_id=42
Search
Search flows by name or description:
GET /flows?search=customer
Best Practices
To effectively list and view data flows:
- Use Pagination: Implement pagination for large flow collections
- Filter by Status: Focus on active or paused flows as needed
- Monitor Changes: Track flow status changes over time
- Organize by Projects: Use projects to group related flows
- Regular Review: Periodically review flow configurations and access
Error Handling
Common flow listing issues and solutions:
- Permission Denied: Ensure you have appropriate access rights
- Invalid Flow ID: Verify the flow ID exists and is accessible
- Organization Issues: Check organization membership and access
- Resource Not Found: Confirm the requested flow exists
Related Operations
After viewing flows, you may need to:
Control Flow Status
PUT /flows/{flow_id}/activate
PUT /flows/{flow_id}/pause
Update Flow Configuration
PUT /flows/{flow_id}
Monitor Flow Performance
GET /flows/{flow_id}/metrics
GET /flows/{flow_id}/logs
Manage Flow Access
GET /flows/{flow_id}/access
PUT /flows/{flow_id}/access