---
title: "List Insight Workflow Sessions"
method: GET
path: "/api/v1/insights/workflows/{workflow_id}/sessions"
tags: ["insights.workflows"]
---

# List Insight Workflow Sessions

`GET /api/v1/insights/workflows/{workflow_id}/sessions`

## Request

- Base URL: `https://api.syllable.cloud`
- URL: `https://api.syllable.cloud/api/v1/insights/workflows/{workflow_id}/sessions`
- Auth: API key in header `Syllable-API-Key`

List the sessions under a workflow, one row per session, with each tool's
results grouped into a ``results`` dict keyed by tool name.

Sessions come from the workflow's execution queue, so pending, processing and
failed sessions show up too, not just completed ones. A session that was
queued more than once appears only once. Insights reused from another
workflow still show up here.

## Path parameters

- `workflow_id` integer, required

## Query parameters

- `page` integer, nullable: The page number from which to start (0-based)
- `limit` integer: The maximum number of items to return
- `search_fields` string[]: String names of fields to search. Correspond by index to search field values
- `search_field_values` string[]: Values of fields to search. Correspond by index to search fields. Unless field name contains "list", an individual search field value cannot be a list
- `order_by` 'session_id' | 'status' | 'started_at' | 'created_at', nullable: The field whose value should be used to order the results
- `order_by_direction` 'asc' | 'desc': The direction in which to order list results, either ascending or descending.
- `start_datetime` string, nullable: The start datetime for filtering results
- `end_datetime` string, nullable: The end datetime for filtering results

## Response `200`

Successful Response

- ListResponseWorkflowSessionRow
  - `items` WorkflowSessionRow[], required: List of items returned from the query
    - `session_id` integer, required: Session ID
    - `analyzed_at` string, date-time, nullable: When the workflow execution started processing this session; null while the row is still PENDING
    - `queued_at` string, date-time, required: When the session was queued for this workflow
    - `status` string, required: Execution status of this session under the workflow
    - `error_message` string, nullable: Error message from the last processing attempt, if any
    - `results` object: Results per tool, keyed by tool name then insight_key. Each insight_key holds a list of values: a single value comes back as a one-item list.
  - `page` integer, required: The page number of the results (0-based)
  - `page_size` integer, required: The number of items returned per page
  - `total_pages` integer, nullable: The total number of pages of results given the indicated page size
  - `total_count` integer, nullable: The total number of items returned from the query

## Other responses

- `422`: Validation Error

## Changes

> 279 revisions in range; 1 not diffed.

- **2026-09-02** `d2e8aa0eeee4`: 1 info
  - api operation id `insights_workflow_sessions_list` removed and replaced with `insights_workflow_sessions`
- **2026-09-02** `f540862f9840`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/asksyllable/apis/syllablesdk/changes/api/v1/insights/workflows/:workflow_id/sessions/get.md)

---

[API](https://skmtc.dev/asksyllable/apis/syllablesdk.md) - [All operations](https://skmtc.dev/asksyllable/apis/syllablesdk/llms.txt) - [OpenAPI document](https://skmtc.dev/asksyllable/apis/syllablesdk/revisions/879e5c81a183?raw)
