GET /v1/workflows/counts
Get workflow counts grouped by status (filter-aware).

Query Parameters

q string optional query
Search in name + description (ILIKE, max 256 chars)
type string optional query
Filter by trigger type
actions string[] optional query
Filter by node types (any-match, max 50)
connectors string[] optional query
Filter by connector types (any-match, max 50)
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
active integer
archived integer
availableConnectors string[]
Array of:
availableTypes string[]
Array of:
draft integer
paused integer
total integer
message string
requestId string
curl -X GET 'https://api.example.com/v1/workflows/counts' \  -H 'Authorization: Bearer YOUR_API_TOKEN'
const response = await fetch('https://api.example.com/v1/workflows/counts', {  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/counts', headers=headers)print(response.json())
package mainimport (	"fmt"	"io"	"net/http")func main() {	req, _ := http.NewRequest("GET", "https://api.example.com/v1/workflows/counts", 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": 0,  "data": {    "active": 123,    "archived": 123,    "availableConnectors": [      "<string>"    ],    "availableTypes": [      "<string>"    ],    "draft": 123,    "paused": 123,    "total": 123  },  "message": "success",  "requestId": "abc-123"}
Ask a question... ⌘I