curl --request POST \
--url https://api.example.com/api/v1/webhooks/events/{conversation_id} \
--header 'Content-Type: application/json' \
--header 'X-Access-Token: <api-key>' \
--data '
[
{
"code": "<string>",
"detail": "<string>",
"id": "<string>",
"timestamp": "<string>",
"parent_id": "<string>",
"kind": "ServerErrorEvent"
}
]
'import requests
url = "https://api.example.com/api/v1/webhooks/events/{conversation_id}"
payload = [
{
"code": "<string>",
"detail": "<string>",
"id": "<string>",
"timestamp": "<string>",
"parent_id": "<string>",
"kind": "ServerErrorEvent"
}
]
headers = {
"X-Access-Token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Access-Token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify([
{
code: '<string>',
detail: '<string>',
id: '<string>',
timestamp: '<string>',
parent_id: '<string>',
kind: 'ServerErrorEvent'
}
])
};
fetch('https://api.example.com/api/v1/webhooks/events/{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://api.example.com/api/v1/webhooks/events/{conversation_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
[
'code' => '<string>',
'detail' => '<string>',
'id' => '<string>',
'timestamp' => '<string>',
'parent_id' => '<string>',
'kind' => 'ServerErrorEvent'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Access-Token: <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/v1/webhooks/events/{conversation_id}"
payload := strings.NewReader("[\n {\n \"code\": \"<string>\",\n \"detail\": \"<string>\",\n \"id\": \"<string>\",\n \"timestamp\": \"<string>\",\n \"parent_id\": \"<string>\",\n \"kind\": \"ServerErrorEvent\"\n }\n]")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Access-Token", "<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.post("https://api.example.com/api/v1/webhooks/events/{conversation_id}")
.header("X-Access-Token", "<api-key>")
.header("Content-Type", "application/json")
.body("[\n {\n \"code\": \"<string>\",\n \"detail\": \"<string>\",\n \"id\": \"<string>\",\n \"timestamp\": \"<string>\",\n \"parent_id\": \"<string>\",\n \"kind\": \"ServerErrorEvent\"\n }\n]")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/webhooks/events/{conversation_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Access-Token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "[\n {\n \"code\": \"<string>\",\n \"detail\": \"<string>\",\n \"id\": \"<string>\",\n \"timestamp\": \"<string>\",\n \"parent_id\": \"<string>\",\n \"kind\": \"ServerErrorEvent\"\n }\n]"
response = http.request(request)
puts response.read_body{
"success": true
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}On Event
Webhook callback for when event stream events occur.
curl --request POST \
--url https://api.example.com/api/v1/webhooks/events/{conversation_id} \
--header 'Content-Type: application/json' \
--header 'X-Access-Token: <api-key>' \
--data '
[
{
"code": "<string>",
"detail": "<string>",
"id": "<string>",
"timestamp": "<string>",
"parent_id": "<string>",
"kind": "ServerErrorEvent"
}
]
'import requests
url = "https://api.example.com/api/v1/webhooks/events/{conversation_id}"
payload = [
{
"code": "<string>",
"detail": "<string>",
"id": "<string>",
"timestamp": "<string>",
"parent_id": "<string>",
"kind": "ServerErrorEvent"
}
]
headers = {
"X-Access-Token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Access-Token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify([
{
code: '<string>',
detail: '<string>',
id: '<string>',
timestamp: '<string>',
parent_id: '<string>',
kind: 'ServerErrorEvent'
}
])
};
fetch('https://api.example.com/api/v1/webhooks/events/{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://api.example.com/api/v1/webhooks/events/{conversation_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
[
'code' => '<string>',
'detail' => '<string>',
'id' => '<string>',
'timestamp' => '<string>',
'parent_id' => '<string>',
'kind' => 'ServerErrorEvent'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Access-Token: <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/v1/webhooks/events/{conversation_id}"
payload := strings.NewReader("[\n {\n \"code\": \"<string>\",\n \"detail\": \"<string>\",\n \"id\": \"<string>\",\n \"timestamp\": \"<string>\",\n \"parent_id\": \"<string>\",\n \"kind\": \"ServerErrorEvent\"\n }\n]")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Access-Token", "<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.post("https://api.example.com/api/v1/webhooks/events/{conversation_id}")
.header("X-Access-Token", "<api-key>")
.header("Content-Type", "application/json")
.body("[\n {\n \"code\": \"<string>\",\n \"detail\": \"<string>\",\n \"id\": \"<string>\",\n \"timestamp\": \"<string>\",\n \"parent_id\": \"<string>\",\n \"kind\": \"ServerErrorEvent\"\n }\n]")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/webhooks/events/{conversation_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Access-Token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "[\n {\n \"code\": \"<string>\",\n \"detail\": \"<string>\",\n \"id\": \"<string>\",\n \"timestamp\": \"<string>\",\n \"parent_id\": \"<string>\",\n \"kind\": \"ServerErrorEvent\"\n }\n]"
response = http.request(request)
puts response.read_body{
"success": true
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Path Parameters
Body
- 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.
The source of this event
agent, user, environment, hook Code for the error - typically an error type
Details about the error
Unique event id (ULID/UUID)
Event timestamp
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.
"ServerErrorEvent"Response
Successful Response
Was this page helpful?

