Python
import requests
url = "https://app.langwatch.ai/api/suites/{id}/duplicate"
headers = {"X-Auth-Token": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'X-Auth-Token': '<api-key>'}};
fetch('https://app.langwatch.ai/api/suites/{id}/duplicate', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request POST \
--url https://app.langwatch.ai/api/suites/{id}/duplicate \
--header 'X-Auth-Token: <api-key>'{
"id": "<string>",
"name": "<string>",
"slug": "<string>",
"kind": "custom",
"description": "<string>",
"scenarioIds": [
"<string>"
],
"scope": {
"mode": "all"
},
"targets": [
{
"type": "prompt",
"referenceId": "<string>"
}
],
"repeatCount": 123,
"labels": [
"<string>"
],
"createdAt": "<string>",
"updatedAt": "<string>",
"platformUrl": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}Suites
Duplicate a suite
Duplicate a suite (run plan)
POST
/
api
/
suites
/
{id}
/
duplicate
Python
import requests
url = "https://app.langwatch.ai/api/suites/{id}/duplicate"
headers = {"X-Auth-Token": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'X-Auth-Token': '<api-key>'}};
fetch('https://app.langwatch.ai/api/suites/{id}/duplicate', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request POST \
--url https://app.langwatch.ai/api/suites/{id}/duplicate \
--header 'X-Auth-Token: <api-key>'{
"id": "<string>",
"name": "<string>",
"slug": "<string>",
"kind": "custom",
"description": "<string>",
"scenarioIds": [
"<string>"
],
"scope": {
"mode": "all"
},
"targets": [
{
"type": "prompt",
"referenceId": "<string>"
}
],
"repeatCount": 123,
"labels": [
"<string>"
],
"createdAt": "<string>",
"updatedAt": "<string>",
"platformUrl": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}Authorizations
Project API key for sending traces and accessing project-scoped resources. Format: sk-lw-... (no underscore). Obtain one by creating a project via the Admin API or the LangWatch UI.
Path Parameters
Response
Suite duplicated
custom is a hand-assembled run plan; folder is a test suite that groups scenarios filed into it.
Available options:
custom, folder What the run plan covers: all (every active test case), folders (the cases filed in the named test suites), labels (the cases carrying any of the labels), or cases (the scenarioIds below). A dynamic scope is resolved again at every run, so a test case written later runs without editing the plan.
- Option 1
- Option 2
- Option 3
- Option 4
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Last modified on May 19, 2026
Was this page helpful?