curl --request POST \
--url https://api.cekura.ai/test_framework/v1/results/{id}/rerun/ \
--header 'X-CEKURA-API-KEY: <api-key>'import requests
url = "https://api.cekura.ai/test_framework/v1/results/{id}/rerun/"
headers = {"X-CEKURA-API-KEY": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'X-CEKURA-API-KEY': '<api-key>'}};
fetch('https://api.cekura.ai/test_framework/v1/results/{id}/rerun/', 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/results/{id}/rerun/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"X-CEKURA-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"
"net/http"
"io"
)
func main() {
url := "https://api.cekura.ai/test_framework/v1/results/{id}/rerun/"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("X-CEKURA-API-KEY", "<api-key>")
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/results/{id}/rerun/")
.header("X-CEKURA-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cekura.ai/test_framework/v1/results/{id}/rerun/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-CEKURA-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"name": "<string>",
"id": 123,
"agent": 123,
"agent_name": "<string>",
"agent_inbound": true,
"status": "pending",
"success_rate": 0,
"run_as_text": false,
"is_cronjob": "<string>",
"created_via": "<string>",
"created_by": {
"name": "<string>",
"email": "jsmith@example.com",
"id": 123
},
"api_key": {
"id": 123,
"name": "<string>",
"created_by": {
"name": "<string>",
"email": "jsmith@example.com",
"id": 123
}
},
"runs": {},
"met_expected_outcome_count": "<string>",
"total_expected_outcome_count": "<string>",
"total_runs_count": "<string>",
"completed_runs_count": "<string>",
"success_runs_count": "<string>",
"failed_runs_count": "<string>",
"scenarios": {},
"run_type": "<string>",
"agent_version": {
"history_id": 123,
"version_id": "<string>",
"version_name": "<string>",
"is_current": true
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}Rerun Results
Re-run a test result evaluation
curl --request POST \
--url https://api.cekura.ai/test_framework/v1/results/{id}/rerun/ \
--header 'X-CEKURA-API-KEY: <api-key>'import requests
url = "https://api.cekura.ai/test_framework/v1/results/{id}/rerun/"
headers = {"X-CEKURA-API-KEY": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'X-CEKURA-API-KEY': '<api-key>'}};
fetch('https://api.cekura.ai/test_framework/v1/results/{id}/rerun/', 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/results/{id}/rerun/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"X-CEKURA-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"
"net/http"
"io"
)
func main() {
url := "https://api.cekura.ai/test_framework/v1/results/{id}/rerun/"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("X-CEKURA-API-KEY", "<api-key>")
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/results/{id}/rerun/")
.header("X-CEKURA-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cekura.ai/test_framework/v1/results/{id}/rerun/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-CEKURA-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"name": "<string>",
"id": 123,
"agent": 123,
"agent_name": "<string>",
"agent_inbound": true,
"status": "pending",
"success_rate": 0,
"run_as_text": false,
"is_cronjob": "<string>",
"created_via": "<string>",
"created_by": {
"name": "<string>",
"email": "jsmith@example.com",
"id": 123
},
"api_key": {
"id": 123,
"name": "<string>",
"created_by": {
"name": "<string>",
"email": "jsmith@example.com",
"id": 123
}
},
"runs": {},
"met_expected_outcome_count": "<string>",
"total_expected_outcome_count": "<string>",
"total_runs_count": "<string>",
"completed_runs_count": "<string>",
"success_runs_count": "<string>",
"failed_runs_count": "<string>",
"scenarios": {},
"run_type": "<string>",
"agent_version": {
"history_id": 123,
"version_id": "<string>",
"version_name": "<string>",
"is_current": true
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}Authorizations
API Key Authentication. It should be included in the header of each request.
Path Parameters
A unique integer value identifying this result.
Response
Name of the Result
Example: "Test Result 1"
255Unique identifier for the Result
Example: 123
ID of the AI agent that was tested
Example: 123
Name of the AI agent that was tested
Example: "Test Agent 1"
Whether the agent is configured for inbound calls (true) or outbound calls (false)
Example: true or false
Current status of the result
running- Runningcompleted- Completedfailed- Failedpending- Pendingin_progress- In Progressevaluating- Evaluatingin_queue- In Queuetimeout- Timeoutcancelled- Cancelledscaling_up- Scaling Up
running, completed, failed, pending, in_progress, evaluating, in_queue, timeout, cancelled, scaling_up Percentage of runs that passed, 0 to 100
Whether this test was run in text mode instead of voice mode
Example: true or false
Whether this result was created by a scheduled cronjob
Example: true or false
How this result was started: user (dashboard), api, mcp, cli, sdk, schedule or agent (the Cekura agent). Null when unknown.
The user who started this result, or who created the schedule it ran from. Null for API runs.
Show child attributes
Show child attributes
The API key that started this result as {id, name, created_by}, or null. created_by is the user who created the key, when known.
Show child attributes
Show child attributes
Run summaries for this result. For full run data including transcripts and metric scores, fetch the result detail endpoint — there runs is a dict keyed by run ID.
Show child attributes
Show child attributes
Number of test runs that met the expected outcome criteria
Example: 10
Total number of test runs that were evaluated for expected outcomes
Example: 10
Total number of test runs associated with this result
Example: 10
Number of test runs that have completed successfully
Example: 10
Number of test runs that were marked as successful
Example: 10
Number of test runs that failed or encountered errors
Example: 10
List of scenario names used in the test runs for this result Example:
[
{
"id": 123,
"name": "Scenario 1"
},
{
"id": 456,
"name": "Scenario 2"
}
]
Show child attributes
Show child attributes
Run Execution Type
The agent version (history record) this result ran against, or null.
Show child attributes
Show child attributes
Timestamp when this test result was created
Example: 2021-01-01 00:00:00
Timestamp when this test result was last updated