Get Conversation Event
curl --request GET \
--url https://api.example.com/api/conversations/{conversation_id}/events/{event_id} \
--header 'X-Session-API-Key: <api-key>'import requests
url = "https://api.example.com/api/conversations/{conversation_id}/events/{event_id}"
headers = {"X-Session-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Session-API-Key': '<api-key>'}};
fetch('https://api.example.com/api/conversations/{conversation_id}/events/{event_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://api.example.com/api/conversations/{conversation_id}/events/{event_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 => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/conversations/{conversation_id}/events/{event_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Session-API-Key", "<api-key>")
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/{event_id}")
.header("X-Session-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/conversations/{conversation_id}/events/{event_id}")
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>'
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>"
}
]
}Events
Get Conversation Event
Get a local event given an id
GET
/
api
/
conversations
/
{conversation_id}
/
events
/
{event_id}
Get Conversation Event
curl --request GET \
--url https://api.example.com/api/conversations/{conversation_id}/events/{event_id} \
--header 'X-Session-API-Key: <api-key>'import requests
url = "https://api.example.com/api/conversations/{conversation_id}/events/{event_id}"
headers = {"X-Session-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Session-API-Key': '<api-key>'}};
fetch('https://api.example.com/api/conversations/{conversation_id}/events/{event_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://api.example.com/api/conversations/{conversation_id}/events/{event_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 => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/conversations/{conversation_id}/events/{event_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Session-API-Key", "<api-key>")
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/{event_id}")
.header("X-Session-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/conversations/{conversation_id}/events/{event_id}")
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>'
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
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
Allowed value:
"ServerErrorEvent"The source of this event
Available options:
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?

