Skip to main content

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/actionflows

Try it

Live requests run from your browser. Open the API Explorer to try every operation from one screen.

get/api/actionflows

List 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

ParameterTypeRequiredDescription
organizationIdstringNoFilter 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

FieldTypeDescription
idstringUnique flow identifier
namestringFlow name
slugstring | nullURL-friendly flow identifier
organizationIdstringOrganization ID that owns the flow
createdAtstring (ISO 8601)Flow creation timestamp
updatedAtstring (ISO 8601) | nullLast 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 organizationId you don't have access to, you'll receive a 403 error

On this page