curl --request PATCH \
--url 'https://api-prod.usefini.com/v2/test-sets/44c1f705-8e1a-4f61-8c4c-d519d37fb6b7/public' \
--header 'Authorization: Bearer fini_your_api_key' \
--header 'Content-Type: application/json' \
--data '{
"name": "Refund regression set",
"description": "Refund-policy and exchange conversations for release checks.",
"conversationIds": [
"a5221094-72d4-4b9c-8d30-2f785b108bd9",
"2dd2b920-f57c-4e92-8a6a-f310d4c8594d"
]
}'
const testSetId = '44c1f705-8e1a-4f61-8c4c-d519d37fb6b7';
const response = await fetch(`https://api-prod.usefini.com/v2/test-sets/${testSetId}/public`, {
method: 'PATCH',
headers: {
Authorization: 'Bearer fini_your_api_key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'Refund regression set',
description: 'Refund-policy and exchange conversations for release checks.',
conversationIds: [
'a5221094-72d4-4b9c-8d30-2f785b108bd9',
'2dd2b920-f57c-4e92-8a6a-f310d4c8594d'
]
})
});
const testSet = await response.json();
import requests
test_set_id = "44c1f705-8e1a-4f61-8c4c-d519d37fb6b7"
response = requests.patch(
f"https://api-prod.usefini.com/v2/test-sets/{test_set_id}/public",
headers={
"Authorization": "Bearer fini_your_api_key",
"Content-Type": "application/json",
},
json={
"name": "Refund regression set",
"description": "Refund-policy and exchange conversations for release checks.",
"conversationIds": [
"a5221094-72d4-4b9c-8d30-2f785b108bd9",
"2dd2b920-f57c-4e92-8a6a-f310d4c8594d",
],
},
)
test_set = response.json()
{
"id": "44c1f705-8e1a-4f61-8c4c-d519d37fb6b7",
"companyId": "1d2a4c9f-59f8-4f9c-bd36-6f12e0d5d927",
"name": "Refund regression set",
"description": "Refund-policy and exchange conversations for release checks.",
"conversationIds": [
"a5221094-72d4-4b9c-8d30-2f785b108bd9",
"2dd2b920-f57c-4e92-8a6a-f310d4c8594d"
],
"criteria": [
{
"id": "96eab02d-3bc3-4b90-ae5b-1a41a1444afa",
"testSetId": "44c1f705-8e1a-4f61-8c4c-d519d37fb6b7",
"companyId": "1d2a4c9f-59f8-4f9c-bd36-6f12e0d5d927",
"defaultCriterionId": null,
"name": "Goal resolution",
"type": "complex_judge",
"judgePrompt": "Judge whether the conversation resolved the user's goal.",
"passPrompt": "The user's goal was resolved.",
"failPrompt": "The user's goal was not resolved.",
"condition": null,
"blocking": true,
"isActive": true,
"createdAt": "2026-07-28T08:56:12.000Z",
"updatedAt": "2026-07-28T08:56:12.000Z"
}
],
"createdBy": null,
"createdAt": "2026-07-28T08:55:32.000Z",
"updatedAt": "2026-07-28T09:10:18.000Z"
}
Test Sets
Update a test set
Update a test set’s name, description, or conversation list.
PATCH
/
v2
/
test-sets
/
{testSetId}
/
public
curl --request PATCH \
--url 'https://api-prod.usefini.com/v2/test-sets/44c1f705-8e1a-4f61-8c4c-d519d37fb6b7/public' \
--header 'Authorization: Bearer fini_your_api_key' \
--header 'Content-Type: application/json' \
--data '{
"name": "Refund regression set",
"description": "Refund-policy and exchange conversations for release checks.",
"conversationIds": [
"a5221094-72d4-4b9c-8d30-2f785b108bd9",
"2dd2b920-f57c-4e92-8a6a-f310d4c8594d"
]
}'
const testSetId = '44c1f705-8e1a-4f61-8c4c-d519d37fb6b7';
const response = await fetch(`https://api-prod.usefini.com/v2/test-sets/${testSetId}/public`, {
method: 'PATCH',
headers: {
Authorization: 'Bearer fini_your_api_key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'Refund regression set',
description: 'Refund-policy and exchange conversations for release checks.',
conversationIds: [
'a5221094-72d4-4b9c-8d30-2f785b108bd9',
'2dd2b920-f57c-4e92-8a6a-f310d4c8594d'
]
})
});
const testSet = await response.json();
import requests
test_set_id = "44c1f705-8e1a-4f61-8c4c-d519d37fb6b7"
response = requests.patch(
f"https://api-prod.usefini.com/v2/test-sets/{test_set_id}/public",
headers={
"Authorization": "Bearer fini_your_api_key",
"Content-Type": "application/json",
},
json={
"name": "Refund regression set",
"description": "Refund-policy and exchange conversations for release checks.",
"conversationIds": [
"a5221094-72d4-4b9c-8d30-2f785b108bd9",
"2dd2b920-f57c-4e92-8a6a-f310d4c8594d",
],
},
)
test_set = response.json()
{
"id": "44c1f705-8e1a-4f61-8c4c-d519d37fb6b7",
"companyId": "1d2a4c9f-59f8-4f9c-bd36-6f12e0d5d927",
"name": "Refund regression set",
"description": "Refund-policy and exchange conversations for release checks.",
"conversationIds": [
"a5221094-72d4-4b9c-8d30-2f785b108bd9",
"2dd2b920-f57c-4e92-8a6a-f310d4c8594d"
],
"criteria": [
{
"id": "96eab02d-3bc3-4b90-ae5b-1a41a1444afa",
"testSetId": "44c1f705-8e1a-4f61-8c4c-d519d37fb6b7",
"companyId": "1d2a4c9f-59f8-4f9c-bd36-6f12e0d5d927",
"defaultCriterionId": null,
"name": "Goal resolution",
"type": "complex_judge",
"judgePrompt": "Judge whether the conversation resolved the user's goal.",
"passPrompt": "The user's goal was resolved.",
"failPrompt": "The user's goal was not resolved.",
"condition": null,
"blocking": true,
"isActive": true,
"createdAt": "2026-07-28T08:56:12.000Z",
"updatedAt": "2026-07-28T08:56:12.000Z"
}
],
"createdBy": null,
"createdAt": "2026-07-28T08:55:32.000Z",
"updatedAt": "2026-07-28T09:10:18.000Z"
}
Updates one or more test set fields.
Headers
string
required
Bearer token containing your Fini workspace API key. Format:
Bearer fini_... The key needs write scope.string
required
application/jsonPath parameters
string
required
Test set ID.
Body parameters
string
New non-empty name.
string | null
New description. Send
null to clear it.string[]
Replacement list of one to 200 existing conversation IDs. Each value must be a UUID.
Response
Returns the updated TestSet object.curl --request PATCH \
--url 'https://api-prod.usefini.com/v2/test-sets/44c1f705-8e1a-4f61-8c4c-d519d37fb6b7/public' \
--header 'Authorization: Bearer fini_your_api_key' \
--header 'Content-Type: application/json' \
--data '{
"name": "Refund regression set",
"description": "Refund-policy and exchange conversations for release checks.",
"conversationIds": [
"a5221094-72d4-4b9c-8d30-2f785b108bd9",
"2dd2b920-f57c-4e92-8a6a-f310d4c8594d"
]
}'
const testSetId = '44c1f705-8e1a-4f61-8c4c-d519d37fb6b7';
const response = await fetch(`https://api-prod.usefini.com/v2/test-sets/${testSetId}/public`, {
method: 'PATCH',
headers: {
Authorization: 'Bearer fini_your_api_key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'Refund regression set',
description: 'Refund-policy and exchange conversations for release checks.',
conversationIds: [
'a5221094-72d4-4b9c-8d30-2f785b108bd9',
'2dd2b920-f57c-4e92-8a6a-f310d4c8594d'
]
})
});
const testSet = await response.json();
import requests
test_set_id = "44c1f705-8e1a-4f61-8c4c-d519d37fb6b7"
response = requests.patch(
f"https://api-prod.usefini.com/v2/test-sets/{test_set_id}/public",
headers={
"Authorization": "Bearer fini_your_api_key",
"Content-Type": "application/json",
},
json={
"name": "Refund regression set",
"description": "Refund-policy and exchange conversations for release checks.",
"conversationIds": [
"a5221094-72d4-4b9c-8d30-2f785b108bd9",
"2dd2b920-f57c-4e92-8a6a-f310d4c8594d",
],
},
)
test_set = response.json()
{
"id": "44c1f705-8e1a-4f61-8c4c-d519d37fb6b7",
"companyId": "1d2a4c9f-59f8-4f9c-bd36-6f12e0d5d927",
"name": "Refund regression set",
"description": "Refund-policy and exchange conversations for release checks.",
"conversationIds": [
"a5221094-72d4-4b9c-8d30-2f785b108bd9",
"2dd2b920-f57c-4e92-8a6a-f310d4c8594d"
],
"criteria": [
{
"id": "96eab02d-3bc3-4b90-ae5b-1a41a1444afa",
"testSetId": "44c1f705-8e1a-4f61-8c4c-d519d37fb6b7",
"companyId": "1d2a4c9f-59f8-4f9c-bd36-6f12e0d5d927",
"defaultCriterionId": null,
"name": "Goal resolution",
"type": "complex_judge",
"judgePrompt": "Judge whether the conversation resolved the user's goal.",
"passPrompt": "The user's goal was resolved.",
"failPrompt": "The user's goal was not resolved.",
"condition": null,
"blocking": true,
"isActive": true,
"createdAt": "2026-07-28T08:56:12.000Z",
"updatedAt": "2026-07-28T08:56:12.000Z"
}
],
"createdBy": null,
"createdAt": "2026-07-28T08:55:32.000Z",
"updatedAt": "2026-07-28T09:10:18.000Z"
}
Was this page helpful?
⌘I

