curl --request GET \
--url https://app.base44.com/api/agents/{agent_id}/conversations \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.base44.com/api/agents/{agent_id}/conversations"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.base44.com/api/agents/{agent_id}/conversations', 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://app.base44.com/api/agents/{agent_id}/conversations",
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://app.base44.com/api/agents/{agent_id}/conversations"
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://app.base44.com/api/agents/{agent_id}/conversations")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/agents/{agent_id}/conversations")
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[
{
"id": "68a1c2e4f0b9d3002e7a5c11",
"title": "Weekly sales summary",
"metadata": {
"source": "crm-sync"
},
"created_date": "2026-08-01T09:15:00Z",
"updated_date": "2026-08-02T14:30:00Z"
}
]List Superagent conversations
Lists your conversations with a Superagent.
The list holds at most one conversation, your main conversation with the agent. If you own the agent, it’s the conversation you chat in inside Base44. The list is empty until that conversation exists, which Create Superagent conversation makes sure of. Read its messages with Get Superagent conversation.
curl --request GET \
--url https://app.base44.com/api/agents/{agent_id}/conversations \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.base44.com/api/agents/{agent_id}/conversations"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.base44.com/api/agents/{agent_id}/conversations', 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://app.base44.com/api/agents/{agent_id}/conversations",
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://app.base44.com/api/agents/{agent_id}/conversations"
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://app.base44.com/api/agents/{agent_id}/conversations")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/agents/{agent_id}/conversations")
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[
{
"id": "68a1c2e4f0b9d3002e7a5c11",
"title": "Weekly sales summary",
"metadata": {
"source": "crm-sync"
},
"created_date": "2026-08-01T09:15:00Z",
"updated_date": "2026-08-02T14:30:00Z"
}
]Authorizations
Personal access token, sent as Authorization: Bearer <token>.
Path Parameters
ID of the Superagent. It's the agent's app ID, shown in the agent's developer settings.
Response
Your conversations with the agent.
ID of the conversation.
"68a1c2e4f0b9d3002e7a5c11"
Title Base44 generates from the conversation, or null until one is generated.
"Weekly sales summary"
Metadata stored on the conversation, including what you sent to Create Superagent conversation when it created it.
{ "source": "crm-sync" }
Time the conversation was created, as a UTC timestamp in ISO 8601 format.
"2026-08-01T09:15:00Z"
Time the conversation last changed, as a UTC timestamp in ISO 8601 format.
"2026-08-02T14:30:00Z"
Was this page helpful?