curl --request POST \
--url https://agent-evalserver-production.up.railway.app/api/agents/{id}/test-prompts \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"prompts": [
{
"prompt": "What is your refund policy?",
"expectedAnswer": "Customers can request a refund within 30 days."
},
{
"prompt": "How can customers contact support?",
"expectedAnswer": "Customers can contact support by email or chat."
}
]
}
'import requests
url = "https://agent-evalserver-production.up.railway.app/api/agents/{id}/test-prompts"
payload = { "prompts": [
{
"prompt": "What is your refund policy?",
"expectedAnswer": "Customers can request a refund within 30 days."
},
{
"prompt": "How can customers contact support?",
"expectedAnswer": "Customers can contact support by email or chat."
}
] }
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
prompts: [
{
prompt: 'What is your refund policy?',
expectedAnswer: 'Customers can request a refund within 30 days.'
},
{
prompt: 'How can customers contact support?',
expectedAnswer: 'Customers can contact support by email or chat.'
}
]
})
};
fetch('https://agent-evalserver-production.up.railway.app/api/agents/{id}/test-prompts', 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://agent-evalserver-production.up.railway.app/api/agents/{id}/test-prompts",
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([
'prompts' => [
[
'prompt' => 'What is your refund policy?',
'expectedAnswer' => 'Customers can request a refund within 30 days.'
],
[
'prompt' => 'How can customers contact support?',
'expectedAnswer' => 'Customers can contact support by email or chat.'
]
]
]),
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://agent-evalserver-production.up.railway.app/api/agents/{id}/test-prompts"
payload := strings.NewReader("{\n \"prompts\": [\n {\n \"prompt\": \"What is your refund policy?\",\n \"expectedAnswer\": \"Customers can request a refund within 30 days.\"\n },\n {\n \"prompt\": \"How can customers contact support?\",\n \"expectedAnswer\": \"Customers can contact support by email or chat.\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", 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.post("https://agent-evalserver-production.up.railway.app/api/agents/{id}/test-prompts")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"prompts\": [\n {\n \"prompt\": \"What is your refund policy?\",\n \"expectedAnswer\": \"Customers can request a refund within 30 days.\"\n },\n {\n \"prompt\": \"How can customers contact support?\",\n \"expectedAnswer\": \"Customers can contact support by email or chat.\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://agent-evalserver-production.up.railway.app/api/agents/{id}/test-prompts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"prompts\": [\n {\n \"prompt\": \"What is your refund policy?\",\n \"expectedAnswer\": \"Customers can request a refund within 30 days.\"\n },\n {\n \"prompt\": \"How can customers contact support?\",\n \"expectedAnswer\": \"Customers can contact support by email or chat.\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body[
{
"id": 42,
"prompt": "What is your refund policy?",
"expectedAnswer": "Customers can request a refund within 30 days.",
"testAnswer": null,
"created_at": "2026-06-02T15:10:00Z",
"updated_at": "2026-06-02T15:10:00Z"
},
{
"id": 43,
"prompt": "How can customers contact support?",
"expectedAnswer": "Customers can contact support by email or chat.",
"testAnswer": null,
"created_at": "2026-06-02T15:10:00Z",
"updated_at": "2026-06-02T15:10:00Z"
}
]{
"error": "<string>",
"message": "<string>",
"details": "<string>"
}{
"error": "<string>",
"message": "<string>",
"details": "<string>"
}Add evaluation questions
Add one or more questions your agent should answer during evaluation. Each question can include an optional expected answer.
curl --request POST \
--url https://agent-evalserver-production.up.railway.app/api/agents/{id}/test-prompts \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"prompts": [
{
"prompt": "What is your refund policy?",
"expectedAnswer": "Customers can request a refund within 30 days."
},
{
"prompt": "How can customers contact support?",
"expectedAnswer": "Customers can contact support by email or chat."
}
]
}
'import requests
url = "https://agent-evalserver-production.up.railway.app/api/agents/{id}/test-prompts"
payload = { "prompts": [
{
"prompt": "What is your refund policy?",
"expectedAnswer": "Customers can request a refund within 30 days."
},
{
"prompt": "How can customers contact support?",
"expectedAnswer": "Customers can contact support by email or chat."
}
] }
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
prompts: [
{
prompt: 'What is your refund policy?',
expectedAnswer: 'Customers can request a refund within 30 days.'
},
{
prompt: 'How can customers contact support?',
expectedAnswer: 'Customers can contact support by email or chat.'
}
]
})
};
fetch('https://agent-evalserver-production.up.railway.app/api/agents/{id}/test-prompts', 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://agent-evalserver-production.up.railway.app/api/agents/{id}/test-prompts",
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([
'prompts' => [
[
'prompt' => 'What is your refund policy?',
'expectedAnswer' => 'Customers can request a refund within 30 days.'
],
[
'prompt' => 'How can customers contact support?',
'expectedAnswer' => 'Customers can contact support by email or chat.'
]
]
]),
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://agent-evalserver-production.up.railway.app/api/agents/{id}/test-prompts"
payload := strings.NewReader("{\n \"prompts\": [\n {\n \"prompt\": \"What is your refund policy?\",\n \"expectedAnswer\": \"Customers can request a refund within 30 days.\"\n },\n {\n \"prompt\": \"How can customers contact support?\",\n \"expectedAnswer\": \"Customers can contact support by email or chat.\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", 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.post("https://agent-evalserver-production.up.railway.app/api/agents/{id}/test-prompts")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"prompts\": [\n {\n \"prompt\": \"What is your refund policy?\",\n \"expectedAnswer\": \"Customers can request a refund within 30 days.\"\n },\n {\n \"prompt\": \"How can customers contact support?\",\n \"expectedAnswer\": \"Customers can contact support by email or chat.\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://agent-evalserver-production.up.railway.app/api/agents/{id}/test-prompts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"prompts\": [\n {\n \"prompt\": \"What is your refund policy?\",\n \"expectedAnswer\": \"Customers can request a refund within 30 days.\"\n },\n {\n \"prompt\": \"How can customers contact support?\",\n \"expectedAnswer\": \"Customers can contact support by email or chat.\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body[
{
"id": 42,
"prompt": "What is your refund policy?",
"expectedAnswer": "Customers can request a refund within 30 days.",
"testAnswer": null,
"created_at": "2026-06-02T15:10:00Z",
"updated_at": "2026-06-02T15:10:00Z"
},
{
"id": 43,
"prompt": "How can customers contact support?",
"expectedAnswer": "Customers can contact support by email or chat.",
"testAnswer": null,
"created_at": "2026-06-02T15:10:00Z",
"updated_at": "2026-06-02T15:10:00Z"
}
]{
"error": "<string>",
"message": "<string>",
"details": "<string>"
}{
"error": "<string>",
"message": "<string>",
"details": "<string>"
}Authorizations
Platform API key for authenticated account-level API access
Path Parameters
Evaluation agent ID.
Body
Create one or more prompts to evaluate against an agent.
Prompts to add to the evaluation suite.
Show child attributes
Show child attributes
Response
Test prompts created
Numeric prompt identifier. Use this ID when submitting a result for the prompt.
42
Question or task sent to the evaluated agent.
"What is your refund policy?"
Optional answer used as the reference for evaluation.
"Customers can request a refund within 30 days."
Latest answer captured for this prompt, when available.
"Customers can request a refund within 30 days of purchase."
Creation timestamp.
"2026-06-02T15:10:00Z"
Last update timestamp.
"2026-06-02T15:12:00Z"