trajectory analysis
Ingest a normalized multi-agent trajectory batch
Atomically ingests up to 5,000 versioned events with idempotency, late-link repair, tenant evidence validation, and explicit incomplete or malformed state.
POST
/
api
/
trajectory-analysis
Ingest a normalized multi-agent trajectory batch
curl --request POST \
--url https://evalgate.com/api/trajectory-analysis \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"schemaVersion": 2,
"idempotencyKey": "<string>",
"events": [
{
"kind": "message",
"occurredAt": "<string>",
"eventKey": "<string>",
"participantKey": "<string>",
"metadata": {},
"environment": "<string>",
"content": "<string>",
"costRecordId": 123,
"modelCallId": "<string>",
"observationKey": "<string>",
"sequence": 123,
"parentEventKey": "<string>",
"toolName": "<string>",
"targetParticipantKey": "<string>",
"toolArguments": {},
"evidenceItemId": 123,
"observationValue": true
}
],
"trajectoryKey": "<string>",
"sourceVariant": "remote",
"sourceRunId": "<string>",
"evaluationRunId": 123,
"participants": [
{
"role": "<string>",
"displayName": "<string>",
"participantKey": "<string>",
"metadata": {},
"framework": "<string>"
}
],
"finalize": false,
"retentionDays": 123
}
'import requests
url = "https://evalgate.com/api/trajectory-analysis"
payload = {
"name": "<string>",
"schemaVersion": 2,
"idempotencyKey": "<string>",
"events": [
{
"kind": "message",
"occurredAt": "<string>",
"eventKey": "<string>",
"participantKey": "<string>",
"metadata": {},
"environment": "<string>",
"content": "<string>",
"costRecordId": 123,
"modelCallId": "<string>",
"observationKey": "<string>",
"sequence": 123,
"parentEventKey": "<string>",
"toolName": "<string>",
"targetParticipantKey": "<string>",
"toolArguments": {},
"evidenceItemId": 123,
"observationValue": True
}
],
"trajectoryKey": "<string>",
"sourceVariant": "remote",
"sourceRunId": "<string>",
"evaluationRunId": 123,
"participants": [
{
"role": "<string>",
"displayName": "<string>",
"participantKey": "<string>",
"metadata": {},
"framework": "<string>"
}
],
"finalize": False,
"retentionDays": 123
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
schemaVersion: 2,
idempotencyKey: '<string>',
events: [
{
kind: 'message',
occurredAt: '<string>',
eventKey: '<string>',
participantKey: '<string>',
metadata: {},
environment: '<string>',
content: '<string>',
costRecordId: 123,
modelCallId: '<string>',
observationKey: '<string>',
sequence: 123,
parentEventKey: '<string>',
toolName: '<string>',
targetParticipantKey: '<string>',
toolArguments: {},
evidenceItemId: 123,
observationValue: true
}
],
trajectoryKey: '<string>',
sourceVariant: 'remote',
sourceRunId: '<string>',
evaluationRunId: 123,
participants: [
{
role: '<string>',
displayName: '<string>',
participantKey: '<string>',
metadata: {},
framework: '<string>'
}
],
finalize: false,
retentionDays: 123
})
};
fetch('https://evalgate.com/api/trajectory-analysis', 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://evalgate.com/api/trajectory-analysis",
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([
'name' => '<string>',
'schemaVersion' => 2,
'idempotencyKey' => '<string>',
'events' => [
[
'kind' => 'message',
'occurredAt' => '<string>',
'eventKey' => '<string>',
'participantKey' => '<string>',
'metadata' => [
],
'environment' => '<string>',
'content' => '<string>',
'costRecordId' => 123,
'modelCallId' => '<string>',
'observationKey' => '<string>',
'sequence' => 123,
'parentEventKey' => '<string>',
'toolName' => '<string>',
'targetParticipantKey' => '<string>',
'toolArguments' => [
],
'evidenceItemId' => 123,
'observationValue' => true
]
],
'trajectoryKey' => '<string>',
'sourceVariant' => 'remote',
'sourceRunId' => '<string>',
'evaluationRunId' => 123,
'participants' => [
[
'role' => '<string>',
'displayName' => '<string>',
'participantKey' => '<string>',
'metadata' => [
],
'framework' => '<string>'
]
],
'finalize' => false,
'retentionDays' => 123
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://evalgate.com/api/trajectory-analysis"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"schemaVersion\": 2,\n \"idempotencyKey\": \"<string>\",\n \"events\": [\n {\n \"kind\": \"message\",\n \"occurredAt\": \"<string>\",\n \"eventKey\": \"<string>\",\n \"participantKey\": \"<string>\",\n \"metadata\": {},\n \"environment\": \"<string>\",\n \"content\": \"<string>\",\n \"costRecordId\": 123,\n \"modelCallId\": \"<string>\",\n \"observationKey\": \"<string>\",\n \"sequence\": 123,\n \"parentEventKey\": \"<string>\",\n \"toolName\": \"<string>\",\n \"targetParticipantKey\": \"<string>\",\n \"toolArguments\": {},\n \"evidenceItemId\": 123,\n \"observationValue\": true\n }\n ],\n \"trajectoryKey\": \"<string>\",\n \"sourceVariant\": \"remote\",\n \"sourceRunId\": \"<string>\",\n \"evaluationRunId\": 123,\n \"participants\": [\n {\n \"role\": \"<string>\",\n \"displayName\": \"<string>\",\n \"participantKey\": \"<string>\",\n \"metadata\": {},\n \"framework\": \"<string>\"\n }\n ],\n \"finalize\": false,\n \"retentionDays\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://evalgate.com/api/trajectory-analysis")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"schemaVersion\": 2,\n \"idempotencyKey\": \"<string>\",\n \"events\": [\n {\n \"kind\": \"message\",\n \"occurredAt\": \"<string>\",\n \"eventKey\": \"<string>\",\n \"participantKey\": \"<string>\",\n \"metadata\": {},\n \"environment\": \"<string>\",\n \"content\": \"<string>\",\n \"costRecordId\": 123,\n \"modelCallId\": \"<string>\",\n \"observationKey\": \"<string>\",\n \"sequence\": 123,\n \"parentEventKey\": \"<string>\",\n \"toolName\": \"<string>\",\n \"targetParticipantKey\": \"<string>\",\n \"toolArguments\": {},\n \"evidenceItemId\": 123,\n \"observationValue\": true\n }\n ],\n \"trajectoryKey\": \"<string>\",\n \"sourceVariant\": \"remote\",\n \"sourceRunId\": \"<string>\",\n \"evaluationRunId\": 123,\n \"participants\": [\n {\n \"role\": \"<string>\",\n \"displayName\": \"<string>\",\n \"participantKey\": \"<string>\",\n \"metadata\": {},\n \"framework\": \"<string>\"\n }\n ],\n \"finalize\": false,\n \"retentionDays\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://evalgate.com/api/trajectory-analysis")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"schemaVersion\": 2,\n \"idempotencyKey\": \"<string>\",\n \"events\": [\n {\n \"kind\": \"message\",\n \"occurredAt\": \"<string>\",\n \"eventKey\": \"<string>\",\n \"participantKey\": \"<string>\",\n \"metadata\": {},\n \"environment\": \"<string>\",\n \"content\": \"<string>\",\n \"costRecordId\": 123,\n \"modelCallId\": \"<string>\",\n \"observationKey\": \"<string>\",\n \"sequence\": 123,\n \"parentEventKey\": \"<string>\",\n \"toolName\": \"<string>\",\n \"targetParticipantKey\": \"<string>\",\n \"toolArguments\": {},\n \"evidenceItemId\": 123,\n \"observationValue\": true\n }\n ],\n \"trajectoryKey\": \"<string>\",\n \"sourceVariant\": \"remote\",\n \"sourceRunId\": \"<string>\",\n \"evaluationRunId\": 123,\n \"participants\": [\n {\n \"role\": \"<string>\",\n \"displayName\": \"<string>\",\n \"participantKey\": \"<string>\",\n \"metadata\": {},\n \"framework\": \"<string>\"\n }\n ],\n \"finalize\": false,\n \"retentionDays\": 123\n}"
response = http.request(request)
puts response.read_body{
"run": {
"id": "<string>",
"organizationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"trajectoryKey": "<string>",
"name": "<string>",
"schemaVersion": 123,
"sourceVariant": "<string>",
"sourceRunId": "<string>",
"evaluationRunId": 123,
"state": "complete",
"missingParts": [
"<string>"
],
"malformedParts": [
"<string>"
],
"lastIdempotencyKey": "<string>",
"contentHash": "<string>",
"createdBy": "<string>",
"finalizedAt": "2023-11-07T05:31:56Z",
"retentionExpiresAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
},
"participants": [
{
"id": "<string>",
"organizationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"trajectoryId": "<string>",
"participantKey": "<string>",
"displayName": "<string>",
"role": "<string>",
"framework": "<string>",
"metadata": {},
"createdAt": "2023-11-07T05:31:56Z"
}
],
"events": [
{
"id": "<string>",
"organizationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"trajectoryId": "<string>",
"eventKey": "<string>",
"kind": "message",
"participantKey": "<string>",
"participantId": "<string>",
"targetParticipantKey": "<string>",
"targetParticipantId": "<string>",
"parentEventId": "<string>",
"parentEventKey": "<string>",
"occurredAt": "2023-11-07T05:31:56Z",
"sequence": 123,
"content": "<string>",
"toolName": "<string>",
"toolArguments": {},
"modelCallId": "<string>",
"costRecordId": 123,
"evidenceItemId": 123,
"environment": "<string>",
"observationKey": "<string>",
"observationValue": true,
"metadata": {},
"contentHash": "<string>",
"createdAt": "2023-11-07T05:31:56Z"
}
],
"scores": [
{
"id": "<string>",
"organizationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"trajectoryId": "<string>",
"scorerKey": "<string>",
"scorerVersion": "<string>",
"inputHash": "<string>",
"result": {
"schemaVersion": 123,
"valid": true,
"score": 123,
"failureModes": [
"inefficient_path"
],
"metrics": {
"actualSteps": 123,
"actualToolCalls": 123,
"actualDurationMs": 123,
"redundancyRatio": 123,
"redundancySteps": 123,
"sequenceSimilarity": 123,
"efficiency": 123,
"toolUsage": 123,
"redundancy": 123,
"latency": 123,
"parallelizationPenalty": 123,
"parallelizationScore": 123,
"requiredToolsMissing": [
"<string>"
],
"forbiddenToolsUsed": [
"<string>"
],
"extraToolsUsed": [
"<string>"
],
"selectedBaselineVersion": "<string>",
"baselineStepP50": 123,
"baselineStepP75": 123,
"baselineToolCallP50": 123,
"baselineToolCallP75": 123,
"baselineDurationP50": 123,
"baselineDurationP75": 123,
"idealExpectedSteps": 123,
"idealExpectedToolCalls": 123
},
"trajectoryId": "<string>",
"behavior": "tool_use",
"taskType": "<string>",
"baselineVersion": "<string>"
},
"createdBy": "<string>",
"createdAt": "2023-11-07T05:31:56Z"
}
],
"reports": [
{
"id": "<string>",
"organizationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"trajectoryId": "<string>",
"scoreResultId": "<string>",
"title": "<string>",
"report": {},
"evidenceHash": "<string>",
"createdBy": "<string>",
"createdAt": "2023-11-07T05:31:56Z"
}
]
}{
"error": {
"message": "<string>",
"details": "<unknown>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"message": "<string>",
"details": "<unknown>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"message": "<string>",
"details": "<unknown>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"message": "<string>",
"details": "<unknown>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"message": "<string>",
"details": "<unknown>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"message": "<string>",
"details": "<unknown>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"message": "<string>",
"details": "<unknown>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Available options:
2 Show child attributes
Show child attributes
Available options:
remote Show child attributes
Show child attributes
Available options:
false ⌘I
Ingest a normalized multi-agent trajectory batch
curl --request POST \
--url https://evalgate.com/api/trajectory-analysis \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"schemaVersion": 2,
"idempotencyKey": "<string>",
"events": [
{
"kind": "message",
"occurredAt": "<string>",
"eventKey": "<string>",
"participantKey": "<string>",
"metadata": {},
"environment": "<string>",
"content": "<string>",
"costRecordId": 123,
"modelCallId": "<string>",
"observationKey": "<string>",
"sequence": 123,
"parentEventKey": "<string>",
"toolName": "<string>",
"targetParticipantKey": "<string>",
"toolArguments": {},
"evidenceItemId": 123,
"observationValue": true
}
],
"trajectoryKey": "<string>",
"sourceVariant": "remote",
"sourceRunId": "<string>",
"evaluationRunId": 123,
"participants": [
{
"role": "<string>",
"displayName": "<string>",
"participantKey": "<string>",
"metadata": {},
"framework": "<string>"
}
],
"finalize": false,
"retentionDays": 123
}
'import requests
url = "https://evalgate.com/api/trajectory-analysis"
payload = {
"name": "<string>",
"schemaVersion": 2,
"idempotencyKey": "<string>",
"events": [
{
"kind": "message",
"occurredAt": "<string>",
"eventKey": "<string>",
"participantKey": "<string>",
"metadata": {},
"environment": "<string>",
"content": "<string>",
"costRecordId": 123,
"modelCallId": "<string>",
"observationKey": "<string>",
"sequence": 123,
"parentEventKey": "<string>",
"toolName": "<string>",
"targetParticipantKey": "<string>",
"toolArguments": {},
"evidenceItemId": 123,
"observationValue": True
}
],
"trajectoryKey": "<string>",
"sourceVariant": "remote",
"sourceRunId": "<string>",
"evaluationRunId": 123,
"participants": [
{
"role": "<string>",
"displayName": "<string>",
"participantKey": "<string>",
"metadata": {},
"framework": "<string>"
}
],
"finalize": False,
"retentionDays": 123
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
schemaVersion: 2,
idempotencyKey: '<string>',
events: [
{
kind: 'message',
occurredAt: '<string>',
eventKey: '<string>',
participantKey: '<string>',
metadata: {},
environment: '<string>',
content: '<string>',
costRecordId: 123,
modelCallId: '<string>',
observationKey: '<string>',
sequence: 123,
parentEventKey: '<string>',
toolName: '<string>',
targetParticipantKey: '<string>',
toolArguments: {},
evidenceItemId: 123,
observationValue: true
}
],
trajectoryKey: '<string>',
sourceVariant: 'remote',
sourceRunId: '<string>',
evaluationRunId: 123,
participants: [
{
role: '<string>',
displayName: '<string>',
participantKey: '<string>',
metadata: {},
framework: '<string>'
}
],
finalize: false,
retentionDays: 123
})
};
fetch('https://evalgate.com/api/trajectory-analysis', 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://evalgate.com/api/trajectory-analysis",
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([
'name' => '<string>',
'schemaVersion' => 2,
'idempotencyKey' => '<string>',
'events' => [
[
'kind' => 'message',
'occurredAt' => '<string>',
'eventKey' => '<string>',
'participantKey' => '<string>',
'metadata' => [
],
'environment' => '<string>',
'content' => '<string>',
'costRecordId' => 123,
'modelCallId' => '<string>',
'observationKey' => '<string>',
'sequence' => 123,
'parentEventKey' => '<string>',
'toolName' => '<string>',
'targetParticipantKey' => '<string>',
'toolArguments' => [
],
'evidenceItemId' => 123,
'observationValue' => true
]
],
'trajectoryKey' => '<string>',
'sourceVariant' => 'remote',
'sourceRunId' => '<string>',
'evaluationRunId' => 123,
'participants' => [
[
'role' => '<string>',
'displayName' => '<string>',
'participantKey' => '<string>',
'metadata' => [
],
'framework' => '<string>'
]
],
'finalize' => false,
'retentionDays' => 123
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://evalgate.com/api/trajectory-analysis"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"schemaVersion\": 2,\n \"idempotencyKey\": \"<string>\",\n \"events\": [\n {\n \"kind\": \"message\",\n \"occurredAt\": \"<string>\",\n \"eventKey\": \"<string>\",\n \"participantKey\": \"<string>\",\n \"metadata\": {},\n \"environment\": \"<string>\",\n \"content\": \"<string>\",\n \"costRecordId\": 123,\n \"modelCallId\": \"<string>\",\n \"observationKey\": \"<string>\",\n \"sequence\": 123,\n \"parentEventKey\": \"<string>\",\n \"toolName\": \"<string>\",\n \"targetParticipantKey\": \"<string>\",\n \"toolArguments\": {},\n \"evidenceItemId\": 123,\n \"observationValue\": true\n }\n ],\n \"trajectoryKey\": \"<string>\",\n \"sourceVariant\": \"remote\",\n \"sourceRunId\": \"<string>\",\n \"evaluationRunId\": 123,\n \"participants\": [\n {\n \"role\": \"<string>\",\n \"displayName\": \"<string>\",\n \"participantKey\": \"<string>\",\n \"metadata\": {},\n \"framework\": \"<string>\"\n }\n ],\n \"finalize\": false,\n \"retentionDays\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://evalgate.com/api/trajectory-analysis")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"schemaVersion\": 2,\n \"idempotencyKey\": \"<string>\",\n \"events\": [\n {\n \"kind\": \"message\",\n \"occurredAt\": \"<string>\",\n \"eventKey\": \"<string>\",\n \"participantKey\": \"<string>\",\n \"metadata\": {},\n \"environment\": \"<string>\",\n \"content\": \"<string>\",\n \"costRecordId\": 123,\n \"modelCallId\": \"<string>\",\n \"observationKey\": \"<string>\",\n \"sequence\": 123,\n \"parentEventKey\": \"<string>\",\n \"toolName\": \"<string>\",\n \"targetParticipantKey\": \"<string>\",\n \"toolArguments\": {},\n \"evidenceItemId\": 123,\n \"observationValue\": true\n }\n ],\n \"trajectoryKey\": \"<string>\",\n \"sourceVariant\": \"remote\",\n \"sourceRunId\": \"<string>\",\n \"evaluationRunId\": 123,\n \"participants\": [\n {\n \"role\": \"<string>\",\n \"displayName\": \"<string>\",\n \"participantKey\": \"<string>\",\n \"metadata\": {},\n \"framework\": \"<string>\"\n }\n ],\n \"finalize\": false,\n \"retentionDays\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://evalgate.com/api/trajectory-analysis")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"schemaVersion\": 2,\n \"idempotencyKey\": \"<string>\",\n \"events\": [\n {\n \"kind\": \"message\",\n \"occurredAt\": \"<string>\",\n \"eventKey\": \"<string>\",\n \"participantKey\": \"<string>\",\n \"metadata\": {},\n \"environment\": \"<string>\",\n \"content\": \"<string>\",\n \"costRecordId\": 123,\n \"modelCallId\": \"<string>\",\n \"observationKey\": \"<string>\",\n \"sequence\": 123,\n \"parentEventKey\": \"<string>\",\n \"toolName\": \"<string>\",\n \"targetParticipantKey\": \"<string>\",\n \"toolArguments\": {},\n \"evidenceItemId\": 123,\n \"observationValue\": true\n }\n ],\n \"trajectoryKey\": \"<string>\",\n \"sourceVariant\": \"remote\",\n \"sourceRunId\": \"<string>\",\n \"evaluationRunId\": 123,\n \"participants\": [\n {\n \"role\": \"<string>\",\n \"displayName\": \"<string>\",\n \"participantKey\": \"<string>\",\n \"metadata\": {},\n \"framework\": \"<string>\"\n }\n ],\n \"finalize\": false,\n \"retentionDays\": 123\n}"
response = http.request(request)
puts response.read_body{
"run": {
"id": "<string>",
"organizationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"trajectoryKey": "<string>",
"name": "<string>",
"schemaVersion": 123,
"sourceVariant": "<string>",
"sourceRunId": "<string>",
"evaluationRunId": 123,
"state": "complete",
"missingParts": [
"<string>"
],
"malformedParts": [
"<string>"
],
"lastIdempotencyKey": "<string>",
"contentHash": "<string>",
"createdBy": "<string>",
"finalizedAt": "2023-11-07T05:31:56Z",
"retentionExpiresAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
},
"participants": [
{
"id": "<string>",
"organizationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"trajectoryId": "<string>",
"participantKey": "<string>",
"displayName": "<string>",
"role": "<string>",
"framework": "<string>",
"metadata": {},
"createdAt": "2023-11-07T05:31:56Z"
}
],
"events": [
{
"id": "<string>",
"organizationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"trajectoryId": "<string>",
"eventKey": "<string>",
"kind": "message",
"participantKey": "<string>",
"participantId": "<string>",
"targetParticipantKey": "<string>",
"targetParticipantId": "<string>",
"parentEventId": "<string>",
"parentEventKey": "<string>",
"occurredAt": "2023-11-07T05:31:56Z",
"sequence": 123,
"content": "<string>",
"toolName": "<string>",
"toolArguments": {},
"modelCallId": "<string>",
"costRecordId": 123,
"evidenceItemId": 123,
"environment": "<string>",
"observationKey": "<string>",
"observationValue": true,
"metadata": {},
"contentHash": "<string>",
"createdAt": "2023-11-07T05:31:56Z"
}
],
"scores": [
{
"id": "<string>",
"organizationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"trajectoryId": "<string>",
"scorerKey": "<string>",
"scorerVersion": "<string>",
"inputHash": "<string>",
"result": {
"schemaVersion": 123,
"valid": true,
"score": 123,
"failureModes": [
"inefficient_path"
],
"metrics": {
"actualSteps": 123,
"actualToolCalls": 123,
"actualDurationMs": 123,
"redundancyRatio": 123,
"redundancySteps": 123,
"sequenceSimilarity": 123,
"efficiency": 123,
"toolUsage": 123,
"redundancy": 123,
"latency": 123,
"parallelizationPenalty": 123,
"parallelizationScore": 123,
"requiredToolsMissing": [
"<string>"
],
"forbiddenToolsUsed": [
"<string>"
],
"extraToolsUsed": [
"<string>"
],
"selectedBaselineVersion": "<string>",
"baselineStepP50": 123,
"baselineStepP75": 123,
"baselineToolCallP50": 123,
"baselineToolCallP75": 123,
"baselineDurationP50": 123,
"baselineDurationP75": 123,
"idealExpectedSteps": 123,
"idealExpectedToolCalls": 123
},
"trajectoryId": "<string>",
"behavior": "tool_use",
"taskType": "<string>",
"baselineVersion": "<string>"
},
"createdBy": "<string>",
"createdAt": "2023-11-07T05:31:56Z"
}
],
"reports": [
{
"id": "<string>",
"organizationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"trajectoryId": "<string>",
"scoreResultId": "<string>",
"title": "<string>",
"report": {},
"evidenceHash": "<string>",
"createdBy": "<string>",
"createdAt": "2023-11-07T05:31:56Z"
}
]
}{
"error": {
"message": "<string>",
"details": "<unknown>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"message": "<string>",
"details": "<unknown>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"message": "<string>",
"details": "<unknown>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"message": "<string>",
"details": "<unknown>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"message": "<string>",
"details": "<unknown>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"message": "<string>",
"details": "<unknown>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"message": "<string>",
"details": "<unknown>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}