建立測試案例
curl --request POST \
--url https://api.pathors.com/v1/projects/{projectId}/test-cases \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"systemPrompt": "<string>",
"maxTurns": 123,
"variables": {},
"acceptanceCriteria": [
{}
]
}
'import requests
url = "https://api.pathors.com/v1/projects/{projectId}/test-cases"
payload = {
"name": "<string>",
"systemPrompt": "<string>",
"maxTurns": 123,
"variables": {},
"acceptanceCriteria": [{}]
}
headers = {
"Authorization": "<authorization>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<authorization>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
systemPrompt: '<string>',
maxTurns: 123,
variables: {},
acceptanceCriteria: [{}]
})
};
fetch('https://api.pathors.com/v1/projects/{projectId}/test-cases', 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.pathors.com/v1/projects/{projectId}/test-cases",
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([
'name' => '<string>',
'systemPrompt' => '<string>',
'maxTurns' => 123,
'variables' => [
],
'acceptanceCriteria' => [
[
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"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.pathors.com/v1/projects/{projectId}/test-cases"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"systemPrompt\": \"<string>\",\n \"maxTurns\": 123,\n \"variables\": {},\n \"acceptanceCriteria\": [\n {}\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<authorization>")
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.pathors.com/v1/projects/{projectId}/test-cases")
.header("Authorization", "<authorization>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"systemPrompt\": \"<string>\",\n \"maxTurns\": 123,\n \"variables\": {},\n \"acceptanceCriteria\": [\n {}\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pathors.com/v1/projects/{projectId}/test-cases")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<authorization>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"systemPrompt\": \"<string>\",\n \"maxTurns\": 123,\n \"variables\": {},\n \"acceptanceCriteria\": [\n {}\n ]\n}"
response = http.request(request)
puts response.read_body建立測試案例
為專案建立新的測試案例
POST
/
v1
/
projects
/
{projectId}
/
test-cases
建立測試案例
curl --request POST \
--url https://api.pathors.com/v1/projects/{projectId}/test-cases \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"systemPrompt": "<string>",
"maxTurns": 123,
"variables": {},
"acceptanceCriteria": [
{}
]
}
'import requests
url = "https://api.pathors.com/v1/projects/{projectId}/test-cases"
payload = {
"name": "<string>",
"systemPrompt": "<string>",
"maxTurns": 123,
"variables": {},
"acceptanceCriteria": [{}]
}
headers = {
"Authorization": "<authorization>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<authorization>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
systemPrompt: '<string>',
maxTurns: 123,
variables: {},
acceptanceCriteria: [{}]
})
};
fetch('https://api.pathors.com/v1/projects/{projectId}/test-cases', 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.pathors.com/v1/projects/{projectId}/test-cases",
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([
'name' => '<string>',
'systemPrompt' => '<string>',
'maxTurns' => 123,
'variables' => [
],
'acceptanceCriteria' => [
[
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"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.pathors.com/v1/projects/{projectId}/test-cases"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"systemPrompt\": \"<string>\",\n \"maxTurns\": 123,\n \"variables\": {},\n \"acceptanceCriteria\": [\n {}\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<authorization>")
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.pathors.com/v1/projects/{projectId}/test-cases")
.header("Authorization", "<authorization>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"systemPrompt\": \"<string>\",\n \"maxTurns\": 123,\n \"variables\": {},\n \"acceptanceCriteria\": [\n {}\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pathors.com/v1/projects/{projectId}/test-cases")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<authorization>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"systemPrompt\": \"<string>\",\n \"maxTurns\": 123,\n \"variables\": {},\n \"acceptanceCriteria\": [\n {}\n ]\n}"
response = http.request(request)
puts response.read_body請求
POST https://api.pathors.com/v1/projects/{projectId}/test-cases
路徑參數
string
required
專案 ID
標頭
string
required
使用您的 Developer Key 進行 Bearer 令牌認證
請求主體
string
required
測試案例的名稱
string
required
測試中用於模擬使用者的系統提示
integer
required
對話的最大輪數(最小值為 1)
object
要注入測試中的變數鍵值對
array
驗收標準描述的陣列(字串)
回應
回傳建立的測試案例,狀態碼為201。
範例
curl -X POST https://api.pathors.com/v1/projects/{projectId}/test-cases \
-H "Authorization: Bearer dk_your_key" \
-H "Content-Type: application/json" \
-d '{
"name": "Greeting flow",
"systemPrompt": "You are a customer asking about pricing",
"maxTurns": 5,
"variables": { "language": "en" },
"acceptanceCriteria": [
"Agent should greet the user",
"Agent should provide pricing info"
]
}'
{
"data": {
"id": "test-case-uuid",
"projectId": "project-uuid",
"name": "Greeting flow",
"systemPrompt": "You are a customer asking about pricing",
"maxTurns": 5,
"variables": { "language": "en" },
"acceptanceCriteria": [
{
"id": "criterion-uuid-1",
"testCaseId": "test-case-uuid",
"description": "Agent should greet the user"
},
{
"id": "criterion-uuid-2",
"testCaseId": "test-case-uuid",
"description": "Agent should provide pricing info"
}
],
"createdAt": "2026-03-23T00:00:00.000Z",
"updatedAt": "2026-03-23T00:00:00.000Z"
}
}
