curl --request GET \
--url https://flows.super.ai/api/flows \
--header 'Authorization: Bearer <token>'import requests
url = "https://flows.super.ai/api/flows"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://flows.super.ai/api/flows', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://flows.super.ai/api/flows",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://flows.super.ai/api/flows"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://flows.super.ai/api/flows")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://flows.super.ai/api/flows")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"flows": [
{
"created_at": "2023-11-07T05:31:56Z",
"definition": {},
"display_name": "<string>",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"is_latest": true,
"modified_by": "<string>",
"organization_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"revision": "<string>",
"status": "<string>",
"updated_at": "2023-11-07T05:31:56Z",
"version": 2,
"awaiting_hitl_executions_count": 123,
"awaiting_input_executions_count": 123,
"deleted": false,
"description": "<string>",
"error_executions_count": 123,
"flow_executions_count": 0,
"is_hidden": false,
"last_execution_activity_at": "2023-11-07T05:31:56Z",
"latest_version_executions_count": 123,
"settings": {
"appearance": {
"color": "<string>",
"icon": "<string>",
"text": "<string>"
},
"on_task_error": "continue",
"reexecute_on_update": false,
"review_view_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"ttl": {}
},
"tags": [
"<string>"
],
"task_names": [
"<string>"
],
"validation_errors": [
{
"input": "<unknown>",
"loc": [
123
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"url": "<string>"
}
]
}
],
"page": 123,
"page_size": 123,
"total": 123
}List all flows
List all flows accessible to the authenticated user.
Returns flows within the user’s organization with pagination, sorting, and search support. Each flow includes its latest version by default.
Pagination
Results are paginated with a default page size of 20. Use page and page_size parameters
to navigate through results.
Sorting
Sort by created_at, updated_at, display_name, flow_executions_count (number of runs),
last_execution_activity_at (last run activity; flows that never ran sort last in either
direction), error_executions_count (failed, cancelled or cancelling runs, and runs with a
failed task), awaiting_hitl_executions_count (runs awaiting a Human In The Loop task) or
awaiting_input_executions_count (runs awaiting other input, such as webhook data) in
asc or desc direction.
Default: created_at descending (newest first).
Tag filters
tag_filters groups are ANDed together. Within a group, contains_any matches flows carrying
at least one of the values, contains_all flows carrying every value, and not_contains_any
flows carrying none of them. Tag matching is case-insensitive.
Search
Use search parameter for case-insensitive search on flow display names.
Expansion Parameters
Use query parameters to include additional computed fields. See FlowResponse model documentation for details on available expansion parameters and their performance impact.
curl --request GET \
--url https://flows.super.ai/api/flows \
--header 'Authorization: Bearer <token>'import requests
url = "https://flows.super.ai/api/flows"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://flows.super.ai/api/flows', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://flows.super.ai/api/flows",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://flows.super.ai/api/flows"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://flows.super.ai/api/flows")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://flows.super.ai/api/flows")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"flows": [
{
"created_at": "2023-11-07T05:31:56Z",
"definition": {},
"display_name": "<string>",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"is_latest": true,
"modified_by": "<string>",
"organization_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"revision": "<string>",
"status": "<string>",
"updated_at": "2023-11-07T05:31:56Z",
"version": 2,
"awaiting_hitl_executions_count": 123,
"awaiting_input_executions_count": 123,
"deleted": false,
"description": "<string>",
"error_executions_count": 123,
"flow_executions_count": 0,
"is_hidden": false,
"last_execution_activity_at": "2023-11-07T05:31:56Z",
"latest_version_executions_count": 123,
"settings": {
"appearance": {
"color": "<string>",
"icon": "<string>",
"text": "<string>"
},
"on_task_error": "continue",
"reexecute_on_update": false,
"review_view_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"ttl": {}
},
"tags": [
"<string>"
],
"task_names": [
"<string>"
],
"validation_errors": [
{
"input": "<unknown>",
"loc": [
123
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"url": "<string>"
}
]
}
],
"page": 123,
"page_size": 123,
"total": 123
}Authorizations
JWT Bearer token authentication. Include your access token in the Authorization header as: Bearer YOUR_ACCESS_TOKEN
Example:
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Query Parameters
Search flows by display name (case-insensitive)
Field to sort by
^(created_at|updated_at|display_name|flow_executions_count|last_execution_activity_at|error_executions_count|awaiting_hitl_executions_count|awaiting_input_executions_count)$Sort direction
^(asc|desc)$Page number
1 <= x <= 10000Number of items per page
1 <= x <= 100JSON-encoded list of tag filter groups. Each group has 'mode' and 'values'.
When true, returns only flows eligible for cleanup (0 tasks, older than 30 days)
Filter flows by creator user ID.
Restrict results to a single organization (backoffice cross-org views).
When true, each flow includes latest_version_executions_count — runs on the most recent version that has any runs (the dataset calibration samples). Off by default to keep the default list query cheap.
When true, each flow includes error_executions_count. Off by default: the count probes every run for a failed task.
When true, the caller's favorite flows come first, most recently marked first.
Flows an organization admin hid from the Hub: 'visible' leaves them out, 'hidden' lists only them.
visible, hidden, all 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.
Include each task's default reference modes (single/collection) as the task-level 'default_reference_modes' property. Lets the UI show the resolved default instead of an ambiguous 'Default' option. Cheap to compute.