GET /v1/workflows
Get all workflows

Query Parameters

limit integer optional query
Number of items (default 20, max 100)
offset integer optional query
Offset for pagination (default 0)
q string optional query
Search in name + description (ILIKE, max 256 chars)
status string optional query
Filter by status (active|paused|draft|archived)
type string optional query
Filter by trigger type
actions string[] optional query
Filter by node types (any-match, max 50). Repeat or comma-join.
connectors string[] optional query
Filter by connector types (any-match, max 50). Repeat or comma-join.
sort string optional query
Sort: updatedAt:desc (default) | name:asc | createdAt:desc | runs:desc
owner string optional query
Owner scope: yours | org | public
madeByMe boolean optional query
Restrict to workflows created_by the caller

Responses

200 OK
application/json
code integer
data object
hasMore boolean
items object[]
Array of:
chainIds integer[]
Array of:
connectors object[]
Array of:
type string
cooldownMs integer
createdAt string
createdBy string
definitionSummary object
nodes object
description string
hasDraft boolean
hasLiveVersion boolean
id string
inputCount integer
Count of definition.inputSchema entries — powers the "N inputs" badge in WorkflowSelector without a detail fetch.
lastTriggeredAt string
linkedWorkflowIds string[]
IDs referenced by any trigger-workflow node — lets useLinkedWorkflows build the incoming/outgoing link graph from the slim list.
Array of:
maxRuns integer
name string
nodeCount integer
organizationId string
ownerUserId string
publicWidgetEnabled boolean
remainRuns integer
status string
Enum: draft, active, paused, archived
triggerName string
triggerType string
Pre-extracted fields (avoid FE parsing full definition).
type string
Enum: token-price-cexes, evm-log, cronjob, schedule, manual, telegram-channel, polymarket-user-bet, polymarket-market-trade, polymarket-new-market, polymarket-market-close, slack-mentions, erc20-receive, erc20-send, anyspend, shopify-order-created, shopify-order-paid, shopify-inventory-level-updated, ramp-new-transaction, ramp-transaction-status-updated, ramp-transfer-payment-updated, slack-new-reaction-added, slack-new-message-in-channels, slack-new-channel-created, slack-new-direct-message, slack-new-keyword-mention, slack-new-user-added, slack-new-user-mention, slack-new-interaction-event, telegram-new-interaction-event, email-new-email-received, email-new-email-matching-criteria, gmail-new-email-received, gmail-new-email-matching-search, stripe-payment-receive, eth-receive, eth-send, farcaster-new-cast, farcaster-new-follower, farcaster-new-reaction, x-new-tweet, exchange-listing, coinbase-payment-received, coinbase-checkout-received, solana-transaction, hyperliquid-price-alert, hyperliquid-trade, hyperliquid-user-fill, hyperliquid-liquidation, hyperliquid-position-change, options-flow-alerts, market-news
updatedAt string
version integer
visibility string
Enum: private, org, public_view, public_execute
limit integer
offset integer
message string
requestId string
curl -X GET 'https://api.example.com/v1/workflows' \  -H 'Authorization: Bearer YOUR_API_TOKEN'
const response = await fetch('https://api.example.com/v1/workflows', {  method: 'GET',  headers: {      "Authorization": "Bearer YOUR_API_TOKEN"  }});const data = await response.json();console.log(data);
import requestsheaders = {    'Authorization': 'Bearer YOUR_API_TOKEN'}response = requests.get('https://api.example.com/v1/workflows', headers=headers)print(response.json())
package mainimport (	"fmt"	"io"	"net/http")func main() {	req, _ := http.NewRequest("GET", "https://api.example.com/v1/workflows", nil)	req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN")	resp, _ := http.DefaultClient.Do(req)	defer resp.Body.Close()	result, _ := io.ReadAll(resp.Body)	fmt.Println(string(result))}
200 Response
{  "code": 200,  "data": {    "hasMore": true,    "items": [      {        "chainIds": [          123        ],        "connectors": [          {            "type": {}          }        ],        "cooldownMs": 123,        "createdAt": "<string>",        "createdBy": "<string>",        "definitionSummary": {          "nodes": "<object>"        },        "description": "<string>",        "hasDraft": true,        "hasLiveVersion": true,        "id": "<string>",        "inputCount": 123,        "lastTriggeredAt": "<string>",        "linkedWorkflowIds": [          "<string>"        ],        "maxRuns": 123,        "name": "<string>",        "nodeCount": 123,        "organizationId": "<string>",        "ownerUserId": "<string>",        "publicWidgetEnabled": true,        "remainRuns": 123,        "status": "draft",        "triggerName": "<string>",        "triggerType": "<string>",        "type": "token-price-cexes",        "updatedAt": "<string>",        "version": 123,        "visibility": "private"      }    ],    "limit": 123,    "offset": 123  },  "message": "success",  "requestId": "abc-123"}