curl --request POST \
--url https://api.cekura.ai/test_framework/v1/metrics/{id}/run_reviews/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"evaluation_trigger": "<string>",
"evaluation_trigger_prompt": "<string>",
"evaluation_trigger_custom_code": "<string>",
"description": "<string>",
"custom_code": "<string>",
"prompt": "<string>",
"metric_description_program": "<unknown>",
"metric_description_variables": "<unknown>",
"evaluation_trigger_program": "<unknown>",
"evaluation_trigger_variables": "<unknown>",
"skip_save": false
}
'import requests
url = "https://api.cekura.ai/test_framework/v1/metrics/{id}/run_reviews/"
payload = {
"evaluation_trigger": "<string>",
"evaluation_trigger_prompt": "<string>",
"evaluation_trigger_custom_code": "<string>",
"description": "<string>",
"custom_code": "<string>",
"prompt": "<string>",
"metric_description_program": "<unknown>",
"metric_description_variables": "<unknown>",
"evaluation_trigger_program": "<unknown>",
"evaluation_trigger_variables": "<unknown>",
"skip_save": False
}
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({
evaluation_trigger: '<string>',
evaluation_trigger_prompt: '<string>',
evaluation_trigger_custom_code: '<string>',
description: '<string>',
custom_code: '<string>',
prompt: '<string>',
metric_description_program: '<unknown>',
metric_description_variables: '<unknown>',
evaluation_trigger_program: '<unknown>',
evaluation_trigger_variables: '<unknown>',
skip_save: false
})
};
fetch('https://api.cekura.ai/test_framework/v1/metrics/{id}/run_reviews/', 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.cekura.ai/test_framework/v1/metrics/{id}/run_reviews/",
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([
'evaluation_trigger' => '<string>',
'evaluation_trigger_prompt' => '<string>',
'evaluation_trigger_custom_code' => '<string>',
'description' => '<string>',
'custom_code' => '<string>',
'prompt' => '<string>',
'metric_description_program' => '<unknown>',
'metric_description_variables' => '<unknown>',
'evaluation_trigger_program' => '<unknown>',
'evaluation_trigger_variables' => '<unknown>',
'skip_save' => false
]),
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://api.cekura.ai/test_framework/v1/metrics/{id}/run_reviews/"
payload := strings.NewReader("{\n \"evaluation_trigger\": \"<string>\",\n \"evaluation_trigger_prompt\": \"<string>\",\n \"evaluation_trigger_custom_code\": \"<string>\",\n \"description\": \"<string>\",\n \"custom_code\": \"<string>\",\n \"prompt\": \"<string>\",\n \"metric_description_program\": \"<unknown>\",\n \"metric_description_variables\": \"<unknown>\",\n \"evaluation_trigger_program\": \"<unknown>\",\n \"evaluation_trigger_variables\": \"<unknown>\",\n \"skip_save\": false\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://api.cekura.ai/test_framework/v1/metrics/{id}/run_reviews/")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"evaluation_trigger\": \"<string>\",\n \"evaluation_trigger_prompt\": \"<string>\",\n \"evaluation_trigger_custom_code\": \"<string>\",\n \"description\": \"<string>\",\n \"custom_code\": \"<string>\",\n \"prompt\": \"<string>\",\n \"metric_description_program\": \"<unknown>\",\n \"metric_description_variables\": \"<unknown>\",\n \"evaluation_trigger_program\": \"<unknown>\",\n \"evaluation_trigger_variables\": \"<unknown>\",\n \"skip_save\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cekura.ai/test_framework/v1/metrics/{id}/run_reviews/")
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 \"evaluation_trigger\": \"<string>\",\n \"evaluation_trigger_prompt\": \"<string>\",\n \"evaluation_trigger_custom_code\": \"<string>\",\n \"description\": \"<string>\",\n \"custom_code\": \"<string>\",\n \"prompt\": \"<string>\",\n \"metric_description_program\": \"<unknown>\",\n \"metric_description_variables\": \"<unknown>\",\n \"evaluation_trigger_program\": \"<unknown>\",\n \"evaluation_trigger_variables\": \"<unknown>\",\n \"skip_save\": false\n}"
response = http.request(request)
puts response.read_bodyRun Metric Reviews
Re-evaluate all test sets for this metric with optional overrides. Returns a progress_id to poll for completion.
curl --request POST \
--url https://api.cekura.ai/test_framework/v1/metrics/{id}/run_reviews/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"evaluation_trigger": "<string>",
"evaluation_trigger_prompt": "<string>",
"evaluation_trigger_custom_code": "<string>",
"description": "<string>",
"custom_code": "<string>",
"prompt": "<string>",
"metric_description_program": "<unknown>",
"metric_description_variables": "<unknown>",
"evaluation_trigger_program": "<unknown>",
"evaluation_trigger_variables": "<unknown>",
"skip_save": false
}
'import requests
url = "https://api.cekura.ai/test_framework/v1/metrics/{id}/run_reviews/"
payload = {
"evaluation_trigger": "<string>",
"evaluation_trigger_prompt": "<string>",
"evaluation_trigger_custom_code": "<string>",
"description": "<string>",
"custom_code": "<string>",
"prompt": "<string>",
"metric_description_program": "<unknown>",
"metric_description_variables": "<unknown>",
"evaluation_trigger_program": "<unknown>",
"evaluation_trigger_variables": "<unknown>",
"skip_save": False
}
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({
evaluation_trigger: '<string>',
evaluation_trigger_prompt: '<string>',
evaluation_trigger_custom_code: '<string>',
description: '<string>',
custom_code: '<string>',
prompt: '<string>',
metric_description_program: '<unknown>',
metric_description_variables: '<unknown>',
evaluation_trigger_program: '<unknown>',
evaluation_trigger_variables: '<unknown>',
skip_save: false
})
};
fetch('https://api.cekura.ai/test_framework/v1/metrics/{id}/run_reviews/', 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.cekura.ai/test_framework/v1/metrics/{id}/run_reviews/",
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([
'evaluation_trigger' => '<string>',
'evaluation_trigger_prompt' => '<string>',
'evaluation_trigger_custom_code' => '<string>',
'description' => '<string>',
'custom_code' => '<string>',
'prompt' => '<string>',
'metric_description_program' => '<unknown>',
'metric_description_variables' => '<unknown>',
'evaluation_trigger_program' => '<unknown>',
'evaluation_trigger_variables' => '<unknown>',
'skip_save' => false
]),
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://api.cekura.ai/test_framework/v1/metrics/{id}/run_reviews/"
payload := strings.NewReader("{\n \"evaluation_trigger\": \"<string>\",\n \"evaluation_trigger_prompt\": \"<string>\",\n \"evaluation_trigger_custom_code\": \"<string>\",\n \"description\": \"<string>\",\n \"custom_code\": \"<string>\",\n \"prompt\": \"<string>\",\n \"metric_description_program\": \"<unknown>\",\n \"metric_description_variables\": \"<unknown>\",\n \"evaluation_trigger_program\": \"<unknown>\",\n \"evaluation_trigger_variables\": \"<unknown>\",\n \"skip_save\": false\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://api.cekura.ai/test_framework/v1/metrics/{id}/run_reviews/")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"evaluation_trigger\": \"<string>\",\n \"evaluation_trigger_prompt\": \"<string>\",\n \"evaluation_trigger_custom_code\": \"<string>\",\n \"description\": \"<string>\",\n \"custom_code\": \"<string>\",\n \"prompt\": \"<string>\",\n \"metric_description_program\": \"<unknown>\",\n \"metric_description_variables\": \"<unknown>\",\n \"evaluation_trigger_program\": \"<unknown>\",\n \"evaluation_trigger_variables\": \"<unknown>\",\n \"skip_save\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cekura.ai/test_framework/v1/metrics/{id}/run_reviews/")
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 \"evaluation_trigger\": \"<string>\",\n \"evaluation_trigger_prompt\": \"<string>\",\n \"evaluation_trigger_custom_code\": \"<string>\",\n \"description\": \"<string>\",\n \"custom_code\": \"<string>\",\n \"prompt\": \"<string>\",\n \"metric_description_program\": \"<unknown>\",\n \"metric_description_variables\": \"<unknown>\",\n \"evaluation_trigger_program\": \"<unknown>\",\n \"evaluation_trigger_variables\": \"<unknown>\",\n \"skip_save\": false\n}"
response = http.request(request)
puts response.read_bodyAuthorizations
OAuth access token issued by Cekura for connected apps.
Path Parameters
A unique integer value identifying this metric.
Body
Override the judge provider while running unsaved Labs changes
openai- OpenAIgemini- Geminidspy-gepa-gemini-flash- Dspy Gepa Gemini Flashdeepseek-v4-flash- DeepSeek V4 Flash
openai, gemini, dspy-gepa-gemini-flash, deepseek-v4-flash Override evaluation trigger setting
Override evaluation trigger prompt
Override evaluation trigger implementation
llm_judge- LLM Judgecustom_code- Custom Code
llm_judge, custom_code Override custom-code evaluation trigger
Override metric description
Override metric type
basic- Basic (Deprecated in favor of LLM Judge)custom_prompt- Custom Prompt ( Deprecated in favor of LLM Judge)custom_code- Custom Codellm_judge- LLM Judge
basic, custom_prompt, custom_code, llm_judge Override custom code
Override evaluation prompt
Advanced metric description configuration
Variables for metric description
Advanced trigger configuration
Variables for evaluation trigger
If true, don't save evaluation results to database (used for internal previews)
Response
Returns progress_id for tracking progress