import { SyllableSDK } from "syllable-sdk";
const syllableSDK = new SyllableSDK({
apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "",
});
async function run() {
const result = await syllableSDK.insights.workflows.listSessions({
workflowId: 939810,
page: 0,
searchFields: [
"session_id",
],
searchFieldValues: [
"Some Object Name",
],
orderBy: "session_id",
startDatetime: "2023-01-01T00:00:00Z",
endDatetime: "2024-01-01T00:00:00Z",
});
console.log(result);
}
run();import os
from syllable_sdk import SyllableSDK, models
with SyllableSDK(
api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""),
) as ss_client:
res = ss_client.insights.workflows.list_sessions(workflow_id=939810, page=0, limit=25, search_fields=[
models.SearchField.SESSION_ID,
], search_field_values=[
"Some Object Name",
], order_by=models.InsightsWorkflowSessionsOrderBy.SESSION_ID, start_datetime="2023-01-01T00:00:00Z", end_datetime="2024-01-01T00:00:00Z")
# Handle response
print(res)curl --request GET \
--url https://api.syllable.cloud/api/v1/insights/workflows/{workflow_id}/sessions \
--header 'Syllable-API-Key: <api-key>'const options = {method: 'GET', headers: {'Syllable-API-Key': '<api-key>'}};
fetch('https://api.syllable.cloud/api/v1/insights/workflows/{workflow_id}/sessions', 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://api.syllable.cloud/api/v1/insights/workflows/{workflow_id}/sessions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Syllable-API-Key: <api-key>"
],
]);
$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://api.syllable.cloud/api/v1/insights/workflows/{workflow_id}/sessions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Syllable-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.syllable.cloud/api/v1/insights/workflows/{workflow_id}/sessions")
.header("Syllable-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.syllable.cloud/api/v1/insights/workflows/{workflow_id}/sessions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Syllable-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"items": [
{
"session_id": 15702,
"queued_at": "2026-09-10T00:00:00Z",
"status": "PENDING",
"analyzed_at": "2026-09-10T00:00:00Z",
"error_message": "LLM timeout",
"results": {
"intent-v2": {
"intents": [
"Pharmacy/Refill",
"Billing"
]
},
"summarizer-v1": {
"summary": [
"Caller returned a call about lab results."
]
}
}
}
],
"page": 0,
"page_size": 25,
"total_pages": 4,
"total_count": 100
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}List Insight Workflow Sessions
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.
import { SyllableSDK } from "syllable-sdk";
const syllableSDK = new SyllableSDK({
apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "",
});
async function run() {
const result = await syllableSDK.insights.workflows.listSessions({
workflowId: 939810,
page: 0,
searchFields: [
"session_id",
],
searchFieldValues: [
"Some Object Name",
],
orderBy: "session_id",
startDatetime: "2023-01-01T00:00:00Z",
endDatetime: "2024-01-01T00:00:00Z",
});
console.log(result);
}
run();import os
from syllable_sdk import SyllableSDK, models
with SyllableSDK(
api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""),
) as ss_client:
res = ss_client.insights.workflows.list_sessions(workflow_id=939810, page=0, limit=25, search_fields=[
models.SearchField.SESSION_ID,
], search_field_values=[
"Some Object Name",
], order_by=models.InsightsWorkflowSessionsOrderBy.SESSION_ID, start_datetime="2023-01-01T00:00:00Z", end_datetime="2024-01-01T00:00:00Z")
# Handle response
print(res)curl --request GET \
--url https://api.syllable.cloud/api/v1/insights/workflows/{workflow_id}/sessions \
--header 'Syllable-API-Key: <api-key>'const options = {method: 'GET', headers: {'Syllable-API-Key': '<api-key>'}};
fetch('https://api.syllable.cloud/api/v1/insights/workflows/{workflow_id}/sessions', 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://api.syllable.cloud/api/v1/insights/workflows/{workflow_id}/sessions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Syllable-API-Key: <api-key>"
],
]);
$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://api.syllable.cloud/api/v1/insights/workflows/{workflow_id}/sessions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Syllable-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.syllable.cloud/api/v1/insights/workflows/{workflow_id}/sessions")
.header("Syllable-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.syllable.cloud/api/v1/insights/workflows/{workflow_id}/sessions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Syllable-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"items": [
{
"session_id": 15702,
"queued_at": "2026-09-10T00:00:00Z",
"status": "PENDING",
"analyzed_at": "2026-09-10T00:00:00Z",
"error_message": "LLM timeout",
"results": {
"intent-v2": {
"intents": [
"Pharmacy/Refill",
"Billing"
]
},
"summarizer-v1": {
"summary": [
"Caller returned a call about lab results."
]
}
}
}
],
"page": 0,
"page_size": 25,
"total_pages": 4,
"total_count": 100
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Path Parameters
Query Parameters
The page number from which to start (0-based)
x >= 00
The maximum number of items to return
x >= 025
String names of fields to search. Correspond by index to search field values
session_id, status "session_id"
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
"Some Object Name"
The field whose value should be used to order the results
session_id, status, started_at, created_at "session_id"
The direction in which to order the results The direction in which to order list results, either ascending or descending.
asc, desc The start datetime for filtering results
"2023-01-01T00:00:00Z"
The end datetime for filtering results
"2024-01-01T00:00:00Z"
Response
Successful Response
List of items returned from the query
Show child attributes
Show child attributes
The page number of the results (0-based)
0
The number of items returned per page
25
The total number of pages of results given the indicated page size
4
The total number of items returned from the query
100

