List Flows
List ActionFlow metadata for your organization via the REST API (no graphs). Includes response fields and examples.
List Flows
Retrieve ActionFlow metadata for your organization(s). Responses do not include flow graphs (nodes / edges). You can optionally filter by a specific organization.
Endpoint
GET /api/actionflowsTry it
Live requests run from your browser. Open the API Explorer to try every operation from one screen.
get
/api/actionflowsList flows
Requests go to the live API from your browser. The docs server never sees this key.
curl -X GET 'https://api.actionflows.ai/api/actionflows' \ -H 'Authorization: Bearer YOUR_API_KEY' \ -H 'Accept: application/json'
Response
Send a request to see the response.
Authentication
Required. See API Reference for authentication details.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
organizationId | string | No | Filter flows by a specific organization ID. If not provided, returns flows from all organizations the user has access to. |
Response
Success Response (200 OK)
{
"success": true,
"data": [
{
"id": "flow_123",
"name": "Customer Support Flow",
"slug": "customer-support-flow",
"organizationId": "org_123",
"createdAt": "2024-01-01T00:00:00.000Z",
"updatedAt": "2024-01-01T00:00:00.000Z"
},
{
"id": "flow_456",
"name": "Lead Qualification Flow",
"slug": "lead-qualification-flow",
"organizationId": "org_123",
"createdAt": "2024-01-02T00:00:00.000Z",
"updatedAt": "2024-01-02T00:00:00.000Z"
}
]
}The list endpoint returns a lightweight projection of each flow. To trigger a flow you only need its id and organizationId.
Error Responses
401 Unauthorized
{
"success": false,
"error": "Unauthorized",
"message": "Authentication required"
}403 Forbidden
{
"success": false,
"error": "Unauthorized",
"message": "Organization access denied"
}This occurs when you try to access an organization you don't have permission to view.
Example Requests
Get All Flows
curl -X GET https://api.actionflows.ai/api/actionflows \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"Get Flows for Specific Organization
curl -X GET "https://api.actionflows.ai/api/actionflows?organizationId=org_123" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"JavaScript
// Get all flows
const response = await fetch('https://api.actionflows.ai/api/actionflows', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
});
const data = await response.json();
if (data.success) {
console.log('Flows:', data.data);
// Filter by organization
const orgFlows = data.data.filter(flow => flow.organizationId === 'org_123');
} else {
console.error('Error:', data.error);
}
// Get flows for specific organization
const orgResponse = await fetch('https://api.actionflows.ai/api/actionflows?organizationId=org_123', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
});
const orgData = await orgResponse.json();Python
import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
}
# Get all flows
response = requests.get('https://api.actionflows.ai/api/actionflows', headers=headers)
data = response.json()
if data['success']:
flows = data['data']
print(f"Found {len(flows)} flows")
# Get flows for specific organization
org_response = requests.get(
'https://api.actionflows.ai/api/actionflows',
headers=headers,
params={'organizationId': 'org_123'}
)
org_data = org_response.json()
else:
print(f"Error: {data['error']}")Response Fields
| Field | Type | Description |
|---|---|---|
id | string | Unique flow identifier |
name | string | Flow name |
slug | string | null | URL-friendly flow identifier |
organizationId | string | Organization ID that owns the flow |
createdAt | string (ISO 8601) | Flow creation timestamp |
updatedAt | string (ISO 8601) | null | Last update timestamp |
Notes
- Flows are returned in descending order by creation date (newest first)
- Only non-deleted flows are returned
- If you don't specify
organizationId, you'll get flows from all organizations you're a member of - If you specify an
organizationIdyou don't have access to, you'll receive a 403 error