List conversations
Threads and sessions with activity in the window, newest activity first, keyset paged with after = the previous page’s next_cursor.
curl --request GET \
--url https://api.veri.studio/v1/observability/conversations \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.veri.studio/v1/observability/conversations"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.veri.studio/v1/observability/conversations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"object": "<string>",
"has_more": true,
"data": [
{
"id": "<string>",
"kind": "<string>",
"agent": {
"key": "<string>",
"name": "<string>",
"kind": "<string>"
},
"status": "<string>",
"turns": 123,
"llm_calls": 123,
"tool_calls": 123,
"tool_errors": 123,
"errors": 123,
"prompt_tokens": 123,
"cached_prompt_tokens": 123,
"completion_tokens": 123,
"started_at": "2023-11-07T05:31:56Z",
"last_activity_at": "2023-11-07T05:31:56Z",
"span_strip": [
{
"kind": "<string>",
"ms": 123
}
],
"scores": {
"total": 123,
"failed": 123,
"evaluators": [
"<string>"
]
},
"title": "<string>",
"preview": "<string>",
"deployment_id": "<string>",
"thread_id": "<string>",
"session_id": "<string>",
"environment_id": "<string>",
"cost_usd": 123
}
],
"next_cursor": "<string>"
}Authorizations
API key with the vk_ prefix. Create one from the dashboard.
Query Parameters
Window start (RFC 3339). Default: to minus 24 hours.
Window end (RFC 3339). Default: now.
Only this agent (its key).
session | thread
Only conversations live now.
Only conversations with errors.
Case-insensitive substring of the title, preview or thread id.
Page size, 1..=100 (default 50).
next_cursor of the previous page.
Score filter: only threads with an ok score of this evaluator (id or name; any evaluator when omitted) matching every given bound. Sessions never match a score filter.
Score filter: a categorical label, or true / false for a boolean
score.
Score filter: inclusive lower bound on the numeric value (a Jev noul score's P(yes)).
Score filter: inclusive upper bound on the numeric value (a Jev noul score's P(yes)).
Score filter: inclusive lower bound on the judge's confidence, 0..1.
Score filter: inclusive upper bound on the judge's confidence, 0..1 (the dashboard's "needs review" view uses 0.5).
curl --request GET \
--url https://api.veri.studio/v1/observability/conversations \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.veri.studio/v1/observability/conversations"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.veri.studio/v1/observability/conversations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"object": "<string>",
"has_more": true,
"data": [
{
"id": "<string>",
"kind": "<string>",
"agent": {
"key": "<string>",
"name": "<string>",
"kind": "<string>"
},
"status": "<string>",
"turns": 123,
"llm_calls": 123,
"tool_calls": 123,
"tool_errors": 123,
"errors": 123,
"prompt_tokens": 123,
"cached_prompt_tokens": 123,
"completion_tokens": 123,
"started_at": "2023-11-07T05:31:56Z",
"last_activity_at": "2023-11-07T05:31:56Z",
"span_strip": [
{
"kind": "<string>",
"ms": 123
}
],
"scores": {
"total": 123,
"failed": 123,
"evaluators": [
"<string>"
]
},
"title": "<string>",
"preview": "<string>",
"deployment_id": "<string>",
"thread_id": "<string>",
"session_id": "<string>",
"environment_id": "<string>",
"cost_usd": 123
}
],
"next_cursor": "<string>"
}
