Evaluations
Resume Evaluation
Beta. Usable today, but this endpoint can change before it is stable, without a new Kite-Version. Changes are announced before they ship.
Run a failed or canceled run again, from its request.
POST
/
v1
/
evaluations
/
{run_id}
/
resume
Resume Evaluation
curl --request POST \
--url https://api.kiteml.com/v1/evaluations/{run_id}/resume \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.kiteml.com/v1/evaluations/{run_id}/resume"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.kiteml.com/v1/evaluations/{run_id}/resume', 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.kiteml.com/v1/evaluations/{run_id}/resume",
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.kiteml.com/v1/evaluations/{run_id}/resume"
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.kiteml.com/v1/evaluations/{run_id}/resume")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.kiteml.com/v1/evaluations/{run_id}/resume")
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": "<string>",
"status": "queued",
"progress": 0.5,
"tokens": {
"charged": 123,
"refunded": 123
},
"object": "evaluation",
"phase": "<string>",
"status_message": "<string>",
"episodes": {
"done": 123,
"total": 123
},
"error": {
"code": "<string>",
"message": "<string>",
"resumable": true,
"param": "<string>",
"details": {}
},
"spec": {},
"kite_version": "<string>",
"options": {},
"label": "<string>",
"result": {
"verified": true,
"run_id": "<string>",
"manifest_hash": "<string>",
"run_hash": "<string>",
"determinism_verified": true,
"metrics": [
{
"id": "<string>",
"version": "<string>",
"value": 123,
"interval": [
123
],
"n": 123
}
]
},
"download": {
"url": "<string>",
"requires_auth": true,
"filename": "<string>",
"bytes": 123,
"sha256": "<string>",
"expires_at": "<string>"
},
"webhook_metadata": {},
"created_at": "<string>",
"started_at": "<string>",
"completed_at": "<string>",
"links": {}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"request_id": "<string>",
"details": {}
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"request_id": "<string>",
"details": {}
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"request_id": "<string>",
"details": {}
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"request_id": "<string>",
"details": {}
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"request_id": "<string>",
"details": {}
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"request_id": "<string>",
"details": {}
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"request_id": "<string>",
"details": {}
}
}Authorizations
A Kite API key (kite_...), from Platform API → Keys in the dashboard.
Headers
The dated contract your code was written against. Without it you get 2026-09-27; every response says which version served it.
Available options:
2026-09-27, 2026-10-12 Path Parameters
Response
The run, queued again
One run of an SDK spec.
eval_ + a time-ordered ULID (srun_ for one from before the rename)
Available options:
queued, processing, canceling, succeeded, failed, canceled Required range:
0 <= x <= 1Show child attributes
Show child attributes
Available options:
evaluation Allowed value:
"evaluation"materializing, planning, fetching, running, verifying or packaging
Show child attributes
Show child attributes
Show child attributes
Show child attributes
path and name
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
⌘I
Resume Evaluation
curl --request POST \
--url https://api.kiteml.com/v1/evaluations/{run_id}/resume \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.kiteml.com/v1/evaluations/{run_id}/resume"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.kiteml.com/v1/evaluations/{run_id}/resume', 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.kiteml.com/v1/evaluations/{run_id}/resume",
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.kiteml.com/v1/evaluations/{run_id}/resume"
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.kiteml.com/v1/evaluations/{run_id}/resume")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.kiteml.com/v1/evaluations/{run_id}/resume")
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": "<string>",
"status": "queued",
"progress": 0.5,
"tokens": {
"charged": 123,
"refunded": 123
},
"object": "evaluation",
"phase": "<string>",
"status_message": "<string>",
"episodes": {
"done": 123,
"total": 123
},
"error": {
"code": "<string>",
"message": "<string>",
"resumable": true,
"param": "<string>",
"details": {}
},
"spec": {},
"kite_version": "<string>",
"options": {},
"label": "<string>",
"result": {
"verified": true,
"run_id": "<string>",
"manifest_hash": "<string>",
"run_hash": "<string>",
"determinism_verified": true,
"metrics": [
{
"id": "<string>",
"version": "<string>",
"value": 123,
"interval": [
123
],
"n": 123
}
]
},
"download": {
"url": "<string>",
"requires_auth": true,
"filename": "<string>",
"bytes": 123,
"sha256": "<string>",
"expires_at": "<string>"
},
"webhook_metadata": {},
"created_at": "<string>",
"started_at": "<string>",
"completed_at": "<string>",
"links": {}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"request_id": "<string>",
"details": {}
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"request_id": "<string>",
"details": {}
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"request_id": "<string>",
"details": {}
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"request_id": "<string>",
"details": {}
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"request_id": "<string>",
"details": {}
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"request_id": "<string>",
"details": {}
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"request_id": "<string>",
"details": {}
}
}