curl --request PATCH \
--url https://api.egp.scale.com/v5/evaluations/{evaluation_id} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"name": "<string>",
"description": "<string>",
"tags": [
"<string>"
],
"metadata": {}
}
'import requests
url = "https://api.egp.scale.com/v5/evaluations/{evaluation_id}"
payload = {
"name": "<string>",
"description": "<string>",
"tags": ["<string>"],
"metadata": {}
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>', description: '<string>', tags: ['<string>'], metadata: {}})
};
fetch('https://api.egp.scale.com/v5/evaluations/{evaluation_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.egp.scale.com/v5/evaluations/{evaluation_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'description' => '<string>',
'tags' => [
'<string>'
],
'metadata' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-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.egp.scale.com/v5/evaluations/{evaluation_id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"tags\": [\n \"<string>\"\n ],\n \"metadata\": {}\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-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.patch("https://api.egp.scale.com/v5/evaluations/{evaluation_id}")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"tags\": [\n \"<string>\"\n ],\n \"metadata\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.egp.scale.com/v5/evaluations/{evaluation_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"tags\": [\n \"<string>\"\n ],\n \"metadata\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"created_by": {
"id": "<string>",
"type": "user",
"object": "identity"
},
"tags": [
"<string>"
],
"datasets": [
{
"id": "<string>",
"created_by": {
"id": "<string>",
"type": "user",
"object": "identity"
},
"name": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"tags": [
"<string>"
],
"current_version_num": 123,
"object": "dataset",
"description": "<string>",
"archived_at": "2023-11-07T05:31:56Z"
}
],
"status": "failed",
"object": "evaluation",
"description": "<string>",
"archived_at": "2023-11-07T05:31:56Z",
"status_reason": "<string>",
"progress": {
"workflows": {
"total": 123,
"completed": 123,
"failed": 123,
"pending": 123
},
"items": {
"total": 123,
"successful": 123,
"failed": 123,
"pending": 123,
"failed_items": []
}
},
"tasks": [
{
"configuration": {
"model": "<string>",
"messages": [
{}
],
"top_k": 123,
"frequency_penalty": 123,
"function_call": {},
"functions": [
{}
],
"logit_bias": {},
"logprobs": true,
"max_completion_tokens": 123,
"max_tokens": 123,
"metadata": {},
"modalities": [
"<string>"
],
"n": 123,
"parallel_tool_calls": true,
"prediction": {},
"presence_penalty": 123,
"reasoning_effort": "<string>",
"response_format": {},
"seed": 123,
"stop": "<string>",
"store": true,
"temperature": 123,
"tool_choice": "<string>",
"tools": [
{}
],
"top_logprobs": 123,
"top_p": 123,
"audio": {}
},
"task_type": "chat_completion",
"alias": "chat_completion"
}
],
"metadata": {},
"error_count": 123
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Update or Restore Evaluation
Update an evaluation’s mutable fields, or restore it from the archive.
The action is selected by the request body: a restore request un-archives the evaluation and cascades the restore to its items and dashboards, while any other body applies a partial update to fields such as name, description, tags, and metadata (metadata is applied as an RFC 7396 merge patch). Updating an already-archived evaluation is rejected — restore it first. The evaluation row is locked for the duration of the write to avoid concurrent-update races.
curl --request PATCH \
--url https://api.egp.scale.com/v5/evaluations/{evaluation_id} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"name": "<string>",
"description": "<string>",
"tags": [
"<string>"
],
"metadata": {}
}
'import requests
url = "https://api.egp.scale.com/v5/evaluations/{evaluation_id}"
payload = {
"name": "<string>",
"description": "<string>",
"tags": ["<string>"],
"metadata": {}
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>', description: '<string>', tags: ['<string>'], metadata: {}})
};
fetch('https://api.egp.scale.com/v5/evaluations/{evaluation_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.egp.scale.com/v5/evaluations/{evaluation_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'description' => '<string>',
'tags' => [
'<string>'
],
'metadata' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-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.egp.scale.com/v5/evaluations/{evaluation_id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"tags\": [\n \"<string>\"\n ],\n \"metadata\": {}\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-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.patch("https://api.egp.scale.com/v5/evaluations/{evaluation_id}")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"tags\": [\n \"<string>\"\n ],\n \"metadata\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.egp.scale.com/v5/evaluations/{evaluation_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"tags\": [\n \"<string>\"\n ],\n \"metadata\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"created_by": {
"id": "<string>",
"type": "user",
"object": "identity"
},
"tags": [
"<string>"
],
"datasets": [
{
"id": "<string>",
"created_by": {
"id": "<string>",
"type": "user",
"object": "identity"
},
"name": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"tags": [
"<string>"
],
"current_version_num": 123,
"object": "dataset",
"description": "<string>",
"archived_at": "2023-11-07T05:31:56Z"
}
],
"status": "failed",
"object": "evaluation",
"description": "<string>",
"archived_at": "2023-11-07T05:31:56Z",
"status_reason": "<string>",
"progress": {
"workflows": {
"total": 123,
"completed": 123,
"failed": 123,
"pending": 123
},
"items": {
"total": 123,
"successful": 123,
"failed": 123,
"pending": 123,
"failed_items": []
}
},
"tasks": [
{
"configuration": {
"model": "<string>",
"messages": [
{}
],
"top_k": 123,
"frequency_penalty": 123,
"function_call": {},
"functions": [
{}
],
"logit_bias": {},
"logprobs": true,
"max_completion_tokens": 123,
"max_tokens": 123,
"metadata": {},
"modalities": [
"<string>"
],
"n": 123,
"parallel_tool_calls": true,
"prediction": {},
"presence_penalty": 123,
"reasoning_effort": "<string>",
"response_format": {},
"seed": 123,
"stop": "<string>",
"store": true,
"temperature": 123,
"tool_choice": "<string>",
"tools": [
{}
],
"top_logprobs": 123,
"top_p": 123,
"audio": {}
},
"task_type": "chat_completion",
"alias": "chat_completion"
}
],
"metadata": {},
"error_count": 123
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Headers
Path Parameters
Body
Response
Successful Response
The identity that created the entity.
Show child attributes
Show child attributes
The tags associated with the entity
Show child attributes
Show child attributes
failed, completed, running "evaluation"Reason for evaluation status
Progress of the evaluation's underlying async job
Show child attributes
Show child attributes
Tasks executed during evaluation. Populated with optional task view.
- ChatCompletionEvaluationTask
- GenericInferenceEvaluationTask
- ApplicationVariantV1EvaluationTask
- AgentexOutputEvaluationTask
- MetricEvaluationTask
- AutoEvaluationQuestionTask
- AutoEvaluationGuidedDecodingEvaluationTask
- AutoEvaluationAgentEvaluationTask
- ContributorEvaluationQuestionTask
- CustomFunctionEvaluationTask
Show child attributes
Show child attributes
Metadata key-value pairs for the evaluation
Number of task errors across all items in this evaluation.

