List chats
curl --request GET \
--url https://api.getcargo.io/v1/ai/chats/list \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.getcargo.io/v1/ai/chats/list"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.getcargo.io/v1/ai/chats/list', 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.getcargo.io/v1/ai/chats/list",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.getcargo.io/v1/ai/chats/list"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.getcargo.io/v1/ai/chats/list")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getcargo.io/v1/ai/chats/list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"chats": [
{
"uuid": "<string>",
"slug": "<string>",
"traceUuid": "<string>",
"workspaceUuid": "<string>",
"userUuid": "<string>",
"agentUuid": "<string>",
"releaseUuid": "<string>",
"name": "<string>",
"trigger": "<unknown>",
"heartbeat": {
"intervalMinutes": 123,
"maxMessages": 123,
"prompt": "<string>"
},
"evaluator": {
"rubric": "<string>",
"threshold": 0.5
},
"activeStreamUuid": "<string>",
"creditsUsedCount": 123,
"harnessSlug": "claudeCode",
"repository": {
"connectorUuid": "<string>",
"repository": "<string>",
"defaultBranch": "<string>",
"rootDirectory": "<string>",
"env": [
{
"key": "<string>",
"type": "public",
"value": "<string>"
}
]
},
"closedAt": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>",
"deletedAt": "<string>",
"lastMessage": {
"uuid": "<string>",
"workspaceUuid": "<string>",
"agentUuid": "<string>",
"releaseUuid": "<string>",
"chatUuid": "<string>",
"userUuid": "<string>",
"status": "pending",
"errorMessage": "<string>",
"type": "user",
"createdAt": "<string>",
"updatedAt": "<string>",
"finishedAt": "<string>",
"deletedAt": "<string>"
}
}
]
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}AI - Chats
List chats
List all chat sessions (GET /ai/chats/list).
GET
/
ai
/
chats
/
list
List chats
curl --request GET \
--url https://api.getcargo.io/v1/ai/chats/list \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.getcargo.io/v1/ai/chats/list"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.getcargo.io/v1/ai/chats/list', 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.getcargo.io/v1/ai/chats/list",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.getcargo.io/v1/ai/chats/list"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.getcargo.io/v1/ai/chats/list")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getcargo.io/v1/ai/chats/list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"chats": [
{
"uuid": "<string>",
"slug": "<string>",
"traceUuid": "<string>",
"workspaceUuid": "<string>",
"userUuid": "<string>",
"agentUuid": "<string>",
"releaseUuid": "<string>",
"name": "<string>",
"trigger": "<unknown>",
"heartbeat": {
"intervalMinutes": 123,
"maxMessages": 123,
"prompt": "<string>"
},
"evaluator": {
"rubric": "<string>",
"threshold": 0.5
},
"activeStreamUuid": "<string>",
"creditsUsedCount": 123,
"harnessSlug": "claudeCode",
"repository": {
"connectorUuid": "<string>",
"repository": "<string>",
"defaultBranch": "<string>",
"rootDirectory": "<string>",
"env": [
{
"key": "<string>",
"type": "public",
"value": "<string>"
}
]
},
"closedAt": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>",
"deletedAt": "<string>",
"lastMessage": {
"uuid": "<string>",
"workspaceUuid": "<string>",
"agentUuid": "<string>",
"releaseUuid": "<string>",
"chatUuid": "<string>",
"userUuid": "<string>",
"status": "pending",
"errorMessage": "<string>",
"type": "user",
"createdAt": "<string>",
"updatedAt": "<string>",
"finishedAt": "<string>",
"deletedAt": "<string>"
}
}
]
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}Authorizations
bearerAuthoauth2
API token from cargo-ai login. Send as Authorization: Bearer <token>.
Query Parameters
Filter chats by agent identifier.
Pattern:
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$Filter chats by release identifier.
Pattern:
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$Filter chats by user identifier.
Pattern:
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$Filter chats by trigger type.
Available options:
connector, draft, web_extension, app, cli, workflow, schedule, chat, native Filter chats by their last message status.
Available options:
pending, generating, success, error, cancelling, cancelled Filter chats by name (partial match).
Case-insensitive partial match on chat name or slug.
Minimum string length:
1Filter chats created after this ISO date.
Filter chats created before this ISO date.
Maximum number of chats to return.
Number of chats to skip.
Response
List chats
List of chats.
Show child attributes
Show child attributes
Was this page helpful?

