curl --request POST \
--url https://api.galtea.ai/evaluations/{id}/claim \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.galtea.ai/evaluations/{id}/claim"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.galtea.ai/evaluations/{id}/claim', 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.galtea.ai/evaluations/{id}/claim",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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://api.galtea.ai/evaluations/{id}/claim"
req, _ := http.NewRequest("POST", 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.post("https://api.galtea.ai/evaluations/{id}/claim")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.galtea.ai/evaluations/{id}/claim")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "eval_123",
"metricId": "metric_123",
"sessionId": "session_123",
"productId": "product_123",
"userId": "user_123",
"status": "SUCCESS",
"inferenceResultId": "ir_123",
"score": 0.95,
"reason": "High quality response",
"error": "<string>",
"canRetry": false,
"creditsUsed": 1,
"judgeInputTokens": 4100,
"judgeOutputTokens": 16800,
"judgeReasoningTokens": 12400,
"conversationSimulatorVersion": "1.0.0",
"humanEvaluatorId": "<string>",
"humanEvaluatorStartedAt": "2023-11-07T05:31:56Z",
"humanScore": 123,
"humanReason": "<string>",
"humanEvaluatorFinishedAt": "2023-11-07T05:31:56Z",
"failedTurns": [
"<string>"
],
"monitorId": "<string>",
"monitorSettledAtTurn": 123,
"monitorSamplingPercentage": 123,
"runId": "<string>",
"deletedAt": "2023-11-07T05:31:56Z",
"evaluatedAt": "2023-11-07T05:31:56Z",
"metricLegacyAt": "2023-11-07T05:31:56Z",
"metricDisabledAt": "2023-11-07T05:31:56Z",
"metricExcludedFromAnalyticsAt": "2023-11-07T05:31:56Z",
"metricExcludedByUserId": "<string>",
"testCaseLegacyAt": "2023-11-07T05:31:56Z",
"scoreBreakdown": {
"version": 123,
"model": "<string>",
"type": "yes_no",
"value": 123,
"confidence": 123,
"pYes": 0.5,
"goodAnswer": "yes",
"probabilities": {},
"levelScores": [
123
],
"doesNotApply": true
},
"confidence": 0.9,
"longInput": true,
"createdAt": "2023-11-07T05:31:56Z"
}{
"error": "Error type",
"message": "Error message description"
}{
"error": "Error type",
"message": "Error message description"
}{
"error": "Error type",
"message": "Error message description"
}{
"error": "Error type",
"message": "Error message description"
}Claim an evaluation for human review or annotation
Claim an evaluation to prevent concurrent editing. For HUMAN_EVALUATION metrics, enforces user group permissions (admins skip). For other metrics, works as an annotation claim open to all org members. Works on any evaluation status. Sets humanEvaluatorStartedAt timestamp. See Evaluations.
curl --request POST \
--url https://api.galtea.ai/evaluations/{id}/claim \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.galtea.ai/evaluations/{id}/claim"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.galtea.ai/evaluations/{id}/claim', 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.galtea.ai/evaluations/{id}/claim",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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://api.galtea.ai/evaluations/{id}/claim"
req, _ := http.NewRequest("POST", 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.post("https://api.galtea.ai/evaluations/{id}/claim")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.galtea.ai/evaluations/{id}/claim")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "eval_123",
"metricId": "metric_123",
"sessionId": "session_123",
"productId": "product_123",
"userId": "user_123",
"status": "SUCCESS",
"inferenceResultId": "ir_123",
"score": 0.95,
"reason": "High quality response",
"error": "<string>",
"canRetry": false,
"creditsUsed": 1,
"judgeInputTokens": 4100,
"judgeOutputTokens": 16800,
"judgeReasoningTokens": 12400,
"conversationSimulatorVersion": "1.0.0",
"humanEvaluatorId": "<string>",
"humanEvaluatorStartedAt": "2023-11-07T05:31:56Z",
"humanScore": 123,
"humanReason": "<string>",
"humanEvaluatorFinishedAt": "2023-11-07T05:31:56Z",
"failedTurns": [
"<string>"
],
"monitorId": "<string>",
"monitorSettledAtTurn": 123,
"monitorSamplingPercentage": 123,
"runId": "<string>",
"deletedAt": "2023-11-07T05:31:56Z",
"evaluatedAt": "2023-11-07T05:31:56Z",
"metricLegacyAt": "2023-11-07T05:31:56Z",
"metricDisabledAt": "2023-11-07T05:31:56Z",
"metricExcludedFromAnalyticsAt": "2023-11-07T05:31:56Z",
"metricExcludedByUserId": "<string>",
"testCaseLegacyAt": "2023-11-07T05:31:56Z",
"scoreBreakdown": {
"version": 123,
"model": "<string>",
"type": "yes_no",
"value": 123,
"confidence": 123,
"pYes": 0.5,
"goodAnswer": "yes",
"probabilities": {},
"levelScores": [
123
],
"doesNotApply": true
},
"confidence": 0.9,
"longInput": true,
"createdAt": "2023-11-07T05:31:56Z"
}{
"error": "Error type",
"message": "Error message description"
}{
"error": "Error type",
"message": "Error message description"
}{
"error": "Error type",
"message": "Error message description"
}{
"error": "Error type",
"message": "Error message description"
}Authorizations
API key authorization. Pass your API key in the Authorization header as a Bearer token. Both new (gsk_*) and legacy (gsk-) API keys are accepted, e.g. Authorization: Bearer gsk_... or Authorization: Bearer gsk-....
Path Parameters
Evaluation ID
"eval_123"
Response
Evaluation claimed successfully
"eval_123"
"metric_123"
"session_123"
Product the evaluated session belongs to
"product_123"
"user_123"
PENDING, PENDING_HUMAN, SUCCESS, FAILED, SKIPPED, CANCELLED, OUTDATED "SUCCESS"
"ir_123"
0.95
"High quality response"
false
1
Tokens the judge received, prompt plus session content
4100
Tokens the judge produced, reasoning included
16800
Reasoning tokens, a subset of judgeOutputTokens
12400
"1.0.0"
User ID of the human evaluator
Human-provided annotation score
Human-provided annotation reason
Timestamp when human evaluation was submitted
Conversation turns that failed
ID of the monitor that dispatched this evaluation
Session turn count when the monitor scored it
Sampling percentage in effect when the monitor scored this session
ID of the run that launched this evaluation
CLASSIFIER only: what the classifier answered; null for every other source.
Show child attributes
Show child attributes
CLASSIFIER only: how sure the classifier was, from 0 to 1; null for every other source. Values do not compare across question types.
0 <= x <= 10.9
True for a CLASSIFIER evaluation whose input ran past what the classifier scores reliably (CLASSIFIER_RELIABLE_INPUT_TOKENS judge input tokens) and that no reviewer has scored; false for every other evaluation.