# List Streamline automations Retrieve every automation visible to an organization, including execution metadata and upload method details. #### Headers **`Authorization`** string required `Bearer ${FREDDY_SESSION_TOKEN}` session token for the logged-in user. #### Query Parameters **`organization_id`** string required Return automations owned by this organization. **`include_inactive`** boolean optional ยท Defaults to `false` Set to `true` to include automations that were disabled or soft-deleted. ## Returns An object containing an `automations` array. Every automation exposes identifiers, display name, `upload_method`, last execution timestamps, and `execution_count` counters. Basic Request ```bash curl "https://api.aitronos.com/v1/streamline/automations?organization_id=org_123" \ -H "Authorization: Bearer $FREDDY_SESSION_TOKEN" ``` ```python import os import requests session = os.environ["FREDDY_SESSION_TOKEN"] response = requests.get( "https://api.aitronos.com/v1/streamline/automations", headers={ "Authorization": f"Bearer {session}" }, params={"organization_id": "org_123"} ) response.raise_for_status() automations = response.json()["automations"] ``` ```javascript const token = process.env.FREDDY_SESSION_TOKEN; const apiKey = process.env.FREDDY_API_KEY; const response = await fetch( "https://api.aitronos.com/v1/streamline/automations?organization_id=org_123", { headers: { Authorization: `Bearer ${apiKey}` } } ); if (!response.ok) throw new Error("Request failed"); const data = await response.json(); ``` With Options ```bash curl "https://api.aitronos.com/v1/streamline/automations?organization_id=org_123&include_inactive=true" \ -H "Authorization: Bearer $FREDDY_SESSION_TOKEN" ``` ```python import os import requests params = { "organization_id": "org_123", "include_inactive": True } headers = {"Authorization": f"Bearer {os.environ['FREDDY_SESSION_TOKEN']}"} result = requests.get( "https://api.aitronos.com/v1/streamline/automations", params=params, headers=headers, timeout=20 ) result.raise_for_status() ``` ```javascript const token = process.env.FREDDY_SESSION_TOKEN; const url = new URL("https://api.aitronos.com/v1/streamline/automations"); url.searchParams.set("organization_id", "org_123"); url.searchParams.set("include_inactive", "true"); const apiKey = process.env.FREDDY_API_KEY; const response = await fetch(url, { headers: { Authorization: `Bearer ${apiKey}` } }); const { automations } = await response.json(); const inactive = automations.filter((item) => item.is_active === false); ``` Advanced ```bash token="$FREDDY_SESSION_TOKEN" endpoint="https://api.aitronos.com/v1/streamline/automations" query="organization_id=org_123&include_inactive=true" curl -s "$endpoint?$query" \ -H "Authorization: Bearer $token" | jq '.automations | map({id, name, upload_method})' ``` ```python import os import requests session = os.environ["FREDDY_SESSION_TOKEN"] url = "https://api.aitronos.com/v1/streamline/automations" target_org = "org_123" response = requests.get( url, headers={"Authorization": f"Bearer {session}"}, params={"organization_id": target_org, "include_inactive": True} ) response.raise_for_status() for automation in response.json()["automations"]: print(f"{automation['name']} ({automation['upload_method']}) => executions {automation['execution_count']}") ``` ```javascript const apiKey = process.env.FREDDY_API_KEY; import https from "node:https"; const token = process.env.FREDDY_SESSION_TOKEN; const payload = new URLSearchParams({ organization_id: "org_123", include_inactive: "true" }); const request = https.request( `${"https://api.aitronos.com/v1/streamline/automations"}?${payload.toString()}`, { method: "GET", headers: { Authorization: `Bearer ${apiKey}`, Accept: "application/json" } }, (res) => { let body = ""; res.on("data", (chunk) => (body += chunk)); res.on("end", () => { const parsed = JSON.parse(body); console.table(parsed.automations.map(({ id, is_active, upload_method }) => ({ id, is_active, upload_method }))); }); } ); request.on("error", console.error); request.end(); ``` **Response:** 200 OK ```json { "automations": [ { "id": "sauto_daily_report", "name": "Daily Report Generation", "is_active": true, "upload_method": "git", "last_executed_at": "2025-11-17T10:00:00Z", "execution_count": 37 }, { "id": "sauto_inventory_cleanup", "name": "Inventory Cleanup", "is_active": false, "upload_method": "upload", "last_executed_at": "2025-11-14T08:00:00Z", "execution_count": 145 } ] } ``` 400 Bad Request ```json { "success": false, "error": { "code": "INVALID_QUERY", "message": "organization_id is required", "status": 400, "trace_id": "req_48da6b1c" } } ``` 401 Unauthorized ```json { "success": false, "error": { "code": "UNAUTHORIZED", "message": "Missing or invalid session token", "status": 401, "trace_id": "req_320af89e" } } ``` 404 Not Found ```json { "success": false, "error": { "code": "ORG_NOT_FOUND", "message": "organization_id org_missing does not exist", "status": 404, "trace_id": "req_c3e4335a" } } ``` 429 Rate Limit ```json { "success": false, "error": { "code": "RATE_LIMIT", "message": "Too many Streamline requests", "status": 429, "retry_after": 30, "trace_id": "req_f871efab" } } ``` 500 Server Error ```json { "success": false, "error": { "code": "INTERNAL_ERROR", "message": "Unexpected Streamline failure", "status": 500, "trace_id": "req_a1c02f47" } } ``` ## Related - [Get automation details](/docs/api-reference/streamline/automations-retrieve) - [Execution history](/docs/api-reference/streamline/automations-list-executions)