Update and reconcile an evaluation
curl --request PUT \
--url https://forge.coreweave.com/api/distillation/v1/evals/{evalId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"spec": {
"type": "h2h_judge",
"judge_model_ref": "<string>",
"judge_prompt": "You are an intelligent and fair judge of chatbots. Evaluate the following two responses and choose which one is better. If the outputs are of similar quality, you can mark them as a tie.",
"reference_conversation_count": 0
},
"participants": [
{
"kind": "original"
}
],
"reference": {
"kind": "original"
},
"sample_size": 123
}
'import requests
url = "https://forge.coreweave.com/api/distillation/v1/evals/{evalId}"
payload = {
"name": "<string>",
"spec": {
"type": "h2h_judge",
"judge_model_ref": "<string>",
"judge_prompt": "You are an intelligent and fair judge of chatbots. Evaluate the following two responses and choose which one is better. If the outputs are of similar quality, you can mark them as a tie.",
"reference_conversation_count": 0
},
"participants": [{ "kind": "original" }],
"reference": { "kind": "original" },
"sample_size": 123
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
spec: {
type: 'h2h_judge',
judge_model_ref: '<string>',
judge_prompt: 'You are an intelligent and fair judge of chatbots. Evaluate the following two responses and choose which one is better. If the outputs are of similar quality, you can mark them as a tie.',
reference_conversation_count: 0
},
participants: [{kind: 'original'}],
reference: {kind: 'original'},
sample_size: 123
})
};
fetch('https://forge.coreweave.com/api/distillation/v1/evals/{evalId}', 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://forge.coreweave.com/api/distillation/v1/evals/{evalId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'spec' => [
'type' => 'h2h_judge',
'judge_model_ref' => '<string>',
'judge_prompt' => 'You are an intelligent and fair judge of chatbots. Evaluate the following two responses and choose which one is better. If the outputs are of similar quality, you can mark them as a tie.',
'reference_conversation_count' => 0
],
'participants' => [
[
'kind' => 'original'
]
],
'reference' => [
'kind' => 'original'
],
'sample_size' => 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://forge.coreweave.com/api/distillation/v1/evals/{evalId}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"spec\": {\n \"type\": \"h2h_judge\",\n \"judge_model_ref\": \"<string>\",\n \"judge_prompt\": \"You are an intelligent and fair judge of chatbots. Evaluate the following two responses and choose which one is better. If the outputs are of similar quality, you can mark them as a tie.\",\n \"reference_conversation_count\": 0\n },\n \"participants\": [\n {\n \"kind\": \"original\"\n }\n ],\n \"reference\": {\n \"kind\": \"original\"\n },\n \"sample_size\": 123\n}")
req, _ := http.NewRequest("PUT", 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.put("https://forge.coreweave.com/api/distillation/v1/evals/{evalId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"spec\": {\n \"type\": \"h2h_judge\",\n \"judge_model_ref\": \"<string>\",\n \"judge_prompt\": \"You are an intelligent and fair judge of chatbots. Evaluate the following two responses and choose which one is better. If the outputs are of similar quality, you can mark them as a tie.\",\n \"reference_conversation_count\": 0\n },\n \"participants\": [\n {\n \"kind\": \"original\"\n }\n ],\n \"reference\": {\n \"kind\": \"original\"\n },\n \"sample_size\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://forge.coreweave.com/api/distillation/v1/evals/{evalId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"spec\": {\n \"type\": \"h2h_judge\",\n \"judge_model_ref\": \"<string>\",\n \"judge_prompt\": \"You are an intelligent and fair judge of chatbots. Evaluate the following two responses and choose which one is better. If the outputs are of similar quality, you can mark them as a tie.\",\n \"reference_conversation_count\": 0\n },\n \"participants\": [\n {\n \"kind\": \"original\"\n }\n ],\n \"reference\": {\n \"kind\": \"original\"\n },\n \"sample_size\": 123\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"dataset_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"spec": {
"type": "h2h_judge",
"judge_model_ref": "openai/gpt-5.6-sol",
"judge_prompt": "<string>"
},
"participants": [
{
"kind": "original"
}
],
"sample_size": 123,
"status": "queued",
"progress": {
"total": 123,
"queued": 123,
"running": 123,
"completed": 123,
"failed": 123
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"reference": {
"kind": "original"
},
"results": {},
"failure_summary": {}
}{
"error": {
"message": "Project 'missing' not found in entity 'your-team'",
"type": "not_found"
}
}Update and reconcile an evaluation
Preserves unchanged completed cases and queues only added or invalidated work.
PUT
/
evals
/
{evalId}
Update and reconcile an evaluation
curl --request PUT \
--url https://forge.coreweave.com/api/distillation/v1/evals/{evalId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"spec": {
"type": "h2h_judge",
"judge_model_ref": "<string>",
"judge_prompt": "You are an intelligent and fair judge of chatbots. Evaluate the following two responses and choose which one is better. If the outputs are of similar quality, you can mark them as a tie.",
"reference_conversation_count": 0
},
"participants": [
{
"kind": "original"
}
],
"reference": {
"kind": "original"
},
"sample_size": 123
}
'import requests
url = "https://forge.coreweave.com/api/distillation/v1/evals/{evalId}"
payload = {
"name": "<string>",
"spec": {
"type": "h2h_judge",
"judge_model_ref": "<string>",
"judge_prompt": "You are an intelligent and fair judge of chatbots. Evaluate the following two responses and choose which one is better. If the outputs are of similar quality, you can mark them as a tie.",
"reference_conversation_count": 0
},
"participants": [{ "kind": "original" }],
"reference": { "kind": "original" },
"sample_size": 123
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
spec: {
type: 'h2h_judge',
judge_model_ref: '<string>',
judge_prompt: 'You are an intelligent and fair judge of chatbots. Evaluate the following two responses and choose which one is better. If the outputs are of similar quality, you can mark them as a tie.',
reference_conversation_count: 0
},
participants: [{kind: 'original'}],
reference: {kind: 'original'},
sample_size: 123
})
};
fetch('https://forge.coreweave.com/api/distillation/v1/evals/{evalId}', 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://forge.coreweave.com/api/distillation/v1/evals/{evalId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'spec' => [
'type' => 'h2h_judge',
'judge_model_ref' => '<string>',
'judge_prompt' => 'You are an intelligent and fair judge of chatbots. Evaluate the following two responses and choose which one is better. If the outputs are of similar quality, you can mark them as a tie.',
'reference_conversation_count' => 0
],
'participants' => [
[
'kind' => 'original'
]
],
'reference' => [
'kind' => 'original'
],
'sample_size' => 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://forge.coreweave.com/api/distillation/v1/evals/{evalId}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"spec\": {\n \"type\": \"h2h_judge\",\n \"judge_model_ref\": \"<string>\",\n \"judge_prompt\": \"You are an intelligent and fair judge of chatbots. Evaluate the following two responses and choose which one is better. If the outputs are of similar quality, you can mark them as a tie.\",\n \"reference_conversation_count\": 0\n },\n \"participants\": [\n {\n \"kind\": \"original\"\n }\n ],\n \"reference\": {\n \"kind\": \"original\"\n },\n \"sample_size\": 123\n}")
req, _ := http.NewRequest("PUT", 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.put("https://forge.coreweave.com/api/distillation/v1/evals/{evalId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"spec\": {\n \"type\": \"h2h_judge\",\n \"judge_model_ref\": \"<string>\",\n \"judge_prompt\": \"You are an intelligent and fair judge of chatbots. Evaluate the following two responses and choose which one is better. If the outputs are of similar quality, you can mark them as a tie.\",\n \"reference_conversation_count\": 0\n },\n \"participants\": [\n {\n \"kind\": \"original\"\n }\n ],\n \"reference\": {\n \"kind\": \"original\"\n },\n \"sample_size\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://forge.coreweave.com/api/distillation/v1/evals/{evalId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"spec\": {\n \"type\": \"h2h_judge\",\n \"judge_model_ref\": \"<string>\",\n \"judge_prompt\": \"You are an intelligent and fair judge of chatbots. Evaluate the following two responses and choose which one is better. If the outputs are of similar quality, you can mark them as a tie.\",\n \"reference_conversation_count\": 0\n },\n \"participants\": [\n {\n \"kind\": \"original\"\n }\n ],\n \"reference\": {\n \"kind\": \"original\"\n },\n \"sample_size\": 123\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"dataset_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"spec": {
"type": "h2h_judge",
"judge_model_ref": "openai/gpt-5.6-sol",
"judge_prompt": "<string>"
},
"participants": [
{
"kind": "original"
}
],
"sample_size": 123,
"status": "queued",
"progress": {
"total": 123,
"queued": 123,
"running": 123,
"completed": 123,
"failed": 123
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"reference": {
"kind": "original"
},
"results": {},
"failure_summary": {}
}{
"error": {
"message": "Project 'missing' not found in entity 'your-team'",
"type": "not_found"
}
}Authorizations
Headers
Body
application/json
Response
Updated evaluation with a reconciled case batch.
Last modified on September 30, 2026
Was this page helpful?