curl --request GET \
--url https://app.base44.com/api/apps/{app_id}/agent-configs/conversations/{conversation_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.base44.com/api/apps/{app_id}/agent-configs/conversations/{conversation_id}"
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/apps/{app_id}/agent-configs/conversations/{conversation_id}', 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/apps/{app_id}/agent-configs/conversations/{conversation_id}",
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/apps/{app_id}/agent-configs/conversations/{conversation_id}"
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/apps/{app_id}/agent-configs/conversations/{conversation_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/agent-configs/conversations/{conversation_id}")
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": "68a1d2c3e4f5061728394a5b",
"app_id": "6820f3a4e7b91d003c45a1f2",
"agent_name": "support_agent",
"created_by_id": "68a1d2c3e4f5061728394a6c",
"created_by_email": "jane@acme.com",
"metadata": {
"name": "Order #1042 delivery date"
},
"messages": [
{
"content": "When will order #1042 arrive?",
"hidden": false,
"id": "4f1c2a9e-7b3d-4e8a-9c21-5d6f7a8b9c0d",
"role": "user"
},
{
"content": "Your order ships tomorrow and should arrive by Friday.",
"hidden": false,
"id": "8a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d",
"role": "assistant"
}
],
"message_count": 6,
"credit_count": 1.5,
"created_date": "2026-01-15T09:23:41",
"updated_date": "2026-01-15T09:31:07"
}Get agent conversation
Returns one conversation with one of the app’s agents, with its most recent messages.
The messages are what the app’s user and the agent wrote, so they can hold personal data. They also include what the agent’s tools returned.
This is limited to 120 requests a minute per app for each workspace’s personal API keys, so every key in a workspace shares one allowance. Some workspaces have a different limit.
curl --request GET \
--url https://app.base44.com/api/apps/{app_id}/agent-configs/conversations/{conversation_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.base44.com/api/apps/{app_id}/agent-configs/conversations/{conversation_id}"
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/apps/{app_id}/agent-configs/conversations/{conversation_id}', 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/apps/{app_id}/agent-configs/conversations/{conversation_id}",
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/apps/{app_id}/agent-configs/conversations/{conversation_id}"
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/apps/{app_id}/agent-configs/conversations/{conversation_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/agent-configs/conversations/{conversation_id}")
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": "68a1d2c3e4f5061728394a5b",
"app_id": "6820f3a4e7b91d003c45a1f2",
"agent_name": "support_agent",
"created_by_id": "68a1d2c3e4f5061728394a6c",
"created_by_email": "jane@acme.com",
"metadata": {
"name": "Order #1042 delivery date"
},
"messages": [
{
"content": "When will order #1042 arrive?",
"hidden": false,
"id": "4f1c2a9e-7b3d-4e8a-9c21-5d6f7a8b9c0d",
"role": "user"
},
{
"content": "Your order ships tomorrow and should arrive by Friday.",
"hidden": false,
"id": "8a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d",
"role": "assistant"
}
],
"message_count": 6,
"credit_count": 1.5,
"created_date": "2026-01-15T09:23:41",
"updated_date": "2026-01-15T09:31:07"
}Authorizations
Personal access token, sent as Authorization: Bearer <token>.
Path Parameters
ID of the conversation. Get this from List agent conversation users.
ID of the app whose agents to read.
Response
The conversation and its most recent messages.
One conversation with one of the app's agents, with its messages.
ID of the conversation.
"68a1d2c3e4f5061728394a5b"
ID of the app.
"6820f3a4e7b91d003c45a1f2"
Name of the agent the conversation is with.
"support_agent"
ID of the app user who started the conversation. An anonymous visitor's conversation carries anonymous, guest, an empty string, or null instead.
"68a1d2c3e4f5061728394a6c"
Email of the app user who started the conversation, or null for an anonymous visitor or an app user who no longer exists.
"jane@acme.com"
Free-form data stored with the conversation. It holds whatever the app set when it created the conversation, plus channel details such as a WhatsApp user's phone number.
{ "name": "Order #1042 delivery date" }
Up to the 200 most recent messages, oldest first. Each message has a role of user or assistant and its content. An assistant message also lists the tool_calls the agent made and what each one returned, which can include records from the app's data.
[
{
"content": "When will order #1042 arrive?",
"hidden": false,
"id": "4f1c2a9e-7b3d-4e8a-9c21-5d6f7a8b9c0d",
"role": "user"
},
{
"content": "Your order ships tomorrow and should arrive by Friday.",
"hidden": false,
"id": "8a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d",
"role": "assistant"
}
]
Number of messages in the conversation.
6
Credits charged for the agent's replies in the conversation.
1.5
When the conversation was created, as a UTC timestamp in ISO 8601 format.
"2026-01-15T09:23:41"
When the conversation was last updated, as a UTC timestamp in ISO 8601 format.
"2026-01-15T09:31:07"
Was this page helpful?