curl --request GET \
--url https://api.example.com/api/conversations/{conversation_id}/events \
--header 'Content-Type: application/json' \
--header 'X-Session-API-Key: <api-key>' \
--data '[
"<string>"
]'import requests
url = "https://api.example.com/api/conversations/{conversation_id}/events"
payload = ["<string>"]
headers = {
"X-Session-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.get(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'X-Session-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify(['<string>'])
};
fetch('https://api.example.com/api/conversations/{conversation_id}/events', 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.example.com/api/conversations/{conversation_id}/events",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_POSTFIELDS => json_encode([
'<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Session-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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/conversations/{conversation_id}/events"
payload := strings.NewReader("[\n \"<string>\"\n]")
req, _ := http.NewRequest("GET", url, payload)
req.Header.Add("X-Session-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
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.example.com/api/conversations/{conversation_id}/events")
.header("X-Session-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("[\n \"<string>\"\n]")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/conversations/{conversation_id}/events")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Session-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "[\n \"<string>\"\n]"
response = http.request(request)
puts response.read_body[
{
"code": "<string>",
"detail": "<string>",
"kind": "ServerErrorEvent",
"source": "agent",
"id": "<string>",
"parent_id": "<string>",
"timestamp": "<string>"
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"input": "<unknown>"
}
]
}Batch Get Conversation Events
Get a batch of local events given their ids, returning null for any missing item.
curl --request GET \
--url https://api.example.com/api/conversations/{conversation_id}/events \
--header 'Content-Type: application/json' \
--header 'X-Session-API-Key: <api-key>' \
--data '[
"<string>"
]'import requests
url = "https://api.example.com/api/conversations/{conversation_id}/events"
payload = ["<string>"]
headers = {
"X-Session-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.get(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'X-Session-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify(['<string>'])
};
fetch('https://api.example.com/api/conversations/{conversation_id}/events', 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.example.com/api/conversations/{conversation_id}/events",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_POSTFIELDS => json_encode([
'<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Session-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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/conversations/{conversation_id}/events"
payload := strings.NewReader("[\n \"<string>\"\n]")
req, _ := http.NewRequest("GET", url, payload)
req.Header.Add("X-Session-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
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.example.com/api/conversations/{conversation_id}/events")
.header("X-Session-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("[\n \"<string>\"\n]")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/conversations/{conversation_id}/events")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Session-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "[\n \"<string>\"\n]"
response = http.request(request)
puts response.read_body[
{
"code": "<string>",
"detail": "<string>",
"kind": "ServerErrorEvent",
"source": "agent",
"id": "<string>",
"parent_id": "<string>",
"timestamp": "<string>"
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"input": "<unknown>"
}
]
}Authorizations
Path Parameters
Body
Response
Successful Response
- ServerErrorEvent
- ACPToolCallEvent
- Condensation
- CondensationRequest
- CondensationSummaryEvent
- ConversationErrorEvent
- ConversationStateUpdateEvent
- HookExecutionEvent
- LLMCompletionLogEvent
- ActionEvent
- MessageEvent
- AgentErrorEvent
- ObservationEvent
- UserRejectObservation
- SystemPromptEvent
- StreamingDeltaEvent
- TokenEvent
- InterruptEvent
- PauseEvent
Event emitted by the agent server when a server-level error occurs.
This event is used for errors that originate from the agent server itself, such as MCP connection failures, WebSocket errors, or other infrastructure issues. Unlike ConversationErrorEvent which is for conversation-level failures, this event indicates a problem with the server environment.
Code for the error - typically an error type
Details about the error
"ServerErrorEvent"The source of this event
agent, user, environment, hook Unique event id (ULID/UUID)
Parent event id in the conversation tree. None for the root, or for legacy events predating the tree (see EventLog's effective-parent rule). Events sharing a parent_id are sibling branches.
Event timestamp
Was this page helpful?

