Update Test Case
curl --request PUT \
--url https://api.pathors.com/v1/projects/{projectId}/test-cases/{testCaseId} \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"systemPrompt": "<string>",
"maxTurns": 123,
"variables": {}
}
'import requests
url = "https://api.pathors.com/v1/projects/{projectId}/test-cases/{testCaseId}"
payload = {
"name": "<string>",
"systemPrompt": "<string>",
"maxTurns": 123,
"variables": {}
}
headers = {
"Authorization": "<authorization>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: '<authorization>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>', systemPrompt: '<string>', maxTurns: 123, variables: {}})
};
fetch('https://api.pathors.com/v1/projects/{projectId}/test-cases/{testCaseId}', 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/{testCaseId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'systemPrompt' => '<string>',
'maxTurns' => 123,
'variables' => [
]
]),
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/{testCaseId}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"systemPrompt\": \"<string>\",\n \"maxTurns\": 123,\n \"variables\": {}\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.pathors.com/v1/projects/{projectId}/test-cases/{testCaseId}")
.header("Authorization", "<authorization>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"systemPrompt\": \"<string>\",\n \"maxTurns\": 123,\n \"variables\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pathors.com/v1/projects/{projectId}/test-cases/{testCaseId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = '<authorization>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"systemPrompt\": \"<string>\",\n \"maxTurns\": 123,\n \"variables\": {}\n}"
response = http.request(request)
puts response.read_body{
"data": {}
}Update Test Case
Update a test case by ID
PUT
/
v1
/
projects
/
{projectId}
/
test-cases
/
{testCaseId}
Update Test Case
curl --request PUT \
--url https://api.pathors.com/v1/projects/{projectId}/test-cases/{testCaseId} \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"systemPrompt": "<string>",
"maxTurns": 123,
"variables": {}
}
'import requests
url = "https://api.pathors.com/v1/projects/{projectId}/test-cases/{testCaseId}"
payload = {
"name": "<string>",
"systemPrompt": "<string>",
"maxTurns": 123,
"variables": {}
}
headers = {
"Authorization": "<authorization>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: '<authorization>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>', systemPrompt: '<string>', maxTurns: 123, variables: {}})
};
fetch('https://api.pathors.com/v1/projects/{projectId}/test-cases/{testCaseId}', 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/{testCaseId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'systemPrompt' => '<string>',
'maxTurns' => 123,
'variables' => [
]
]),
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/{testCaseId}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"systemPrompt\": \"<string>\",\n \"maxTurns\": 123,\n \"variables\": {}\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.pathors.com/v1/projects/{projectId}/test-cases/{testCaseId}")
.header("Authorization", "<authorization>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"systemPrompt\": \"<string>\",\n \"maxTurns\": 123,\n \"variables\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pathors.com/v1/projects/{projectId}/test-cases/{testCaseId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = '<authorization>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"systemPrompt\": \"<string>\",\n \"maxTurns\": 123,\n \"variables\": {}\n}"
response = http.request(request)
puts response.read_body{
"data": {}
}Request
PUT https://api.pathors.com/v1/projects/{projectId}/test-cases/{testCaseId}
Path Parameters
The project ID
The test case ID
Headers
Bearer token using your developer key
Body
Updated name for the test case
Updated system prompt
Updated maximum number of conversation turns (minimum 1)
Updated key-value pairs of variables
Response
The updated test case object.
Example
curl -X PUT https://api.pathors.com/v1/projects/{projectId}/test-cases/{testCaseId} \
-H "Authorization: Bearer dk_your_key" \
-H "Content-Type: application/json" \
-d '{
"name": "Updated greeting flow",
"maxTurns": 10
}'
{
"data": {
"id": "test-case-uuid",
"projectId": "project-uuid",
"name": "Updated greeting flow",
"systemPrompt": "You are a helpful assistant",
"maxTurns": 10,
"variables": {},
"acceptanceCriteria": [],
"createdAt": "2026-03-23T00:00:00.000Z",
"updatedAt": "2026-03-23T00:00:00.000Z"
}
}
⌘I
