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
string
required
The project ID
string
required
The test case ID
Headers
string
required
Bearer token using your developer key
Body
string
Updated name for the test case
string
Updated system prompt
integer
Updated maximum number of conversation turns (minimum 1)
object
Updated key-value pairs of variables
Response
object
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
